From 140509672377e12954002715c23b219d8250bbad Mon Sep 17 00:00:00 2001 From: spessasus Date: Wed, 30 Oct 2024 01:46:47 +0100 Subject: [PATCH] Life support patch Minor QoL changes moved the panning algorithm fixes #71 fixes #67 Should i release v3.22? or wait until write dls is completed? --- package.json | 2 +- .../synthetizer/synthetizer.js | 32 ++++++++++--- .../synthetizer/worklet_processor.min.js | 20 ++++---- .../worklet_system/main_processor.js | 7 ++- .../worklet_methods/controller_control.js | 4 +- .../worklet_methods/snapshot.js | 1 + .../worklet_methods/voice_control.js | 21 ++------- .../worklet_utilities/stereo_panner.js | 47 ++++++++++--------- src/website/js/locale/locale_files/README.md | 12 ++--- .../locale_en/settings/settings.js | 3 +- .../locale_pl/settings/settings.js | 3 +- .../settings_ui/handlers/interface_handler.js | 7 +++ src/website/js/settings_ui/settings_html.js | 3 +- .../synthesizer_ui/methods/effects_config.js | 3 +- .../synthesizer_ui/methods/synthui_meter.js | 6 +++ .../methods/synthui_selector.js | 6 ++- src/website/minified/demo_main.min.js | 47 ++++++++++--------- src/website/minified/local_main.min.js | 39 +++++++-------- 18 files changed, 149 insertions(+), 114 deletions(-) diff --git a/package.json b/package.json index de2ab009..8cb135b4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "SpessaSynth", - "version": "3.21.13", + "version": "3.21.14", "type": "module", "scripts": { "start": "node src/website/server/server.js" diff --git a/src/spessasynth_lib/synthetizer/synthetizer.js b/src/spessasynth_lib/synthetizer/synthetizer.js index 49faf477..eb02cf90 100644 --- a/src/spessasynth_lib/synthetizer/synthetizer.js +++ b/src/spessasynth_lib/synthetizer/synthetizer.js @@ -127,6 +127,24 @@ export class Synthetizer processorChannelCount = [32]; } + // check for config data in snapshot + if (startRenderingData?.snapshot?.effectsConfig !== undefined) + { + /** + * @type {EffectsConfig} + */ + this.effectsConfig = startRenderingData.snapshot.effectsConfig; + // remove from config as it can't be cloned + delete startRenderingData.snapshot.effectsConfig; + } + else + { + /** + * @type {EffectsConfig} + */ + this.effectsConfig = effectsConfig; + } + // first two outputs: reverb, chorsu, the others are the channel outputs try { @@ -143,6 +161,7 @@ export class Synthetizer } catch (e) { + console.error(e); throw new Error("Could not create the audioWorklet. Did you forget to addModule()?"); } @@ -175,18 +194,17 @@ export class Synthetizer * @type {function(WorkletSequencerReturnMessageType, any)} */ this.sequencerCallbackFunction = undefined; - // add reverb - if (effectsConfig.reverbEnabled && !oneOutputMode) + if (this.effectsConfig.reverbEnabled && !oneOutputMode) { - this.reverbProcessor = getReverbProcessor(this.context, effectsConfig.reverbImpulseResponse); + this.reverbProcessor = getReverbProcessor(this.context, this.effectsConfig.reverbImpulseResponse); this.reverbProcessor.connect(targetNode); this.worklet.connect(this.reverbProcessor, 0); } - if (effectsConfig.chorusEnabled && !oneOutputMode) + if (this.effectsConfig.chorusEnabled && !oneOutputMode) { - this.chorusProcessor = new FancyChorus(targetNode, effectsConfig.chorusConfig); + this.chorusProcessor = new FancyChorus(targetNode, this.effectsConfig.chorusConfig); this.worklet.connect(this.chorusProcessor.input, 1); } @@ -361,6 +379,7 @@ export class Synthetizer this._snapshotCallback = s => { this._snapshotCallback = undefined; + s.effectsConfig = this.effectsConfig; resolve(s); }; this.post({ @@ -821,6 +840,7 @@ export class Synthetizer setReverbResponse(buffer) { this.reverbProcessor.buffer = buffer; + this.effectsConfig.reverbImpulseResponse = buffer; } /** @@ -829,12 +849,12 @@ export class Synthetizer */ setChorusConfig(config) { - console.log(config); this.worklet.disconnect(this.chorusProcessor.input); this.chorusProcessor.delete(); delete this.chorusProcessor; this.chorusProcessor = new FancyChorus(this.targetNode, config); this.worklet.connect(this.chorusProcessor.input, 1); + this.effectsConfig.chorusConfig = config; } reverbateEverythingBecauseWhyNot() diff --git a/src/spessasynth_lib/synthetizer/worklet_processor.min.js b/src/spessasynth_lib/synthetizer/worklet_processor.min.js index 04fcd89d..fa272ff4 100644 --- a/src/spessasynth_lib/synthetizer/worklet_processor.min.js +++ b/src/spessasynth_lib/synthetizer/worklet_processor.min.js @@ -1,18 +1,18 @@ -var hs=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(A,e)=>(typeof require<"u"?require:A)[e]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Y=class extends Uint8Array{currentIndex;constructor(A){super(A),this.currentIndex=0}};function Fe(t){let A=t.reduce((n,o)=>n+o.length,0),e=new Y(A),s=0;for(let n of t)e.set(n,s),s+=n.length;return e}function yt(t){t=Math.floor(t);let A=Math.floor(t/60),e=Math.round(t-A*60);return{minutes:A,seconds:e,time:`${A.toString().padStart(2,"0")}:${e.toString().padStart(2,"0")}`}}function Qs(t){return t.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}function uA(t){let A="";for(let e=0;e=128&&A<=224&&(s=e,n=A),{status:n,channel:s}}var p={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},ls={8:2,9:2,10:2,11:2,12:1,13:1,14:2};var eA={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},Ce={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},TA=-1,pA={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var us=!1,ds=!0,Ke=!1,fs=!0;function ms(t,A,e,s){us=t,ds=A,Ke=e,fs=s}function m(...t){us&&console.info(...t)}function T(...t){ds&&console.warn(...t)}function ps(...t){fs&&console.table(...t)}function ne(...t){Ke&&console.group(...t)}function yA(...t){Ke&&console.groupCollapsed(...t)}function Z(){Ke&&console.groupEnd()}var Be={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var I={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},U=[];U[I.startAddrsOffset]={min:0,max:32768,def:0};U[I.endAddrOffset]={min:-32768,max:32768,def:0};U[I.startloopAddrsOffset]={min:-32768,max:32768,def:0};U[I.endloopAddrsOffset]={min:-32768,max:32768,def:0};U[I.startAddrsCoarseOffset]={min:0,max:32768,def:0};U[I.modLfoToPitch]={min:-12e3,max:12e3,def:0};U[I.vibLfoToPitch]={min:-12e3,max:12e3,def:0};U[I.modEnvToPitch]={min:-12e3,max:12e3,def:0};U[I.initialFilterFc]={min:1500,max:13500,def:13500};U[I.initialFilterQ]={min:0,max:960,def:0};U[I.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};U[I.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};U[I.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};U[I.modLfoToVolume]={min:-960,max:960,def:0};U[I.chorusEffectsSend]={min:0,max:1e3,def:0};U[I.reverbEffectsSend]={min:0,max:1e3,def:0};U[I.pan]={min:-500,max:500,def:0};U[I.delayModLFO]={min:-12e3,max:5e3,def:-12e3};U[I.freqModLFO]={min:-16e3,max:4500,def:0};U[I.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};U[I.freqVibLFO]={min:-16e3,max:4500,def:0};U[I.delayModEnv]={min:-32768,max:5e3,def:-32768};U[I.attackModEnv]={min:-32768,max:8e3,def:-32768};U[I.holdModEnv]={min:-12e3,max:5e3,def:-12e3};U[I.decayModEnv]={min:-12e3,max:8e3,def:-12e3};U[I.sustainModEnv]={min:0,max:1e3,def:0};U[I.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};U[I.keyNumToModEnvHold]={min:-1200,max:1200,def:0};U[I.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};U[I.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};U[I.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};U[I.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};U[I.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};U[I.sustainVolEnv]={min:0,max:1440,def:0};U[I.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};U[I.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};U[I.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};U[I.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};U[I.keyNum]={min:-1,max:127,def:-1};U[I.velocity]={min:-1,max:127,def:-1};U[I.initialAttenuation]={min:-250,max:1440,def:0};U[I.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};U[I.coarseTune]={min:-120,max:120,def:0};U[I.fineTune]={min:-12700,max:12700,def:0};U[I.scaleTuning]={min:0,max:1200,def:100};U[I.exclusiveClass]={min:0,max:99999,def:0};U[I.overridingRootKey]={min:-1,max:127,def:-1};var L=class{generatorType=I.INVALID;generatorValue=0;constructor(A=I.INVALID,e=0){if(this.generatorType=A,e===void 0)throw new Error("No value provided.");let s=U[A];this.generatorValue=Math.round(e),s!==void 0&&(this.generatorValue=Math.max(s.min,Math.min(s.max,this.generatorValue)))}};function ys(t,A,e){let s=U[t]||{min:0,max:32768,def:0},n=A.find(B=>B.generatorType===t),o=0;n&&(o=n.generatorValue);let g=e.find(B=>B.generatorType===t),E=s.def;g&&(E=g.generatorValue);let h=E+o;return t===I.initialAttenuation?h:Math.max(s.min,Math.min(s.max,h))}var K={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},cA={linear:0,concave:1,convex:2,switch:3},j=class t{currentValue=0;constructor(A){this.sourceEnum=A.srcEnum,this.modulatorDestination=A.dest,this.secondarySourceEnum=A.secSrcEnum,this.transformAmount=A.amt,this.transformType=A.transform,this.modulatorDestination>58&&(this.modulatorDestination=I.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===I.reverbEffectsSend||this.modulatorDestination===I.chorusEffectsSend)}static copy(A){return new t({srcEnum:A.sourceEnum,secSrcEnum:A.secondarySourceEnum,transform:A.transformType,amt:A.transformAmount,dest:A.modulatorDestination})}static isIdentical(A,e){return A.sourceEnum===e.sourceEnum&&A.modulatorDestination===e.modulatorDestination&&A.secondarySourceEnum===e.secondarySourceEnum&&A.transformType===e.transformType}sumTransform(A){return new t({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+A.transformAmount})}debugString(){function A(n,o){return Object.keys(n).find(g=>n[g]===o)}let e=A(cA,this.sourceCurveType);e+=this.sourcePolarity===0?" unipolar ":" bipolar ",e+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?e+=A(p,this.sourceIndex):e+=A(K,this.sourceIndex);let s=A(cA,this.secSrcCurveType);return s+=this.secSrcPolarity===0?" unipolar ":" bipolar ",s+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?s+=A(p,this.secSrcIndex):s+=A(K,this.secSrcIndex),`Modulator: +var hs=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(A,e)=>(typeof require<"u"?require:A)[e]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Y=class extends Uint8Array{currentIndex;constructor(A){super(A),this.currentIndex=0}};function Fe(t){let A=t.reduce((n,o)=>n+o.length,0),e=new Y(A),s=0;for(let n of t)e.set(n,s),s+=n.length;return e}function yt(t){t=Math.floor(t);let A=Math.floor(t/60),e=Math.round(t-A*60);return{minutes:A,seconds:e,time:`${A.toString().padStart(2,"0")}:${e.toString().padStart(2,"0")}`}}function Qs(t){return t.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}function lA(t){let A="";for(let e=0;e=128&&A<=224&&(s=e,n=A),{status:n,channel:s}}var p={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},ls={8:2,9:2,10:2,11:2,12:1,13:1,14:2};var tA={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},Ee={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},TA=-1,pA={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var us=!1,ds=!0,Ke=!1,fs=!0;function ms(t,A,e,s){us=t,ds=A,Ke=e,fs=s}function m(...t){us&&console.info(...t)}function T(...t){ds&&console.warn(...t)}function ps(...t){fs&&console.table(...t)}function ne(...t){Ke&&console.group(...t)}function yA(...t){Ke&&console.groupCollapsed(...t)}function Z(){Ke&&console.groupEnd()}var Be={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var a={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},U=[];U[a.startAddrsOffset]={min:0,max:32768,def:0};U[a.endAddrOffset]={min:-32768,max:32768,def:0};U[a.startloopAddrsOffset]={min:-32768,max:32768,def:0};U[a.endloopAddrsOffset]={min:-32768,max:32768,def:0};U[a.startAddrsCoarseOffset]={min:0,max:32768,def:0};U[a.modLfoToPitch]={min:-12e3,max:12e3,def:0};U[a.vibLfoToPitch]={min:-12e3,max:12e3,def:0};U[a.modEnvToPitch]={min:-12e3,max:12e3,def:0};U[a.initialFilterFc]={min:1500,max:13500,def:13500};U[a.initialFilterQ]={min:0,max:960,def:0};U[a.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};U[a.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};U[a.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};U[a.modLfoToVolume]={min:-960,max:960,def:0};U[a.chorusEffectsSend]={min:0,max:1e3,def:0};U[a.reverbEffectsSend]={min:0,max:1e3,def:0};U[a.pan]={min:-500,max:500,def:0};U[a.delayModLFO]={min:-12e3,max:5e3,def:-12e3};U[a.freqModLFO]={min:-16e3,max:4500,def:0};U[a.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};U[a.freqVibLFO]={min:-16e3,max:4500,def:0};U[a.delayModEnv]={min:-32768,max:5e3,def:-32768};U[a.attackModEnv]={min:-32768,max:8e3,def:-32768};U[a.holdModEnv]={min:-12e3,max:5e3,def:-12e3};U[a.decayModEnv]={min:-12e3,max:8e3,def:-12e3};U[a.sustainModEnv]={min:0,max:1e3,def:0};U[a.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};U[a.keyNumToModEnvHold]={min:-1200,max:1200,def:0};U[a.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};U[a.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};U[a.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};U[a.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};U[a.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};U[a.sustainVolEnv]={min:0,max:1440,def:0};U[a.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};U[a.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};U[a.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};U[a.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};U[a.keyNum]={min:-1,max:127,def:-1};U[a.velocity]={min:-1,max:127,def:-1};U[a.initialAttenuation]={min:-250,max:1440,def:0};U[a.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};U[a.coarseTune]={min:-120,max:120,def:0};U[a.fineTune]={min:-12700,max:12700,def:0};U[a.scaleTuning]={min:0,max:1200,def:100};U[a.exclusiveClass]={min:0,max:99999,def:0};U[a.overridingRootKey]={min:-1,max:127,def:-1};var L=class{generatorType=a.INVALID;generatorValue=0;constructor(A=a.INVALID,e=0){if(this.generatorType=A,e===void 0)throw new Error("No value provided.");let s=U[A];this.generatorValue=Math.round(e),s!==void 0&&(this.generatorValue=Math.max(s.min,Math.min(s.max,this.generatorValue)))}};function ys(t,A,e){let s=U[t]||{min:0,max:32768,def:0},n=A.find(B=>B.generatorType===t),o=0;n&&(o=n.generatorValue);let g=e.find(B=>B.generatorType===t),C=s.def;g&&(C=g.generatorValue);let Q=C+o;return t===a.initialAttenuation?Q:Math.max(s.min,Math.min(s.max,Q))}var K={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},QA={linear:0,concave:1,convex:2,switch:3},j=class t{currentValue=0;constructor(A){this.sourceEnum=A.srcEnum,this.modulatorDestination=A.dest,this.secondarySourceEnum=A.secSrcEnum,this.transformAmount=A.amt,this.transformType=A.transform,this.modulatorDestination>58&&(this.modulatorDestination=a.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===a.reverbEffectsSend||this.modulatorDestination===a.chorusEffectsSend)}static copy(A){return new t({srcEnum:A.sourceEnum,secSrcEnum:A.secondarySourceEnum,transform:A.transformType,amt:A.transformAmount,dest:A.modulatorDestination})}static isIdentical(A,e){return A.sourceEnum===e.sourceEnum&&A.modulatorDestination===e.modulatorDestination&&A.secondarySourceEnum===e.secondarySourceEnum&&A.transformType===e.transformType}sumTransform(A){return new t({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+A.transformAmount})}debugString(){function A(n,o){return Object.keys(n).find(g=>n[g]===o)}let e=A(QA,this.sourceCurveType);e+=this.sourcePolarity===0?" unipolar ":" bipolar ",e+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?e+=A(p,this.sourceIndex):e+=A(K,this.sourceIndex);let s=A(QA,this.secSrcCurveType);return s+=this.secSrcPolarity===0?" unipolar ":" bipolar ",s+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?s+=A(p,this.secSrcIndex):s+=A(K,this.secSrcIndex),`Modulator: Source: ${e} Secondary source: ${s} - Destination: ${A(I,this.modulatorDestination)} + Destination: ${A(a,this.modulatorDestination)} Trasform amount: ${this.transformAmount} Transform type: ${this.transformType} -`}},St=960,Dt=cA.concave;function HA(t,A,e,s,n){return t<<10|A<<9|e<<8|s<<7|n}var Oe=[new j({srcEnum:HA(Dt,0,1,0,K.noteOnVelocity),dest:I.initialAttenuation,amt:St,secSrcEnum:0,transform:0}),new j({srcEnum:129,dest:I.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new j({srcEnum:HA(Dt,0,1,1,p.mainVolume),dest:I.initialAttenuation,amt:St,secSrcEnum:0,transform:0}),new j({srcEnum:13,dest:I.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new j({srcEnum:526,dest:I.fineTune,amt:12700,secSrcEnum:16,transform:0}),new j({srcEnum:650,dest:I.pan,amt:500,secSrcEnum:0,transform:0}),new j({srcEnum:HA(Dt,0,1,1,p.expressionController),dest:I.initialAttenuation,amt:St,secSrcEnum:0,transform:0}),new j({srcEnum:219,dest:I.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new j({srcEnum:221,dest:I.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new j({srcEnum:HA(cA.linear,0,0,0,K.polyPressure),dest:I.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new j({srcEnum:HA(cA.linear,0,0,1,p.tremoloDepth),dest:I.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new j({srcEnum:HA(cA.linear,1,0,1,p.releaseTime),dest:I.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new j({srcEnum:HA(cA.linear,1,0,1,p.brightness),dest:I.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new j({srcEnum:HA(cA.linear,1,0,1,p.timbreHarmonicContent),dest:I.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var CA=128,Ve=147,kt=new Int16Array(Ve).fill(0),dA=(t,A)=>kt[t]=A<<7;dA(p.mainVolume,100);dA(p.balance,64);dA(p.expressionController,127);dA(p.pan,64);dA(p.timbreHarmonicContent,64);dA(p.releaseTime,64);dA(p.attackTime,64);dA(p.brightness,64);dA(p.soundController6,64);dA(p.soundController7,64);dA(p.soundController8,64);dA(p.soundController9,64);dA(p.generalPurposeController6,64);dA(p.generalPurposeController8,64);dA(CA+K.pitchWheel,64);dA(CA+K.pitchWheelRange,2);var gA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},wt=Object.keys(gA).length,Ft=new Float32Array(wt);Ft[gA.modulationMultiplier]=1;var fA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6};function Ss(t=!1){let A={midiControllers:new Int16Array(Ve),lockedControllers:Array(Ve).fill(!1),customControllers:new Float32Array(wt),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:fA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}function jA(t,A){t.lockPreset||(t.bank=A)}function PA(t){return t.drumChannel?128:t.bank}var Rt={velocityOverride:128};var Ds="spessasynth-worklet-system",ks=350,SA=9,Ze=16,Xe="gs";var wA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10,setPreservePlaybackState:11},FA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function $A(t,A){let e=0;for(let s=8*(A-1);s>=0;s-=8)e|=t[t.currentIndex++]<>>0}function ws(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=Re(t.messageStatusByte),s=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(e.channel+=s,e.status){case F.noteOn:let n=t.messageData[1];if(n>0)this.synth.noteOn(e.channel,t.messageData[0],n),this.playingNotes.push({midiNote:t.messageData[0],channel:e.channel,velocity:n});else{this.synth.noteOff(e.channel,t.messageData[0]);let g=this.playingNotes.findIndex(E=>E.midiNote===t.messageData[0]&&E.channel===e.channel);g!==-1&&this.playingNotes.splice(g,1)}break;case F.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(g=>g.midiNote===t.messageData[0]&&g.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case F.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case F.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case F.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case F.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case F.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case F.systemExclusive:this.synth.systemExclusive(t.messageData,s);break;case F.setTempo:this.oneTickToSeconds=60/(Lo(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),T("invalid tempo! falling back to 120 BPM"));break;case F.timeSignature:case F.endOfTrack:case F.midiChannelPrefix:case F.songPosition:case F.activeSensing:case F.keySignature:case F.sequenceNumber:case F.sequenceSpecific:break;case F.text:case F.lyric:case F.copyright:case F.trackName:case F.marker:case F.cuePoint:case F.instrumentName:case F.programName:this.post(FA.textEvent,[t.messageData,e.status]);break;case F.midiPort:this.assignMIDIPort(A,t.messageData[0]);break;case F.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:T(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(F).find(g=>F[g]===e.status)}`,r.warn,r.unrecognized,r.warn,r.value);break}}function Fs(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===SA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function Lo(t){return t.messageData.currentIndex=0,6e7/$A(t.messageData,3)}function Rs(){let t=this.currentTime;for(;this.playedTime1&&this.nextSong();return}let s=this.tracks[A][this.eventIndex[A]];if(this.playedTime+=this.oneTickToSeconds*(s.ticks-e.ticks),this.midiData.loop.end<=e.ticks&&this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}else if(t>=this.duration){if(this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}this.eventIndex[A]--,this.pause(!0),this.songs.length>1&&this.nextSong();return}}}function Gs(){let t=0,A=1/0;return this.tracks.forEach((e,s)=>{this.eventIndex[s]>=e.length||e[this.eventIndex[s]].ticks>>0}function he(t,A,e){for(let s=0;s>s*8&255}function J(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function lA(t,A){he(t,A,4)}function Ae(t,A){let e=A<<8|t;return e>32767?e-65536:e}function xs(t){return t>127?t-256:t}function O(t,A,e=void 0,s=!0){if(e){let n=t.slice(t.currentIndex,t.currentIndex+A);return t.currentIndex+=A,new TextDecoder(e.replace(/[^\x20-\x7E]/g,"")).decode(n.buffer)}else{let n=!1,o="";for(let g=0;g127){if(s){n=!0;continue}else if(E===0){n=!0;continue}}o+=String.fromCharCode(E)}}return o}}function RA(t,A,e=0){e>0&&A.length>e&&(A=A.slice(0,e));for(let s=0;sA.length)for(let s=0;se.header!=="LIST"?!1:(e.chunkData.currentIndex=0,O(e.chunkData,4)===A))}function _e(t){let A=0;for(;t;){let e=t[t.currentIndex++];if(A=A<<7|e&127,e>>7!==1)break}return A}var ze={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var je=class{constructor(){this.timeDivision=0,this.duration=0,this.tempoChanges=[{ticks:0,tempo:120}],this.copyright="",this.tracksAmount=0,this.lyrics=[],this.firstNoteOn=0,this.keyRange={min:0,max:127},this.lastVoiceEventTick=0,this.midiPorts=[0],this.midiPortChannelOffsets=[0],this.usedChannelsOnTrack=[],this.loop={start:0,end:0},this.midiName="",this.fileName="",this.rawMidiName=void 0,this.embeddedSoundFont=void 0,this.format=0,this.RMIDInfo={},this.bankOffset=0,this.tracks=[]}};function Qe(t,A){let e=0;for(;t>0;){let s=A.tempoChanges.find(o=>o.tickskt[t]=A<<7;uA(p.mainVolume,100);uA(p.balance,64);uA(p.expressionController,127);uA(p.pan,64);uA(p.timbreHarmonicContent,64);uA(p.releaseTime,64);uA(p.attackTime,64);uA(p.brightness,64);uA(p.soundController6,64);uA(p.soundController7,64);uA(p.soundController8,64);uA(p.soundController9,64);uA(p.generalPurposeController6,64);uA(p.generalPurposeController8,64);uA(gA+K.pitchWheel,64);uA(gA+K.pitchWheelRange,2);var aA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},wt=Object.keys(aA).length,Ft=new Float32Array(wt);Ft[aA.modulationMultiplier]=1;var dA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6};function Ss(t=!1){let A={midiControllers:new Int16Array(Ve),lockedControllers:Array(Ve).fill(!1),customControllers:new Float32Array(wt),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:dA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}function jA(t,A){t.lockPreset||(t.bank=A)}function PA(t){return t.drumChannel?128:t.bank}var Rt={velocityOverride:128};var Ds="spessasynth-worklet-system",ks=350,SA=9,Ze=16,Xe="gs";var wA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10,setPreservePlaybackState:11},FA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function $A(t,A){let e=0;for(let s=8*(A-1);s>=0;s-=8)e|=t[t.currentIndex++]<>>0}function ws(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=Re(t.messageStatusByte),s=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(e.channel+=s,e.status){case F.noteOn:let n=t.messageData[1];if(n>0)this.synth.noteOn(e.channel,t.messageData[0],n),this.playingNotes.push({midiNote:t.messageData[0],channel:e.channel,velocity:n});else{this.synth.noteOff(e.channel,t.messageData[0]);let g=this.playingNotes.findIndex(C=>C.midiNote===t.messageData[0]&&C.channel===e.channel);g!==-1&&this.playingNotes.splice(g,1)}break;case F.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(g=>g.midiNote===t.messageData[0]&&g.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case F.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case F.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case F.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case F.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case F.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case F.systemExclusive:this.synth.systemExclusive(t.messageData,s);break;case F.setTempo:this.oneTickToSeconds=60/(Lo(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),T("invalid tempo! falling back to 120 BPM"));break;case F.timeSignature:case F.endOfTrack:case F.midiChannelPrefix:case F.songPosition:case F.activeSensing:case F.keySignature:case F.sequenceNumber:case F.sequenceSpecific:break;case F.text:case F.lyric:case F.copyright:case F.trackName:case F.marker:case F.cuePoint:case F.instrumentName:case F.programName:this.post(FA.textEvent,[t.messageData,e.status]);break;case F.midiPort:this.assignMIDIPort(A,t.messageData[0]);break;case F.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:T(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(F).find(g=>F[g]===e.status)}`,r.warn,r.unrecognized,r.warn,r.value);break}}function Fs(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===SA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function Lo(t){return t.messageData.currentIndex=0,6e7/$A(t.messageData,3)}function Rs(){let t=this.currentTime;for(;this.playedTime1&&this.nextSong();return}let s=this.tracks[A][this.eventIndex[A]];if(this.playedTime+=this.oneTickToSeconds*(s.ticks-e.ticks),this.midiData.loop.end<=e.ticks&&this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}else if(t>=this.duration){if(this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}this.eventIndex[A]--,this.pause(!0),this.songs.length>1&&this.nextSong();return}}}function Gs(){let t=0,A=1/0;return this.tracks.forEach((e,s)=>{this.eventIndex[s]>=e.length||e[this.eventIndex[s]].ticks>>0}function he(t,A,e){for(let s=0;s>s*8&255}function J(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function cA(t,A){he(t,A,4)}function Ae(t,A){let e=A<<8|t;return e>32767?e-65536:e}function xs(t){return t>127?t-256:t}function O(t,A,e=void 0,s=!0){if(e){let n=t.slice(t.currentIndex,t.currentIndex+A);return t.currentIndex+=A,new TextDecoder(e.replace(/[^\x20-\x7E]/g,"")).decode(n.buffer)}else{let n=!1,o="";for(let g=0;g127){if(s){n=!0;continue}else if(C===0){n=!0;continue}}o+=String.fromCharCode(C)}}return o}}function RA(t,A,e=0){e>0&&A.length>e&&(A=A.slice(0,e));for(let s=0;sA.length)for(let s=0;se.header!=="LIST"?!1:(e.chunkData.currentIndex=0,O(e.chunkData,4)===A))}function _e(t){let A=0;for(;t;){let e=t[t.currentIndex++];if(A=A<<7|e&127,e>>7!==1)break}return A}var ze={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var je=class{constructor(){this.timeDivision=0,this.duration=0,this.tempoChanges=[{ticks:0,tempo:120}],this.copyright="",this.tracksAmount=0,this.lyrics=[],this.firstNoteOn=0,this.keyRange={min:0,max:127},this.lastVoiceEventTick=0,this.midiPorts=[0],this.midiPortChannelOffsets=[0],this.usedChannelsOnTrack=[],this.loop={start:0,end:0},this.midiName="",this.fileName="",this.rawMidiName=void 0,this.embeddedSoundFont=void 0,this.format=0,this.RMIDInfo={},this.bankOffset=0,this.tracks=[]}};function Qe(t,A){let e=0;for(;t>0;){let s=A.tempoChanges.find(o=>o.ticks0&&(b+=this.tracks[y-1][this.tracks[y-1].length-1].ticks);w.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=b),_=ls[i>>4],(i&240)===F.noteOn){G.add(nA);let rA=w.data[w.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,rA),this.keyRange.max=Math.max(this.keyRange.max,rA)}x=i;break}let v=new Y(_),z=w.data.slice(w.data.currentIndex,w.data.currentIndex+_);w.data.currentIndex+=_,v.set(z,0);let oA=new Ee(b,i,v);switch(k.push(oA),nA){case-2:switch(i){case F.setTempo:this.tempoChanges.push({ticks:b,tempo:6e7/$A(z,3)});break;case F.marker:switch(O(v,v.length).trim().toLowerCase()){default:break;case"start":case"loopstart":d=b;break;case"loopend":c=b}v.currentIndex=0;break;case F.midiPort:let EA=v[0];this.midiPorts[y]=EA,this.midiPortChannelOffsets[EA]===void 0&&(this.midiPortChannelOffsets[EA]=l,l+=16);break;case F.copyright:o||(this.copyright+=O(v,v.length,void 0,!1)+` -`);break;case F.lyric:this.lyrics.push(v)}break;case-3:if(v.slice(0,7).every((rA,EA)=>Uo[EA]===rA)){let rA=v.slice(7,z.length-3),EA=O(rA,rA.length)+` -`;this.copyright+=EA,m(`%cDecoded Roland SC message! %c${EA}`,r.recognized,r.value)}break;default:if((i&240)===F.controllerChange)switch(v[0]){case 2:case 116:d=b;break;case 4:case 117:c===null?c=b:c=0;break;case 0:E&&v[1]!==0&&v[1]!==127&&(m("%cDLS RMIDI with offset 1 detected!",r.recognized),this.bankOffset=1)}}}this.tracks.push(k),this.usedChannelsOnTrack.push(G),m(`%cParsed %c${this.tracks.length}%c / %c${this.tracksAmount}`,r.info,r.value,r.info,r.value)}m("%cAll tracks parsed correctly!",r.recognized),yA("%cCorrecting loops, ports and detecting notes...",r.info);let u=[];for(let y of this.tracks){let k=y.find(w=>(w.messageStatusByte&240)===F.noteOn);k&&u.push(k.ticks)}this.firstNoteOn=Math.min(...u),m(`%cFirst note-on detected at: %c${this.firstNoteOn}%c ticks!`,r.info,r.recognized,r.info),d!==null&&c===null?(d=this.firstNoteOn,c=this.lastVoiceEventTick):(d===null&&(d=this.firstNoteOn),(c===null||c===0)&&(c=this.lastVoiceEventTick)),this.loop={start:d,end:c},m(`%cLoop points: start: %c${this.loop.start}%c end: %c${this.loop.end}`,r.info,r.recognized,r.info,r.recognized);let D=0;for(let y of this.midiPorts)if(y!==-1){D=y;break}if(this.midiPorts=this.midiPorts.map(y=>y===-1?D:y),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0]),this.midiPortChannelOffsets.length<2?m("%cNo additional MIDI Ports detected.",r.info):m("%cMIDI Ports detected!",r.recognized),!g)if(this.tracks.length>1){if(this.tracks[0].find(y=>y.messageStatusByte>=F.noteOn&&y.messageStatusBytek.messageStatusByte===F.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=O(y.messageData,y.messageData.length,void 0,!1))}}else{let y=this.tracks[0].find(k=>k.messageStatusByte===F.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=O(y.messageData,y.messageData.length,void 0,!1))}if(this.fileName=e,this.midiName=this.midiName.trim(),this.midiName.length===0){m("%cNo name detected. Using the alt name!",r.info),this.midiName=Qs(e),this.rawMidiName=new Uint8Array(this.midiName.length);for(let y=0;yl>c?l:c),s=[];for(let c=0;c{g[D]>=u.length||u[g[D]].ticks0;){let c=h(),l=t.tracks[c];if(g[c]>=l.length){E--;continue}let u=l[g[c]];if(g[c]++,u.messageStatusByte===F.midiPort){B[c]=u.messageData[0];continue}let D=u.messageStatusByte&240;if(D!==F.noteOn&&D!==F.controllerChange&&D!==F.programChange&&D!==F.systemExclusive)continue;let y=(u.messageStatusByte&15)+t.midiPortChannelOffsets[B[c]]||0,k=s[y];switch(D){case F.programChange:k.program=u.messageData[0],n(k);break;case F.controllerChange:if(u.messageData[0]!==p.bankSelect||d==="gs"&&k.drums)continue;let w=u.messageData[1],G=Math.max(0,w-t.bankOffset);if(d==="xg"){let $=w===120||w===126||w===127;$!==k.drums?(k.drums=$,k.bank=k.drums?128:G,n(k)):k.bank=k.drums?128:G;continue}s[y].bank=G;break;case F.noteOn:if(u.messageData[1]===0)continue;n(k),o[k.string].add(`${u.messageData[0]}-${u.messageData[1]}`);break;case F.systemExclusive:if(u.messageData[0]!==65||u.messageData[2]!==66||u.messageData[3]!==18||u.messageData[4]!==64||!(u.messageData[5]&16)||u.messageData[6]!==21){u.messageData[0]===67&&u.messageData[2]===76&&u.messageData[5]===126&&u.messageData[6]===0&&(d="xg");continue}let x=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][u.messageData[5]&15]+t.midiPortChannelOffsets[B[c]],b=!!(u.messageData[7]>0&&u.messageData[5]>>4);k=s[x],k.drums=b,k.bank=b?128:0,n(k);break}}for(let c of Object.keys(o))o[c].size===0&&(m(`%cDetected change but no keys for %c${c}`,r.info,r.value),delete o[c]);return Z(),o}function Ns(t,A){this.midiPortChannelOffset===0&&(this.midiPortChannelOffset+=16,this.midiPortChannelOffsets[A]=0),this.midiPortChannelOffsets[A]===void 0&&(this.synth.workletProcessorChannels.length{this.assignMIDIPort(s,e)}),this.duration=this.midiData.duration,this.firstNoteTime=Qe(this.midiData.firstNoteOn,this.midiData),m(`%cTotal song time: ${yt(Math.ceil(this.duration)).time}`,r.recognized),this.post(FA.songChange,[new We(this.midiData),this.songIndex,A]),this.duration<=1&&(T(`%cVery short song: (${yt(Math.round(this.duration)).time}). Disabling loop!`,r.warn),this.loop=!1),A)this.play(!0);else{let e=this._skipToFirstNoteOn?this.midiData.firstNoteOn-1:0;this.setTimeTicks(e),this.pause()}}function Ls(t,A=!0){this.songs=t.reduce((e,s)=>{if(s.duration)return e.push(s),e;try{e.push(new $e(s.binary,s.altName||""))}catch(n){return this.post(FA.midiError,n.message),e}return e},[]),!(this.songs.length<1)&&(this.songIndex=0,this.songs.length>1&&(this.loop=!1),this.loadNewSequence(this.songs[this.songIndex],A))}function Us(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex++,this.songIndex%=this.songs.length,this.loadNewSequence(this.songs[this.songIndex])}function Ts(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex--,this.songIndex<0&&(this.songIndex=this.songs.length-1),this.loadNewSequence(this.songs[this.songIndex])}var KA=new Int16Array(127);KA[p.mainVolume]=100;KA[p.expressionController]=127;KA[p.pan]=64;KA[p.releaseTime]=64;KA[p.brightness]=64;KA[p.reverbDepth]=0;function Hs(t,A=void 0){this.oneTickToSeconds=60/(120*this.midiData.timeDivision),this.synth.resetAllControllers(),this.sendMIDIReset(),this._resetTimers();let e=this.synth.workletProcessorChannels.length,s=Array(e).fill(8192),n=[];for(let E=0;EE===p.dataDecrement||E===p.dataIncrement||E===p.dataEntryMsb||E===p.dataDecrement||E===p.lsbForControl6DataEntry||E===p.RPNLsb||E===p.RPNMsb||E===p.NRPNLsb||E===p.NRPNMsb||E===p.bankSelect||E===p.lsbForControl0BankSelect||E===p.resetAllControllers,g=[];for(let E=0;E=A)break}else if(this.playedTime>=t)break;let B=Re(h.messageStatusByte),d=B.channel+(this.midiPortChannelOffsets[this.midiPorts[E]]||0);switch(B.status){case F.noteOn:case F.noteOff:case F.keySignature:break;case F.pitchBend:s[d]=h.messageData[1]<<7|h.messageData[0];break;case F.programChange:let l=n[d];l.program=h.messageData[0],l.actualBank=l.bank;break;case F.controllerChange:let u=h.messageData[0];if(o(u)){let D=h.messageData[1];if(u===p.bankSelect){n[d].bank=D;break}this.sendMIDIMessages?this.sendMIDICC(d,u,D):this.synth.controllerChange(d,u,D)}else g[d]===void 0&&(g[d]=Array.from(KA)),g[d][u]=h.messageData[1];break;default:this._processEvent(h,E);break}this.eventIndex[E]++,E=this._findFirstEventIndex();let c=this.tracks[E][this.eventIndex[E]];if(c===void 0)return this.stop(),!1;this.playedTime+=this.oneTickToSeconds*(c.ticks-h.ticks)}if(this.sendMIDIMessages){for(let E=0;E>7,s[E]&127),g[E]!==void 0&&g[E].forEach((h,B)=>{h!==KA[B]&&!o(B)&&this.sendMIDICC(E,B,h)}),n[E].program>=0&&n[E].actualBank>=0){let h=n[E].actualBank;this.sendMIDICC(E,p.bankSelect,h),this.sendMIDIProgramChange(E,n[E].program)}}else for(let E=0;E>7,s[E]&127),g[E]!==void 0&&g[E].forEach((h,B)=>{h!==KA[B]&&!o(B)&&this.synth.controllerChange(E,B,h)}),n[E].program>=0&&n[E].actualBank>=0){let h=n[E].actualBank;this.synth.controllerChange(E,p.bankSelect,h),this.synth.programChange(E,n[E].program)}return!0}function Ys(t=!1){if(this.midiData!==void 0){if(t){this.pausedTime=void 0,this.currentTime=0;return}if(this.currentTime>=this.duration){this.pausedTime=void 0,this.currentTime=0;return}this.paused&&(this._recalculateStartTime(this.pausedTime),this.pausedTime=void 0),this.sendMIDIMessages||this.playingNotes.forEach(A=>{this.synth.noteOn(A.channel,A.midiNote,A.velocity,!1,!0)}),this.setProcessHandler()}}function Js(t){this.stop(),this.playingNotes=[],this.pausedTime=void 0,this.post(FA.timeChange,currentTime-Qe(t,this.midiData));let A=this._playTo(0,t);this._recalculateStartTime(this.playedTime),A&&this.play()}function vs(t){this.absoluteStartTime=currentTime-t/this._playbackRate}function qs(t,A){switch(t){default:break;case wA.loadNewSongList:this.loadNewSongList(A[0],A[1]);break;case wA.pause:this.pause();break;case wA.play:this.play(A);break;case wA.stop:this.stop();break;case wA.setTime:this.currentTime=A;break;case wA.changeMIDIMessageSending:this.sendMIDIMessages=A;break;case wA.setPlaybackRate:this.playbackRate=A;break;case wA.setLoop:this.loop=A;break;case wA.changeSong:A?this.nextSong():this.previousSong();break;case wA.getMIDI:this.post(FA.getMIDI,this.midiData);break;case wA.setSkipToFirstNote:this._skipToFirstNoteOn=A;break;case wA.setPreservePlaybackState:this.preservePlaybackState=A}}function Ps(t,A=void 0){this.synth.enableEventSystem&&this.synth.post({messageType:pA.sequencerSpecific,messageData:{messageType:t,messageData:A}})}function Ks(t){this.post(FA.midiEvent,t)}function Os(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.controllerChange|t,A,e])}function Vs(t,A){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.programChange|t,A])}function Zs(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.pitchBend|t,e,A])}function Xs(){if(this.sendMIDIMessages){this.sendMIDIMessage([F.reset]);for(let t=0;tthis.duration||A<0){this._skipToFirstNoteOn?this.setTimeTicks(this.midiData.firstNoteOn-1):this.setTimeTicks(0);return}if(this._skipToFirstNoteOn&&AWs?440*Math.pow(2,(t-6900)/1200):xt[~~t-At]}var Nt=-1660,To=1600,Mt=new Float32Array((To-Nt)*100+1);for(let t=0;t.5?1:0,s?e*2-1:e;case cA.concave:return s?(e=e*2-1,e<0?-XA[~~(e*-BA)]:XA[~~(e*BA)]):XA[~~(e*BA)];case cA.convex:return s?(e=e*2-1,e<0?-oe[~~(e*-BA)]:oe[~~(e*BA)]):oe[~~(e*BA)]}}var bt=1,Lt=new Float32Array(1e3);for(let t=0;t=e.loopEnd;)s-=o;let E=~~s,h=E+1;for(;h>=e.loopEnd;)h-=o;let B=s-E,d=n[h],c=n[E];A[g]=c+(d-c)*B,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end){t.finished=!0;return}let h=s-g,B=n[E],d=n[g];A[o]=d+(B-d)*h,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}function zs(t,A){let e=t.sample,s=e.cursor,n=e.loopEnd-e.loopStart,o=e.sampleData;if(t.sample.isLooping)for(let g=0;g=e.loopEnd;)s-=n;let E=~~s+1;for(;E>=e.loopEnd;)E-=n;A[g]=o[E],s+=e.playbackStep*t.currentTuningCalculated}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let g=0;g=e.end){t.finished=!0;return}A[g]=o[E],s+=e.playbackStep*t.currentTuningCalculated}}e.cursor=s}function js(t,A){let e=t.sample,s=e.cursor,n=e.sampleData;if(e.isLooping){let o=e.loopEnd-e.loopStart;for(let g=0;g=e.loopEnd;)s-=o;let E=~~s,h=E+1,B=h+1,d=B+1,c=s-E;h>=e.loopEnd&&(h-=o),B>=e.loopEnd&&(B-=o),d>=e.loopEnd&&(d-=o);let l=n[E],u=n[h],D=n[B],y=n[d],k=.5*(D-l),w=l-2.5*u+2*D-.5*y,G=.5*(y-l)+1.5*(u-D);A[g]=((G*c+w)*c+k)*c+u,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end||h>=e.end||B>=e.end){t.finished=!0;return}let c=n[g],l=n[E],u=n[h],D=n[B],y=.5*(u-c),k=c-2.5*l+2*u-.5*D,w=.5*(D-c)+1.5*(l-u);A[o]=((w*d+k)*d+y)*d+l,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}function $s(t,A,e,s,n,o,g,E,h){if(!isNaN(e[0])){if(g>0){let B=o[0],d=o[1];g=Math.min(g,1e3);let c=g/4600;for(let l=0;l0){let B=E[0],d=E[1];h=Math.min(h,1e3);let c=h/2e3,l=t*c,u=A*c;for(let D=0;D0)for(let B=0;B0)for(let B=0;B13499&&A.filter.reasonanceCb===0)return;let o=A.filter;(o.cutoffCents!==s||o.reasonanceCb!==A.modulatedGenerators[I.initialFilterQ])&&(o.cutoffCents=s,o.reasonanceCb=A.modulatedGenerators[I.initialFilterQ],t.calculateCoefficients(o));for(let g=0;g=Ut}static startRelease(A){A.volumeEnvelope.releaseStartTimeSamples=A.volumeEnvelope.currentSampleTime,A.volumeEnvelope.currentReleaseGain=OA(A.volumeEnvelope.currentAttenuationDb),t.recalculate(A)}static recalculate(A){let e=A.volumeEnvelope,s=B=>Math.max(0,Math.floor(YA(B)*e.sampleRate));e.attenuationTarget=Math.max(0,Math.min(A.modulatedGenerators[I.initialAttenuation],1440))/10,e.sustainDbRelative=Math.min(GA,A.modulatedGenerators[I.sustainVolEnv]/10);let n=Math.min(GA,e.sustainDbRelative);e.attackDuration=s(A.modulatedGenerators[I.attackVolEnv]);let o=A.modulatedGenerators[I.decayVolEnv],g=(60-A.targetKey)*A.modulatedGenerators[I.keyNumToVolEnvDecay],E=n/GA;e.decayDuration=s(o+g)*E,e.releaseDuration=s(A.modulatedGenerators[I.releaseVolEnv]),e.delayEnd=s(A.modulatedGenerators[I.delayVolEnv]),e.attackEnd=e.attackDuration+e.delayEnd;let h=(60-A.targetKey)*A.modulatedGenerators[I.keyNumToVolEnvHold];if(e.holdEnd=s(A.modulatedGenerators[I.holdVolEnv]+h)+e.attackEnd,e.decayEnd=e.decayDuration+e.holdEnd,e.state===0&&e.attackEnd===0&&(e.state=2),A.isInRelease){let B=Math.max(0,Math.min(GA,e.sustainDbRelative)),d=B/GA;switch(e.decayDuration=s(o+g)*d,e.state){case 0:e.releaseStartDb=GA;break;case 1:let l=1-(e.attackEnd-e.releaseStartTimeSamples)/e.attackDuration;e.releaseStartDb=20*Math.log10(l)*-1;break;case 2:e.releaseStartDb=0;break;case 3:e.releaseStartDb=(1-(e.decayEnd-e.releaseStartTimeSamples)/e.decayDuration)*B;break;case 4:e.releaseStartDb=B;break}e.releaseStartDb=Math.max(0,Math.min(e.releaseStartDb,GA)),e.releaseStartDb>=Ut&&(A.finished=!0),e.currentReleaseGain=OA(e.releaseStartDb);let c=(GA-e.releaseStartDb)/GA;e.releaseDuration*=c}}static apply(A,e,s,n){let o=A.volumeEnvelope,g=s/10,E=n;if(A.isInRelease){let B=o.currentSampleTime-o.releaseStartTimeSamples;if(B>=o.releaseDuration){for(let c=0;c=e.length)return;o.state++;case 1:for(;o.currentSampleTime=e.length)return}o.state++;case 2:for(;o.currentSampleTime=e.length)return;o.state++;case 3:for(;o.currentSampleTime=e.length)return;o.state++;case 4:for(o.canEndOnSilentSustain&&o.sustainDbRelative>=Ut&&(A.finished=!0);;)if(o.attenuation+=(o.attenuationTarget-o.attenuation)*E,e[h]*=OA(o.sustainDbRelative+g+o.attenuation),o.currentAttenuationDb=o.sustainDbRelative,o.currentSampleTime++,++h>=e.length)return}}};var en=Math.PI/2,tn=.05;function sn(t,A,e,s,n,o){if(A.isInRelease||currentTime>=A.releaseStartTime&&(A.isInRelease=!0,UA.startRelease(A),JA.startRelease(A),A.sample.loopingMode===3&&(A.sample.isLooping=!1)),A.modulatedGenerators[I.initialAttenuation]>2500){A.isInRelease&&(A.finished=!0);return}let g=A.targetKey,E=A.modulatedGenerators[I.fineTune]+t.customControllers[gA.channelTuning]+t.customControllers[gA.channelTransposeFine]+t.customControllers[gA.masterTuning]+t.channelOctaveTuning[A.midiNote%12]+t.keyCentTuning[A.midiNote],h=A.modulatedGenerators[I.coarseTune]+t.customControllers[gA.channelTuningSemitones],B=this.tunings[t.preset.program]?.[A.realKey];B?.midiNote>=0&&(g=B.midiNote,E+=B.centTuning),E+=(g-A.sample.rootKey)*A.modulatedGenerators[I.scaleTuning];let d=A.modulatedGenerators[I.vibLfoToPitch];if(d!==0){let oA=A.startTime+YA(A.modulatedGenerators[I.delayVibLFO]),rA=Ge(A.modulatedGenerators[I.freqVibLFO]),EA=et(oA,rA,currentTime);E+=EA*(d*t.customControllers[gA.modulationMultiplier])}let c=A.modulatedGenerators[I.initialFilterFc],l=c,u=A.modulatedGenerators[I.modLfoToPitch],D=A.modulatedGenerators[I.modLfoToVolume],y=A.modulatedGenerators[I.modLfoToFilterFc],k=0;if(u+y+D!==0){let oA=A.startTime+YA(A.modulatedGenerators[I.delayModLFO]),rA=Ge(A.modulatedGenerators[I.freqModLFO]),EA=et(oA,rA,currentTime);E+=EA*(u*t.customControllers[gA.modulationMultiplier]),k=-EA*D,l+=EA*y}if(t.channelVibrato.depth>0){let oA=et(A.startTime+t.channelVibrato.delay,t.channelVibrato.rate,currentTime);oA&&(E+=oA*t.channelVibrato.depth)}let w=A.modulatedGenerators[I.modEnvToPitch],G=A.modulatedGenerators[I.modEnvToFilterFc],x=JA.getValue(A,currentTime);l+=x*G,E+=x*w;let b=~~(E+h*100);b!==A.currentTuningCents&&(A.currentTuningCents=b,A.currentTuningCalculated=Math.pow(2,b/1200));let $=(Math.max(-500,Math.min(500,A.modulatedGenerators[I.pan]))+500)/1e3,i=new Float32Array(e.length);switch(this.interpolationType){case ce.linear:default:_s(A,i);break;case ce.nearestNeighbor:zs(A,i);break;case ce.fourthOrder:js(A,i)}le.apply(A,i,l,c>13499),UA.apply(A,i,k,this.volumeEnvelopeSmoothingFactor),A.currentPan+=($-A.currentPan)*this.panSmoothingFactor;let nA=Math.cos(en*A.currentPan)*this.panLeft,_=Math.sin(en*A.currentPan)*this.panRight,v=this.oneOutputMode?0:A.modulatedGenerators[I.reverbEffectsSend],z=this.oneOutputMode?0:A.modulatedGenerators[I.chorusEffectsSend];$s(nA,_,i,e,s,n,v,o,z)}function Yo(t,A){let e=0;return t.drumChannel&&(e+=5),A.isInRelease&&(e-=5),e+=A.velocity/25,e-=A.volumeEnvelope.state,A.isInRelease&&(e-=5),e-=A.volumeEnvelope.currentAttenuationDb/50,e}function nn(t){let A=[];for(let s of this.workletProcessorChannels)for(let n of s.voices)if(!n.finished){let o=Yo(s,n);A.push({channel:s,voice:n,priority:o})}A.sort((s,n)=>s.priority-n.priority);let e=A.slice(0,t);for(let{channel:s,voice:n}of e){let o=s.voices.indexOf(n);o>-1&&s.voices.splice(o,1)}}function on(t){t.releaseStartTime=currentTime,t.releaseStartTime-t.startTimean=t);var Jo=function(t){var A,e,s,n,o,g,E,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",B="",d=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do n=h.indexOf(t.charAt(d++)),o=h.indexOf(t.charAt(d++)),g=h.indexOf(t.charAt(d++)),E=h.indexOf(t.charAt(d++)),A=n<<2|o>>4,e=(15&o)<<4|g>>2,s=(3&g)<<6|E,B+=String.fromCharCode(A),g!==64&&(B+=String.fromCharCode(e)),E!==64&&(B+=String.fromCharCode(s));while(d1&&(i.thisProgram=process.argv[1].replace(/\\/g,"/")),i.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(a){if(!(a instanceof De))throw a}),process.on("unhandledRejection",function(a,C){process.exit(1)}),i.quit=function(a){process.exit(a)},i.inspect=function(){return"[Emscripten Module object]"}):oA?(typeof read<"u"&&(i.read=function(C){return read(C)}),i.readBinary=function(C){var Q;return typeof readbuffer=="function"?new Uint8Array(readbuffer(C)):(zA(typeof(Q=read(C,"binary"))=="object"),Q)},typeof scriptArgs<"u"?i.arguments=scriptArgs:typeof arguments<"u"&&(i.arguments=arguments),typeof quit=="function"&&(i.quit=function(a){quit(a)})):(_||v)&&(_?document.currentScript&&(rA=document.currentScript.src):rA=self.location.href,rA=rA.indexOf("blob:")!==0?rA.split("/").slice(0,-1).join("/")+"/":"",i.read=function(C){var Q=new XMLHttpRequest;return Q.open("GET",C,!1),Q.send(null),Q.responseText},v&&(i.readBinary=function(C){var Q=new XMLHttpRequest;return Q.open("GET",C,!1),Q.responseType="arraybuffer",Q.send(null),new Uint8Array(Q.response)}),i.readAsync=function(C,Q,f){var R=new XMLHttpRequest;R.open("GET",C,!0),R.responseType="arraybuffer",R.onload=function(){if(R.status==200||R.status==0&&R.response){Q(R.response);return}f()},R.onerror=f,R.send(null)},i.setWindowTitle=function(a){document.title=a});var be=i.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),xA=i.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||be);for(t in nA)nA.hasOwnProperty(t)&&(i[t]=nA[t]);function Le(a){var C=u;return u=u+a+15&-16,C}function Xt(a){var C=h[x>>2],Q=C+a+15&-16;return h[x>>2]=Q,Q>=hA&&!ns()?(h[x>>2]=C,0):C}function Wt(a,C){return C||(C=16),a=Math.ceil(a/C)*C}function po(a){switch(a){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(a[a.length-1]==="*")return 4;if(a[0]!=="i")return 0;var C=parseInt(a.substr(1));return zA(C%8==0),C/8}}function pe(a){pe.shown||(pe.shown={}),pe.shown[a]||(pe.shown[a]=1,xA(a))}nA=void 0;var yo={"f64-rem":function(a,C){return a%C},debugger:function(){}},It=[];function Zo(a,C){for(var Q=0,f=Q;f>>0)+4294967296*+(C>>>0):+(a>>>0)+4294967296*+(0|C)}function Et(a,C,Q){return Q&&Q.length?i["dynCall_"+a].apply(null,[C].concat(Q)):i["dynCall_"+a].call(null,C)}var Ue=0,_t=0;function zA(a,C){a||ZA("Assertion failed: "+C)}function zt(a){var C=i["_"+a];return zA(C,"Cannot call unknown function "+a+", make sure it is exported"),C}var jt={stackSave:function(){dt()},stackRestore:function(){ut()},arrayToC:function(a){var C,Q,f=qe(a.length);return C=a,Q=f,n.set(C,Q),f},stringToC:function(a){var C=0;if(a!=null&&a!==0){var Q=(a.length<<2)+1;C=qe(Q),es(a,C,Q)}return C}},So={string:jt.stringToC,array:jt.arrayToC};function $t(a,C,Q,f,R){var P=zt(a),X=[],N=0;if(f)for(var QA=0;QA>0]=C;break;case"i16":g[a>>1]=C;break;case"i32":h[a>>2]=C;break;case"i64":tempI64=[C>>>0,+Go(tempDouble=C)>=1?tempDouble>0?(0|Mo(+Is(tempDouble/4294967296),4294967295))>>>0:~~+xo((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],h[a>>2]=tempI64[0],h[a+4>>2]=tempI64[1];break;case"float":d[a>>2]=C;break;case"double":c[a>>3]=C;break;default:ZA("invalid type for setValue: "+Q)}}function zo(a,C,Q){switch((C=C||"i8").charAt(C.length-1)==="*"&&(C="i32"),C){case"i1":case"i8":return n[a>>0];case"i16":return g[a>>1];case"i32":case"i64":return h[a>>2];case"float":return d[a>>2];case"double":return c[a>>3];default:ZA("invalid type for getValue: "+C)}return null}function jo(a,C,Q,f){typeof a=="number"?(P=!0,X=a):(P=!1,X=a.length);var R=typeof C=="string"?C:null;if(N=Q==4?f:[typeof ve=="function"?ve:Le,qe,Le,Xt][Q===void 0?2:Q](Math.max(X,R?1:C.length)),P){for(f=N,zA((3&N)==0),QA=N+(-4&X);f>2]=0;for(QA=N+X;f>0]=0;return N}if(R==="i8")return a.subarray||a.slice?o.set(a,N):o.set(new Uint8Array(a),N),N;for(var P,X,N,QA,iA,aA,tA,q=0;q>0],(f!=0||C)&&(X++,!C||X!=C););C||(C=X);var N="";if(P<128){for(;C>0;)R=String.fromCharCode.apply(String,o.subarray(a,a+Math.min(C,1024))),N=N?N+R:R,a+=1024,C-=1024;return N}return Q=a,function(iA,aA){for(var tA=aA;iA[tA];)++tA;if(tA-aA>16&&iA.subarray&&As)return As.decode(iA.subarray(aA,tA));for(var q,mA,MA,NA,bA,se,LA="";;){if(!(q=iA[aA++]))return LA;if(!(128&q)){LA+=String.fromCharCode(q);continue}if(mA=63&iA[aA++],(224&q)==192){LA+=String.fromCharCode((31&q)<<6|mA);continue}if(MA=63&iA[aA++],(240&q)==224?q=(15&q)<<12|mA<<6|MA:(NA=63&iA[aA++],(248&q)==240?q=(7&q)<<18|mA<<12|MA<<6|NA:(bA=63&iA[aA++],q=(252&q)==248?(3&q)<<24|mA<<18|MA<<12|NA<<6|bA:(1&q)<<30|mA<<24|MA<<18|NA<<12|bA<<6|(se=63&iA[aA++]))),q<65536)LA+=String.fromCharCode(q);else{var ke=q-65536;LA+=String.fromCharCode(55296|ke>>10,56320|1023&ke)}}}(o,Q)}function Ar(a){for(var C="";;){var Q=n[a++>>0];if(!Q)return C;C+=String.fromCharCode(Q)}}function er(a,C){return function(f,R,P){for(var X=0;X>0]=f.charCodeAt(X);P||(n[R>>0]=0)}(a,C,!1)}var As=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function He(a,C,Q,f){if(!(f>0))return 0;for(var R=Q,P=Q+f-1,X=0;X=55296&&N<=57343&&(N=65536+((1023&N)<<10)|1023&a.charCodeAt(++X)),N<=127){if(Q>=P)break;C[Q++]=N}else if(N<=2047){if(Q+1>=P)break;C[Q++]=192|N>>6,C[Q++]=128|63&N}else if(N<=65535){if(Q+2>=P)break;C[Q++]=224|N>>12,C[Q++]=128|N>>6&63,C[Q++]=128|63&N}else if(N<=2097151){if(Q+3>=P)break;C[Q++]=240|N>>18,C[Q++]=128|N>>12&63,C[Q++]=128|N>>6&63,C[Q++]=128|63&N}else if(N<=67108863){if(Q+4>=P)break;C[Q++]=248|N>>24,C[Q++]=128|N>>18&63,C[Q++]=128|N>>12&63,C[Q++]=128|N>>6&63,C[Q++]=128|63&N}else{if(Q+5>=P)break;C[Q++]=252|N>>30,C[Q++]=128|N>>24&63,C[Q++]=128|N>>18&63,C[Q++]=128|N>>12&63,C[Q++]=128|N>>6&63,C[Q++]=128|63&N}}return C[Q]=0,Q-R}function es(a,C,Q){return He(a,o,C,Q)}function Ye(a){for(var C=0,Q=0;Q=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&a.charCodeAt(++Q)),f<=127?++C:f<=2047?C+=2:f<=65535?C+=3:f<=2097151?C+=4:f<=67108863?C+=5:C+=6}return C}var ts=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function tr(a){for(var C=a,Q=C>>1;g[Q];)++Q;if((C=Q<<1)-a>32&&ts)return ts.decode(o.subarray(a,C));for(var f=0,R="";;){var P=g[a+2*f>>1];if(P==0)return R;++f,R+=String.fromCharCode(P)}}function sr(a,C,Q){if(Q===void 0&&(Q=2147483647),Q<2)return 0;for(var f=C,R=(Q-=2)<2*a.length?Q/2:a.length,P=0;P>1]=X,C+=2}return g[C>>1]=0,C-f}function nr(a){return 2*a.length}function or(a){for(var C=0,Q="";;){var f=h[a+4*C>>2];if(f==0)return Q;if(++C,f>=65536){var R=f-65536;Q+=String.fromCharCode(55296|R>>10,56320|1023&R)}else Q+=String.fromCharCode(f)}}function rr(a,C,Q){if(Q===void 0&&(Q=2147483647),Q<4)return 0;for(var f=C,R=f+Q-4,P=0;P=55296&&X<=57343&&(X=65536+((1023&X)<<10)|1023&a.charCodeAt(++P)),h[C>>2]=X,(C+=4)+4>R)break}return h[C>>2]=0,C-f}function ir(a){for(var C=0,Q=0;Q=55296&&f<=57343&&++Q,C+=4}return C}function ar(a){var C=Ye(a)+1,Q=ve(C);return Q&&He(a,n,Q,C),Q}function Ir(a){var C=Ye(a)+1,Q=qe(C);return He(a,n,Q,C),Q}function gr(a){return a}function Er(){var a,C=function(){var f=Error();if(!f.stack){try{throw Error(0)}catch(R){f=R}if(!f.stack)return"(no stack trace available)"}return f.stack.toString()}();return i.extraStackTrace&&(C+=` -`+i.extraStackTrace()),(a=C).replace(/__Z[\w\d_]+/g,function(Q){var f,R=f=Q;return Q===R?Q:Q+" ["+R+"]"})}function Ct(a,C){return a%C>0&&(a+=C-a%C),a}function ss(a){i.buffer=s=a}function Bt(){i.HEAP8=n=new Int8Array(s),i.HEAP16=g=new Int16Array(s),i.HEAP32=h=new Int32Array(s),i.HEAPU8=o=new Uint8Array(s),i.HEAPU16=E=new Uint16Array(s),i.HEAPU32=B=new Uint32Array(s),i.HEAPF32=d=new Float32Array(s),i.HEAPF64=c=new Float64Array(s)}function ns(){var a=i.usingWasm?65536:16777216,C=2147483648-a;if(h[x>>2]>C)return!1;var Q=hA;for(hA=Math.max(hA,16777216);hA>2];)hA=hA<=536870912?Ct(2*hA,a):Math.min(Ct((3*hA+2147483648)/4,a),C);var f=i.reallocBuffer(hA);return f&&f.byteLength==hA?(ss(f),Bt(),!0):(hA=Q,!1)}l=u=y=k=w=G=x=0,D=!1,i.reallocBuffer||(i.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)C=ArrayBuffer.transfer(s,a);else{var C,Q=n;C=new ArrayBuffer(a),new Int8Array(C).set(Q)}}catch{return!1}return!!No(C)&&C});try{(b=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{b=function(C){return C.byteLength}}var ht=i.TOTAL_STACK||5242880,hA=i.TOTAL_MEMORY||16777216;function ko(){return hA}function ye(a){for(;a.length>0;){var C=a.shift();if(typeof C=="function"){C();continue}var Q=C.func;typeof Q=="number"?C.arg===void 0?i.dynCall_v(Q):i.dynCall_vi(Q,C.arg):Q(C.arg===void 0?null:C.arg)}}hA=0?a:C<=32?2*Math.abs(1<=f&&(C<=32||a>f)&&(a=-2*f+a),a}var Go=Math.abs,xo=Math.ceil,Is=Math.floor,Mo=Math.min,te=0,lt=null,Se=null;function ur(a){return a}i.preloadedImages={},i.preloadedAudios={};var gs="data:application/octet-stream;base64,";function Je(a){return String.prototype.startsWith?a.startsWith(gs):a.indexOf(gs)===0}(function(){var C="main.wast",Q="main.wasm",f="main.temp.asm.js";Je(C)||(C=EA(C)),Je(Q)||(Q=EA(Q)),Je(f)||(f=EA(f));var R={global:null,env:null,asm2wasm:yo,parent:i},P=null;function X(tA){return tA}function N(){try{if(i.wasmBinary)return new Uint8Array(i.wasmBinary);if(i.readBinary)return i.readBinary(Q);throw"both async and sync fetching of the wasm failed"}catch(tA){ZA(tA)}}i.asmPreload=i.asm;var QA=i.reallocBuffer,iA=function(tA){tA=Ct(tA,i.usingWasm?65536:16777216);var q=i.buffer.byteLength;if(i.usingWasm)try{var mA=i.wasmMemory.grow((tA-q)/65536);return mA!==-1?i.buffer=i.wasmMemory.buffer:null}catch{return null}};i.reallocBuffer=function(tA){return aA==="asmjs"?QA(tA):iA(tA)};var aA="";i.asm=function(tA,q,mA){var MA;if(!(q=MA=q).table){var NA,bA=i.wasmTableSize;bA===void 0&&(bA=1024);var se=i.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?se!==void 0?q.table=new WebAssembly.Table({initial:bA,maximum:se,element:"anyfunc"}):q.table=new WebAssembly.Table({initial:bA,element:"anyfunc"}):q.table=Array(bA),i.wasmTable=q.table}return q.memoryBase||(q.memoryBase=i.STATIC_BASE),q.tableBase||(q.tableBase=0),NA=function(ke,Ie,mt){if(typeof WebAssembly!="object")return xA("no native wasm support detected"),!1;if(!(i.wasmMemory instanceof WebAssembly.Memory))return xA("no native wasm Memory in use"),!1;function Pe(vA,qA){if((P=vA.exports).memory){var we,pt,Bs;we=P.memory,pt=i.buffer,we.byteLength0?Q:Ye(a)+1,R=Array(f),P=He(a,R,0,R.length);return C&&(R.length=P),R}function pr(a){for(var C=[],Q=0;Q255&&(f&=255),C.push(String.fromCharCode(f))}return C.join("")}u+=16,x=Le(4),w=(y=k=Wt(u))+ht,G=Wt(w),h[x>>2]=G,D=!0,i.wasmTableSize=4,i.wasmMaxTableSize=4,i.asmGlobalArg={},i.asmLibraryArg={abort:ZA,assert:zA,enlargeMemory:ns,getTotalMemory:ko,abortOnCannotGrowMemory:function(){ZA("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+hA+", (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(C,Q,f){var R=dt();try{return i.dynCall_iii(C,Q,f)}catch(P){if(ut(R),typeof P!="number"&&P!=="longjmp")throw P;i.setThrew(1,0)}},___assert_fail:function(C,Q,f,R){ZA("Assertion failed: "+Te(C)+", at: "+[Q?Te(Q):"unknown filename",f,R?Te(R):"unknown function"])},___setErrNo:function(C){return i.___errno_location&&(h[i.___errno_location()>>2]=C),C},_abort:function(){i.abort()},_emscripten_memcpy_big:function(C,Q,f){return o.set(o.subarray(Q,Q+f),C),C},_llvm_floor_f64:Is,DYNAMICTOP_PTR:x,tempDoublePtr:kA,ABORT:Ue,STACKTOP:k,STACK_MAX:w};var Es=i.asm(i.asmGlobalArg,i.asmLibraryArg,s);i.asm=Es,i.___errno_location=function(){return i.asm.___errno_location.apply(null,arguments)};var No=i._emscripten_replace_memory=function(){return i.asm._emscripten_replace_memory.apply(null,arguments)};i._free=function(){return i.asm._free.apply(null,arguments)};var ve=i._malloc=function(){return i.asm._malloc.apply(null,arguments)};i._memcpy=function(){return i.asm._memcpy.apply(null,arguments)},i._memset=function(){return i.asm._memset.apply(null,arguments)},i._sbrk=function(){return i.asm._sbrk.apply(null,arguments)},i._stb_vorbis_js_channels=function(){return i.asm._stb_vorbis_js_channels.apply(null,arguments)},i._stb_vorbis_js_close=function(){return i.asm._stb_vorbis_js_close.apply(null,arguments)},i._stb_vorbis_js_decode=function(){return i.asm._stb_vorbis_js_decode.apply(null,arguments)},i._stb_vorbis_js_open=function(){return i.asm._stb_vorbis_js_open.apply(null,arguments)},i._stb_vorbis_js_sample_rate=function(){return i.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},i.establishStackSpace=function(){return i.asm.establishStackSpace.apply(null,arguments)},i.getTempRet0=function(){return i.asm.getTempRet0.apply(null,arguments)},i.runPostSets=function(){return i.asm.runPostSets.apply(null,arguments)},i.setTempRet0=function(){return i.asm.setTempRet0.apply(null,arguments)},i.setThrew=function(){return i.asm.setThrew.apply(null,arguments)};var qe=i.stackAlloc=function(){return i.asm.stackAlloc.apply(null,arguments)},ut=i.stackRestore=function(){return i.asm.stackRestore.apply(null,arguments)},dt=i.stackSave=function(){return i.asm.stackSave.apply(null,arguments)};function De(a){this.name="ExitStatus",this.message="Program terminated with exit("+a+")",this.status=a}function ft(a){a=a||i.arguments,!(te>0)&&(function(){if(i.preRun)for(typeof i.preRun=="function"&&(i.preRun=[i.preRun]);i.preRun.length;)Fo(i.preRun.shift());ye(os)}(),!(te>0)&&(i.calledRun||(i.setStatus?(i.setStatus("Running..."),setTimeout(function(){setTimeout(function(){i.setStatus("")},1),C()},1)):C())));function C(){!i.calledRun&&(i.calledRun=!0,Ue||(ct||(ct=!0,ye(Qt)),ye(rs),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for(typeof i.postRun=="function"&&(i.postRun=[i.postRun]);i.postRun.length;)Ro(i.postRun.shift());ye(as)}()))}}function yr(a,C){(!C||!i.noExitRuntime||a!==0)&&(i.noExitRuntime||(Ue=!0,_t=a,k=$,ye(is),wo=!0,i.onExit&&i.onExit(a)),i.quit(a,new De(a)))}function ZA(a){throw i.onAbort&&i.onAbort(a),a!==void 0?(be(a),xA(a),a=JSON.stringify(a)):a="",Ue=!0,_t=1,"abort("+a+"). Build with -s ASSERTIONS=1 for more info."}if(i.dynCall_iii=function(){return i.asm.dynCall_iii.apply(null,arguments)},i.asm=Es,i.ccall=$t,i.cwrap=function(C,Q,f,R){var P=(f=f||[]).every(function(X){return X==="number"});return Q!=="string"&&P&&!R?zt(C):function(){return $t(C,Q,f,arguments,R)}},De.prototype=Error(),De.prototype.constructor=De,Se=function a(){i.calledRun||ft(),i.calledRun||(Se=a)},i.run=ft,i.abort=ZA,i.preInit)for(typeof i.preInit=="function"&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();i.noExitRuntime=!0,ft(),i.onRuntimeInitialized=()=>{rn=!0,an()},VA.decode=function(a){return function(Q){if(!rn)throw Error("Not initialized");var f={};function R(Ie){return new Int32Array(i.HEAPU8.buffer,Ie,1)[0]}function P(Ie,mt){var Pe=new ArrayBuffer(mt*Float32Array.BYTES_PER_ELEMENT),ge=new Float32Array(Pe);return ge.set(new Float32Array(i.HEAPU8.buffer,Ie,mt)),ge}f.open=i.cwrap("stb_vorbis_js_open","number",[]),f.close=i.cwrap("stb_vorbis_js_close","void",["number"]),f.channels=i.cwrap("stb_vorbis_js_channels","number",["number"]),f.sampleRate=i.cwrap("stb_vorbis_js_sample_rate","number",["number"]),f.decode=i.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var X,N,QA,iA,aA=f.open(),tA=(X=Q,N=Q.byteLength,QA=i._malloc(N),(iA=new Uint8Array(i.HEAPU8.buffer,QA,N)).set(new Uint8Array(X,0,N)),iA),q=i._malloc(4),mA=i._malloc(4),MA=f.decode(aA,tA.byteOffset,tA.byteLength,q,mA);if(i._free(tA.byteOffset),MA<0)throw f.close(aA),i._free(q),Error("stbvorbis decode failed: "+MA);for(var NA=f.channels(aA),bA=Array(NA),se=new Int32Array(i.HEAPU32.buffer,R(q),NA),LA=0;LA=0&&(s=this.workletProcessorChannels[e]),t.messageType){case eA.noteOn:this.noteOn(e,A[0],A[1],A[2]);break;case eA.noteOff:this.noteOff(e,A);break;case eA.pitchWheel:this.pitchWheel(e,A[0],A[1]);break;case eA.ccChange:this.controllerChange(e,A[0],A[1],A[2]);break;case eA.customcCcChange:s.customControllers[A[0]]=A[1];break;case eA.killNote:this.killNote(e,A);break;case eA.programChange:this.programChange(e,A[0],A[1]);break;case eA.channelPressure:this.channelPressure(e,A);break;case eA.polyPressure:this.polyPressure(e,A[0],A[1]);break;case eA.ccReset:e===TA?this.resetAllControllers():this.resetControllers(e);break;case eA.systemExclusive:this.systemExclusive(A);break;case eA.setChannelVibrato:if(e===TA)for(let g=0;g{let e=(A.midiControllers[CA+K.pitchWheelRange]>>7)+(A.midiControllers[CA+K.pitchWheelRange]&127)/127;return{voicesAmount:A.voices.length,pitchBend:A.midiControllers[CA+K.pitchWheel],pitchBendRangeSemitones:e,isMuted:A.isMuted,isDrum:A.drumChannel}});this.post({messageType:pA.channelProperties,messageData:t})}function vo(t,A,e){let s=t,n=A<<7|e;return t===127&&A===127&&e===127?{midiNote:-1,centTuning:null}:{midiNote:s,centTuning:n*.0061}}function Cn(t,A=0){let e=t[0];if(!(this.deviceID!==TA&&t[1]!==127&&this.deviceID!==t[1]))switch(e){default:T(`%cUnrecognized SysEx: %c${uA(t)}`,r.warn,r.unrecognized);break;case 126:case 127:switch(t[2]){case 4:let n;switch(t[3]){case 1:let o=t[5]<<7|t[4];this.setMIDIVolume(o/16384),m(`%cMaster Volume. Volume: %c${o}`,r.info,r.value);break;case 2:let E=((t[5]<<7|t[4])-8192)/8192;this.setMasterPan(E),m(`%cMaster Pan. Pan: %c${E}`,r.info,r.value);break;case 3:let h=(t[5]<<7|t[6])-8192;n=Math.floor(h/81.92),this.setMasterTuning(n),m(`%cMaster Fine Tuning. Cents: %c${n}`,r.info,r.value);break;case 4:n=(t[5]-64)*100,this.setMasterTuning(n),m(`%cMaster Coarse Tuning. Cents: %c${n}`,r.info,r.value);break;default:T(`%cUnrecognized MIDI Device Control Real-time message: %c${uA(t)}`,r.warn,r.unrecognized)}break;case 9:t[3]===1?(m("%cGM system on",r.info),this.system="gm"):t[3]===3?(m("%cGM2 system on",r.info),this.system="gm2"):(m("%cGM system off, defaulting to GS",r.info),this.system="gs");break;case 8:switch(t[3]){case 2:case 7:let o=4;t[3]===7&&o++;let g=t[o++],E=t[o++];for(let B=0;B>1&1)===1&&this.setOctaveTuning(15+A,h);for(let B=0;B<7;B++)(t[5]>>B&1)===1&&this.setOctaveTuning(7+B+A,h);for(let B=0;B<7;B++)(t[6]>>B&1)===1&&this.setOctaveTuning(B+A,h);m(`%cMIDI Octave Scale ${t[3]===8?"(1 byte)":"(2 bytes)"} tuning via Tuning: %c${h.join(" ")}`,r.info,r.value);break;default:T(`%cUnrecognized MIDI Tuning standard message: %c${uA(t)}`,r.warn,r.unrecognized);break}break;default:T(`%cUnrecognized MIDI Realtime/non realtime message: %c${uA(t)}`,r.warn,r.unrecognized)}break;case 65:let s=function(){T(`%cUnrecognized Roland %cGS %cSysEx: %c${uA(t)}`,r.warn,r.recognized,r.warn,r.unrecognized)};if(t[2]===66&&t[3]===18){let n=t[7];if(t[6]===127){n===0?(m("%cGS Reset received!",r.info),this.resetAllControllers(!1),this.system="gs"):n===127&&(m("%cGS system off, switching to GM2",r.info),this.resetAllControllers(!1),this.system="gm2");return}else if(t[4]===64){if((t[5]&16)>0){let o=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][t[5]&15]+A;switch(t[6]){default:s();break;case 21:let g=n>0&&t[5]>>4;this.setDrums(o,g),m(`%cChannel %c${o}%c ${g?"is now a drum channel":"now isn't a drum channel"}%c via: %c${uA(t)}`,r.info,r.value,r.recognized,r.info,r.value);return;case 22:let E=n-64;this.transposeChannel(o,E),m(`%cChannel %c${o}%c pitch shift. Semitones %c${E}%c, with %c${uA(t)}`,r.info,r.recognized,r.info,r.value,r.info,r.value);return;case 28:let h=n;h===0&&(h=Math.floor(Math.random()*128)),this.controllerChange(o,p.pan,h);break;case 33:this.controllerChange(o,p.chorusDepth,n);break;case 34:this.controllerChange(o,p.reverbDepth,n);break;case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:let B=t.length-9,d=new Int8Array(12);for(let l=0;l=this.workletProcessorChannels.length)return;let o=t[6];switch(t[5]){case 1:this.controllerChange(n,p.bankSelect,o);break;case 2:this.controllerChange(n,p.lsbForControl0BankSelect,o);break;case 3:this.programChange(n,o);break;case 8:let g=this.workletProcessorChannels[n];if(g.drumChannel)return;let E=o-64;g.channelTransposeKeyShift=E;break;case 11:this.controllerChange(n,p.mainVolume,o);break;case 14:let h=o;h===0&&(h=Math.floor(Math.random()*127)),this.controllerChange(n,p.pan,h);break;case 19:this.controllerChange(n,p.reverbDepth,o);break;case 18:this.controllerChange(n,p.chorusDepth,o);break;default:T(`%cUnrecognized Yamaha XG Part Setup: %c${t[5].toString(16).toUpperCase()}`,r.warn,r.unrecognized)}}else this.system==="xg"&&T(`%cUnrecognized Yamaha XG SysEx: %c${uA(t)}`,r.warn,r.unrecognized);else this.system==="xg"&&T(`%cUnrecognized Yamaha SysEx: %c${uA(t)}`,r.warn,r.unrecognized);break}}var qo=1e3/200;function Bn(t,A,e){if(A.transformAmount===0)return A.currentValue=0,0;let s;if(A.sourceUsesCC)s=t[A.sourceIndex];else{let B=A.sourceIndex+CA;switch(A.sourceIndex){case K.noController:s=16383;break;case K.noteOnKeyNum:s=e.midiNote<<7;break;case K.noteOnVelocity:s=e.velocity<<7;break;case K.polyPressure:s=e.pressure<<7;break;default:s=t[B];break}}let n=ie[A.sourceCurveType][A.sourcePolarity][A.sourceDirection][s],o;if(A.secSrcUsesCC)o=t[A.secSrcIndex];else{let B=A.secSrcIndex+CA;switch(A.secSrcIndex){case K.noController:o=16383;break;case K.noteOnKeyNum:o=e.midiNote<<7;break;case K.noteOnVelocity:o=e.velocity<<7;break;case K.polyPressure:o=e.pressure<<7;break;default:o=t[B]}}let g=ie[A.secSrcCurveType][A.secSrcPolarity][A.secSrcDirection][o],E=A.transformAmount;A.isEffectModulator&&E<=1e3&&(E*=qo,E=Math.min(E,1e3));let h=n*g*E;return A.transformType===2&&(h=Math.abs(h)),A.currentValue=h,h}function WA(t,A,e=-1,s=0){let n=t.modulators,o=t.generators,g=t.modulatedGenerators;if(JA.recalculate(t),e===-1){g.set(o),n.forEach(B=>{let d=U[B.modulatorDestination],c=g[B.modulatorDestination]+Bn(A,B,t);g[B.modulatorDestination]=Math.max(d.min,Math.min(c,d.max))}),UA.recalculate(t);return}let E=new Set([I.initialAttenuation,I.delayVolEnv,I.attackVolEnv,I.holdVolEnv,I.decayVolEnv,I.sustainVolEnv,I.releaseVolEnv,I.keyNumToVolEnvHold,I.keyNumToVolEnvDecay]),h=new Set;n.forEach(B=>{if(B.sourceUsesCC===e&&B.sourceIndex===s||B.secSrcUsesCC===e&&B.secSrcIndex===s){let d=B.modulatorDestination;h.has(d)||(g[d]=o[d],Bn(A,B,t),n.forEach(c=>{if(c.modulatorDestination===d){let l=U[B.modulatorDestination],u=g[B.modulatorDestination]+c.currentValue;g[B.modulatorDestination]=Math.max(l.min,Math.min(u,l.max))}}),h.add(d))}}),[...h].some(B=>E.has(B))&&UA.recalculate(t)}var ie=[];for(let t=0;t<4;t++){ie[t]=[[new Float32Array(BA),new Float32Array(BA)],[new Float32Array(BA),new Float32Array(BA)]];for(let A=0;A200&&e<40||this.highPerformanceMode&&e<10||g.isMuted)return;let E=A+g.channelTransposeKeyShift,h=E;if(A>127||A<0)return;let B=g.preset.program;this.tunings[B]?.[A]?.midiNote>=0&&(h=this.tunings[B]?.[A].midiNote),g.velocityOverride>0&&(e=g.velocityOverride);let d=this.getWorkletVoices(t,h,e,g,o,E,s),c=g.voices;d.forEach(l=>{let u=l.generators[I.exclusiveClass];u!==0&&c.forEach(b=>{b.generators[I.exclusiveClass]===u&&(this.releaseVoice(b),b.modulatedGenerators[I.releaseVolEnv]=-7e3,b.modulatedGenerators[I.releaseModEnv]=-7e3,UA.recalculate(b),JA.recalculate(b))}),WA(l,g.midiControllers);let D=l.modulatedGenerators[I.startAddrsOffset]+l.modulatedGenerators[I.startAddrsCoarseOffset]*32768,y=l.modulatedGenerators[I.endAddrOffset]+l.modulatedGenerators[I.endAddrsCoarseOffset]*32768,k=l.modulatedGenerators[I.startloopAddrsOffset]+l.modulatedGenerators[I.startloopAddrsCoarseOffset]*32768,w=l.modulatedGenerators[I.endloopAddrsOffset]+l.modulatedGenerators[I.endloopAddrsCoarseOffset]*32768,G=l.sample,x=b=>Math.max(0,Math.min(G.sampleData.length-1,b));if(G.cursor=x(G.cursor+D),G.end=x(G.end+y),G.loopStart=x(G.loopStart+k),G.loopEnd=x(G.loopEnd+w),G.loopEndthis.voiceCap&&this.voiceKilling(d.length),c.push(...d),n&&(this.sendChannelProperties(),this.callEvent("noteon",{midiNote:A,channel:t,velocity:e}))}function Qn(t,A){if(A>127||A<0){T("Received a noteOn for note",A,"Ignoring.");return}let e=A+this.workletProcessorChannels[t].channelTransposeKeyShift;if(this.highPerformanceMode&&!this.workletProcessorChannels[t].drumChannel){this.killNote(t,e);return}this.workletProcessorChannels[t].voices.forEach(n=>{n.realKey!==e||n.isInRelease===!0||(this.workletProcessorChannels[t].holdPedal?this.workletProcessorChannels[t].sustainedVoices.push(n):this.releaseVoice(n))}),this.callEvent("noteoff",{midiNote:A,channel:t})}function cn(t,A){this.workletProcessorChannels[t].voices.forEach(e=>{e.realKey===A&&(e.modulatedGenerators[I.releaseVolEnv]=-12e3,this.releaseVoice(e))})}function ln(t,A=!1){let e=this.workletProcessorChannels[t].voices;A?(e.length=0,this.workletProcessorChannels[t].sustainedVoices.length=0,this.sendChannelProperties()):(e.forEach(s=>{s.isInRelease||this.releaseVoice(s)}),this.workletProcessorChannels[t].sustainedVoices.forEach(s=>{this.releaseVoice(s)}))}function un(t=!1){m("%cStop all received!",r.info);for(let A=0;AWA(n,this.workletProcessorChannels[t].midiControllers,0,K.pitchWheel)),this.sendChannelProperties()}function kn(t,A){let e=this.workletProcessorChannels[t];e.midiControllers[CA+K.channelPressure]=A<<7,this.workletProcessorChannels[t].voices.forEach(s=>WA(s,e.midiControllers,0,K.channelPressure)),this.callEvent("channelpressure",{channel:t,pressure:A})}function wn(t,A,e){this.workletProcessorChannels[t].voices.forEach(s=>{s.midiNote===A&&(s.pressure=e,WA(s,this.workletProcessorChannels[t].midiControllers,0,K.polyPressure))}),this.callEvent("polypressure",{channel:t,midiNote:A,pressure:e})}function Fn(t,A){if(A.length!==12)throw new Error("Tuning is not the length of 12.");this.workletProcessorChannels[t].channelOctaveTuning=A}function Rn(t,A,e,s=!1){let n=this.workletProcessorChannels[t];if(n===void 0){T(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(A>127){if(!s)return;switch(A){default:return;case Rt.velocityOverride:n.velocityOverride=e}}if(A>=p.lsbForControl1ModulationWheel&&A<=p.lsbForControl13EffectControl2&&A!==p.lsbForControl6DataEntry){let o=A-32;if(n.lockedControllers[o])return;n.midiControllers[o]=n.midiControllers[o]&16256|e&127,n.voices.forEach(g=>WA(g,n.midiControllers,1,o))}switch(A){case p.allNotesOff:this.stopAll(t);break;case p.allSoundOff:this.stopAll(t,!0);break;case p.bankSelect:let o=e;if(!s){switch(this.system){case"gm":m(`%cIgnoring the Bank Select (${e}), as the synth is in GM mode.`,r.info);return;case"xg":o===120||o===126||o===127?this.setDrums(t,!0):t%16!==SA&&this.setDrums(t,!1);break;case"gm2":o===120&&this.setDrums(t,!0)}n.drumChannel&&(o=128),o===128&&!n.drumChannel&&(o=PA(n))}jA(n,o);break;case p.lsbForControl0BankSelect:this.system==="xg"?n.drumChannel||e!==127&&jA(n,e):this.system==="gm2"&&jA(n,e);break;case p.RPNLsb:n.RPValue=n.RPValue<<7|e,n.dataEntryState=fA.RPFine;break;case p.RPNMsb:n.RPValue=e,n.dataEntryState=fA.RPCoarse;break;case p.NRPNMsb:n.NRPCoarse=e,n.dataEntryState=fA.NRPCoarse;break;case p.NRPNLsb:n.NRPFine=e,n.dataEntryState=fA.NRPFine;break;case p.dataEntryMsb:this.dataEntryCoarse(t,e);break;case p.lsbForControl6DataEntry:this.dataEntryFine(t,e);break;case p.resetAllControllers:this.resetControllers(t);break;case p.sustainPedal:e>=64?n.holdPedal=!0:(n.holdPedal=!1,n.sustainedVoices.forEach(g=>{this.releaseVoice(g)}),n.sustainedVoices=[]);break;default:if(n.lockedControllers[A])return;n.midiControllers[A]=e<<7,n.voices.forEach(g=>WA(g,n.midiControllers,1,A));break}this.callEvent("controllerchange",{channel:t,controllerNumber:A,controllerValue:e})}function Gn(t){this.midiVolume=t,this.setMasterPan(this.pan)}function xn(t){this.masterGain=t*Ht,this.setMasterPan(this.pan)}function Mn(t){this.pan=t,t=t/2+.5,this.panLeft=(1-t)*this.currentGain,this.panRight=t*this.currentGain}function Nn(t,A){A&&this.stopAll(t,!0),this.workletProcessorChannels[t].isMuted=A,this.sendChannelProperties(),this.callEvent("mutechannel",{channel:t,isMuted:A})}function bn(t){this.workletProcessorChannels[t].lockGSNRPNParams=!0,this.workletProcessorChannels[t].channelVibrato.rate=0,this.workletProcessorChannels[t].channelVibrato.delay=0,this.workletProcessorChannels[t].channelVibrato.depth=0}function Ln(t,A,e,s){this.workletProcessorChannels[t].lockGSNRPNParams||(this.workletProcessorChannels[t].channelVibrato.rate=e,this.workletProcessorChannels[t].channelVibrato.delay=s,this.workletProcessorChannels[t].channelVibrato.depth=A)}function Un(t,A){let e=this.workletProcessorChannels[t],s=()=>{e.channelVibrato.delay===0&&e.channelVibrato.rate===0&&e.channelVibrato.depth===0&&(e.channelVibrato.depth=50,e.channelVibrato.rate=8,e.channelVibrato.delay=.6)};switch(e.dataEntryState){default:case fA.Idle:break;case fA.NRPFine:if(this.system!=="gs"||e.lockGSNRPNParams)return;switch(e.NRPCoarse){default:if(A===64)return;T(`%cUnrecognized NRPN for %c${t}%c: %c(0x${e.NRPCoarse.toString(16).toUpperCase()} 0x${e.NRPFine.toString(16).toUpperCase()})%c data value: %c${A}`,r.warn,r.recognized,r.warn,r.unrecognized,r.warn,r.value);break;case 1:switch(e.NRPFine){default:if(A===64)return;T(`%cUnrecognized NRPN for %c${t}%c: %c(0x${e.NRPCoarse.toString(16)} 0x${e.NRPFine.toString(16)})%c data value: %c${A}`,r.warn,r.recognized,r.warn,r.unrecognized,r.warn,r.value);break;case 8:if(A===64)return;s(),e.channelVibrato.rate=A/64*8,m(`%cVibrato rate for %c${t}%c is now set to %c${A} = ${e.channelVibrato.rate}%cHz.`,r.info,r.recognized,r.info,r.value,r.info);break;case 9:if(A===64)return;s(),e.channelVibrato.depth=A/2,m(`%cVibrato depth for %c${t}%c is now set to %c${A} = ${e.channelVibrato.depth}%c cents range of detune.`,r.info,r.recognized,r.info,r.value,r.info);break;case 10:if(A===64)return;s(),e.channelVibrato.delay=A/64/3,m(`%cVibrato delay for %c${t}%c is now set to %c${A} = ${e.channelVibrato.delay}%c seconds.`,r.info,r.recognized,r.info,r.value,r.info);break;case 32:let g=A;this.controllerChange(t,p.brightness,A),m(`%cFilter cutoff for %c${t}%c is now set to %c${g}`,r.info,r.recognized,r.info,r.value)}break;case 24:let n=A-64;e.keyCentTuning[e.NRPFine]=n*100,m(`%cGS drum key tuning. MIDI note: %c${e.NRPFine}%c semitones: %c${n}`,r.info,r.recognized,r.info,r.value);break;case 29:let o=A;this.controllerChange(t,p.reverbDepth,o),m(`%cGS Drum reverb for %c${t}%c: %c${o}`,r.info,r.recognized,r.info,r.value);break}break;case fA.RPCoarse:case fA.RPFine:switch(e.RPValue){default:T(`%cUnrecognized RPN for %c${t}%c: %c(0x${e.RPValue.toString(16)})%c data value: %c${A}`,r.warn,r.recognized,r.warn,r.unrecognized,r.warn,r.value);break;case 0:e.midiControllers[CA+K.pitchWheelRange]=A<<7,m(`%cChannel ${t} bend range. Semitones: %c${A}`,r.info,r.value);break;case 2:this.setChannelTuningSemitones(t,A-64);break;case 1:this.setChannelTuning(t,A-64,!1);break;case 5:this.setModulationDepth(t,A*100);break;case 16383:this.resetParameters(t);break}}}function Tn(t,A){let e=this.workletProcessorChannels[t];switch(e.dataEntryState){default:break;case fA.RPCoarse:case fA.RPFine:switch(e.RPValue){default:break;case 0:if(A===0)break;e.midiControllers[CA+K.pitchWheelRange]|=A;let s=(e.midiControllers[CA+K.pitchWheelRange]>>7)+A/127;m(`%cChannel ${t} bend range. Semitones: %c${s}`,r.info,r.value);break;case 1:let o=e.customControllers[gA.channelTuning]<<7|A;this.setChannelTuning(t,o*.01220703125);break;case 5:let E=e.customControllers[gA.modulationMultiplier]*50+A/128*100;this.setModulationDepth(t,E);break;case 16383:this.resetParameters(t);break}}}function Hn(t=!0){t&&m("%cResetting all controllers!",r.info),this.callEvent("allcontrollerreset",void 0);for(let A=0;A>7});if(this.workletProcessorChannels[A].lockedControllers[CA+K.pitchWheel]===!1){let s=this.workletProcessorChannels[A].midiControllers[CA+K.pitchWheel],n=s>>7,o=s&127;this.callEvent("pitchwheel",{channel:A,MSB:n,LSB:o})}}this.tunings=[],this.tunings=[];for(let A=0;127>A;A++)this.tunings.push([]);this.setMIDIVolume(1),this.system=Xe}function Yn(t){let A=this.workletProcessorChannels[t],s=A.lockedControllers.reduce((o,g,E)=>(g&&o.push(E),o),[]).map(o=>({ccNum:o,ccVal:A.midiControllers[o]}));A.channelOctaveTuning.fill(0),A.keyCentTuning.fill(0),A.midiControllers.set(kt),A.channelVibrato={rate:0,depth:0,delay:0},A.holdPedal=!1,s.forEach(o=>{A.midiControllers[o.ccNum]=o.ccVal});let n=A.customControllers[gA.channelTransposeFine];A.customControllers.set(Ft),A.customControllers[gA.channelTransposeFine]=n,this.resetParameters(t)}function Jn(t){let A=this.workletProcessorChannels[t];A.NRPCoarse=0,A.NRPFine=0,A.RPValue=0,A.dataEntryState=fA.Idle}function vn(){let t=4;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>(o.generators=o.generators.filter(g=>g.generatorType!==I.sampleID&&g.generatorType!==I.keyRange&&g.generatorType!==I.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:I.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:I.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:I.sampleID,generatorValue:this.samples.indexOf(o.sample)}),o.generators.length*4+n),0);let A=new Y(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.generatorZoneStartIndex=e;for(let o of n.generators)J(A,o.generatorType),J(A,o.generatorValue),e++}return lA(A,0),sA(new AA("igen",A.length,A))}function qn(t,A,e,s,n){let o=this.samples.map((B,d)=>{e&&B.compressSample(s,n);let c=B.getRawData();return m(`%cEncoded sample %c${d}. ${B.sampleName}%c of %c${this.samples.length}`,r.info,r.recognized,r.info,r.recognized),c}),g=this.samples.reduce((B,d,c)=>B+o[c].length+46,0),E=new Y(g);this.samples.forEach((B,d)=>{let c=o[d],l,u,D=c.length;B.isCompressed?(l=E.currentIndex,u=l+c.length):(l=E.currentIndex/2,u=l+c.length/2,D+=46),t.push(l),E.set(c,E.currentIndex),E.currentIndex+=D,A.push(u)});let h=sA(new AA("smpl",E.length,E),new Y([115,100,116,97]));return sA(new AA("LIST",h.length,h))}function Pn(t,A){let s=new Y(46*(this.samples.length+1));return this.samples.forEach((n,o)=>{RA(s,n.sampleName,20);let g=t[o];lA(s,g);let E=A[o];lA(s,E);let h=n.sampleLoopStartIndex+g,B=n.sampleLoopEndIndex+g;n.isCompressed&&(h-=g,B-=g),lA(s,h),lA(s,B),lA(s,n.sampleRate),s[s.currentIndex++]=n.samplePitch,s[s.currentIndex++]=n.samplePitchCorrection,J(s,n.sampleLink),J(s,n.sampleType)}),RA(s,"EOS",46),sA(new AA("shdr",s.length,s))}function Kn(){let t=10;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new Y(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)J(A,o.sourceEnum),J(A,o.modulatorDestination),J(A,o.transformAmount),J(A,o.secondarySourceEnum),J(A,o.transformType),e++}return he(A,0,10),sA(new AA("imod",A.length,A))}function On(){let t=this.instruments.reduce((o,g)=>g.instrumentZones.length*4+o,4),A=new Y(t),e=0,s=0,n=0;for(let o of this.instruments){o.instrumentZoneIndex=e;for(let g of o.instrumentZones)g.zoneID=e,J(A,s),J(A,n),s+=g.generators.length,n+=g.modulators.length,e++}return J(A,s),J(A,n),sA(new AA("ibag",A.length,A))}function Vn(){let t=this.instruments.length*22+22,A=new Y(t),e=0,s=0;for(let n of this.instruments)RA(A,n.instrumentName,20),J(A,e),e+=n.instrumentZones.length,n.instrumentID=s,s++;return RA(A,"EOI",20),J(A,e),sA(new AA("inst",A.length,A))}function Zn(){let t=4;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>(o.generators=o.generators.filter(g=>g.generatorType!==I.instrument&&g.generatorType!==I.keyRange&&g.generatorType!==I.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:I.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:I.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:I.instrument,generatorValue:this.instruments.indexOf(o.instrument)}),o.generators.length*4+n),0);let A=new Y(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.generatorZoneStartIndex=e;for(let o of n.generators)J(A,o.generatorType),J(A,o.generatorValue);e+=n.generators.length}return J(A,0),J(A,0),sA(new AA("pgen",A.length,A))}function Xn(){let t=10;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new Y(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)J(A,o.sourceEnum),J(A,o.modulatorDestination),J(A,o.transformAmount),J(A,o.secondarySourceEnum),J(A,o.transformType),e++}return he(A,0,10),sA(new AA("pmod",A.length,A))}function Wn(){let t=this.presets.reduce((o,g)=>g.presetZones.length*4+o,4),A=new Y(t),e=0,s=0,n=0;for(let o of this.presets){o.presetZoneStartIndex=e;for(let g of o.presetZones)g.zoneID=e,J(A,s),J(A,n),s+=g.generators.length,n+=g.modulators.length,e++}return J(A,s),J(A,n),sA(new AA("pbag",A.length,A))}function _n(){let t=this.presets.length*38+38,A=new Y(t),e=0;for(let s of this.presets)RA(A,s.presetName,20),J(A,s.program),J(A,s.bank),J(A,e),lA(A,s.library),lA(A,s.genre),lA(A,s.morphology),e+=s.presetZones.length;return RA(A,"EOP",20),J(A,0),J(A,0),J(A,e),lA(A,0),lA(A,0),lA(A,0),sA(new AA("phdr",A.length,A))}var Po={compress:!1,compressionQuality:.5,compressionFunction:void 0};function zn(t=Po){if(t.compress&&typeof t.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");yA("%cSaving soundfont...",r.info),m(`%cCompression: %c${t?.compress||"false"}%c quality: %c${t?.compressionQuality||"none"}`,r.info,r.recognized,r.info,r.recognized),m("%cWriting INFO...",r.info);let A=[];this.soundFontInfo.ISFT="SpessaSynth",t?.compress&&(this.soundFontInfo.ifil="3.0");for(let[b,$]of Object.entries(this.soundFontInfo))if(b==="ifil"||b==="iver"){let i=parseInt($.split(".")[0]),nA=parseInt($.split(".")[1]),_=new Y(4);J(_,i),J(_,nA),A.push(sA(new AA(b,4,_)))}else if(b==="DMOD")A.push(sA(new AA(b,$.length,$)));else{let i=new Y($.length);RA(i,$),A.push(sA(new AA(b,$.length,i)))}let e=Fe([new Y([73,78,70,79]),...A]),s=sA(new AA("LIST",e.length,e));m("%cWriting SDTA...",r.info);let n=[],o=[],g=qn.call(this,n,o,t?.compress,t?.compressionQuality||.5,t.compressionFunction);m("%cWriting PDTA...",r.info),m("%cWriting SHDR...",r.info);let E=Pn.call(this,n,o);m("%cWriting IGEN...",r.info);let h=vn.call(this);m("%cWriting IMOD...",r.info);let B=Kn.call(this);m("%cWriting IBAG...",r.info);let d=On.call(this);m("%cWriting INST...",r.info);let c=Vn.call(this),l=Zn.call(this);m("%cWriting PMOD...",r.info);let u=Xn.call(this);m("%cWriting PBAG...",r.info);let D=Wn.call(this);m("%cWriting PHDR...",r.info);let y=_n.call(this),k=Fe([new Y([112,100,116,97]),y,D,u,l,c,d,B,h,E]),w=sA(new AA("LIST",k.length,k));m("%cWriting the output file...",r.info);let G=Fe([new Y([115,102,98,107]),s,g,w]),x=sA(new AA("RIFF",G.length,G));return m(`%cSaved succesfully! Final file size: %c${x.length}`,r.info,r.recognized),Z(),x}var ae=class t{constructor(A=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=Oe.map(e=>j.copy(e)),A?.presets&&(this.presets.push(...A.presets),this.soundFontInfo=A.info)}static mergeSoundfonts(...A){let e=A.shift(),s=e.presets;for(;A.length;)A.shift().presets.forEach(o=>{s.find(g=>g.bank===o.bank&&g.program===o.program)===void 0&&s.push(o)});return new t({presets:s,info:e.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(A=>{A.useCount<1&&A.instrumentZones.forEach(e=>{e.isGlobal||e.sample.useCount--})}),this.instruments=this.instruments.filter(A=>A.useCount>0),this.samples=this.samples.filter(A=>A.useCount>0)}deleteInstrument(A){if(A.useCount>0)throw new Error(`Cannot delete an instrument that has ${A.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(A),1),A.deleteInstrument(),this.removeUnusedElements()}deletePreset(A){A.deletePreset(),this.presets.splice(this.presets.indexOf(A),1),this.removeUnusedElements()}deleteSample(A){if(A.useCount>0)throw new Error(`Cannot delete sample that has ${A.useCount} usages.`);this.samples.splice(this.samples.indexOf(A),1),this.removeUnusedElements()}setSampleIDOffset(A){this.presets.forEach(e=>e.sampleIDOffset=A)}getPresetNoFallback(A,e,s=!1){let n=this.presets.find(o=>o.bank===A&&o.program===e);if(n)return n;if(s!==!1)return A===128?this.presets.find(o=>o.bank===128):this.presets.find(o=>o.program===e)}getPreset(A,e){let s=this.presets.find(n=>n.bank===A&&n.program===e);return s||(A===128?(s=this.presets.find(n=>n.bank===128&&n.program===e),s||(s=this.presets.find(n=>n.bank===128))):s=this.presets.find(n=>n.program===e&&n.bank!==128),s&&T(`%cPreset ${A}.${e} not found. Replaced with %c${s.presetName} (${s.bank}.${s.program})`,r.warn,r.recognized)),s||(T(`Preset ${e} not found. Defaulting to`,this.presets[0].presetName),s=this.presets[0]),s}getPresetByName(A){let e=this.presets.find(s=>s.presetName===A);return e||(T("Preset not found. Defaulting to:",this.presets[0].presetName),e=this.presets[0]),e}};ae.prototype.write=zn;function jn(t){yA("%cLoading instruments...",r.info);for(let A=0;AA.deleteZone()),this.presetZones.length=0}deleteZone(A){this.presetZones[A].deleteZone(),this.presetZones.splice(A,1)}preload(A,e){for(let s=A;s{o.sample.isSampleLoaded||o.sample.getAudioData()})}preloadSpecific(A,e){this.getSamplesAndGenerators(A,e).forEach(s=>{s.sample.isSampleLoaded||s.sample.getAudioData()})}getSamplesAndGenerators(A,e){let s=this.foundSamplesAndGenerators[A][e];if(s)return s;if(this.presetZones.length<1)return[];function n(c,l,u){return u>=c&&u<=l}function o(c,l){c.push(...l.filter(u=>!c.find(D=>D.generatorType===u.generatorType)))}function g(c,l){c.push(...l.filter(u=>!c.find(D=>j.isIdentical(u,D))))}let E=[],h=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],B=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(c=>n(c.keyRange.min,c.keyRange.max,A)&&n(c.velRange.min,c.velRange.max,e)&&!c.isGlobal).forEach(c=>{if(c.instrument.instrumentZones.length<1)return;let l=c.generators,u=c.modulators,D=c.instrument.instrumentZones[0].isGlobal?[...c.instrument.instrumentZones[0].generators]:[],y=c.instrument.instrumentZones[0].isGlobal?[...c.instrument.instrumentZones[0].modulators]:[];c.instrument.instrumentZones.filter(w=>n(w.keyRange.min,w.keyRange.max,A)&&n(w.velRange.min,w.velRange.max,e)&&!w.isGlobal).forEach(w=>{let G=[...w.generators],x=[...w.modulators];o(l,h),o(G,D),g(u,B),g(x,y),g(x,this.defaultModulators);let b=[...x];for(let $=0;$j.isIdentical(i,_));nA!==-1?b[nA]=b[nA].sumTransform(i):b.push(i)}E.push({instrumentGenerators:G,presetGenerators:l,modulators:b,sample:w.sample,sampleID:w.generators.find($=>$.generatorType===I.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[A][e]=E,E}};var xe=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var ee=class extends xe{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},de=class extends xe{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var fe=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(A=>A.useCount++)}removeUseCount(){this._useCount--;for(let A=0;AA.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(A){return this.instrumentZones[A].useCount--,this.instrumentZones[A].useCount<1?(this.deleteZone(A),!0):!1}deleteZone(A){this.instrumentZones[A].deleteZone(),this.instrumentZones.splice(A,1)}};var tt=class extends ue{constructor(A,e){super(Oe),this.program=e&127,this.bank=A>>8&127,A>>31&&(this.bank=128),this.DLSInstrument=new fe,this.DLSInstrument.addUseCount();let n=new de;n.instrument=this.DLSInstrument,this.presetZones=[n]}};function $n(t){this.verifyHeader(t,"LIST"),this.verifyText(O(t.chunkData,4),"ins ");let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(V(t.chunkData));let e=A.find(u=>u.header==="insh");if(!e)throw Z(),new Error("No instrument header!");let s=S(e.chunkData,4),n=S(e.chunkData,4),o=S(e.chunkData,4),g=new tt(n,o),E="unnamedPreset",h=DA(A,"INFO");if(h){let u=V(h.chunkData);for(;u.header!=="INAM";)u=V(h.chunkData);E=O(u.chunkData,u.chunkData.length).trim()}g.presetName=E,g.DLSInstrument.instrumentName=E,ne(`%cParsing %c"${E}"%c...`,r.info,r.recognized,r.info);let B=DA(A,"lrgn");if(!B)throw Z(),new Error("No region list!");let d=new ee;d.isGlobal=!0;let c=DA(A,"lart"),l=DA(A,"lar2");this.readLart(c,l,d),g.DLSInstrument.instrumentZones.push(d);for(let u=0;u>10&15;w===cA.linear&&k!==cA.linear&&(w=k);let G=s>>14&1,x=s>>15&1;g===I.initialAttenuation&&(x=!x),c=HA(w,G,x,E.isCC,E.enum)}let l=s>>4&15,u=s>>8&1,D=s>>9&1,y=HA(l,u,D,d.isCC,d.enum);if(h){let k=y;y=c,c=k}return new j({srcEnum:c,secSrcEnum:y,dest:g,transform:0,amt:n})}function Yt(t,A){let e=t.chunkData,s=[],n=[];S(e,4);let o=S(e,4);for(let g=0;g>16;if(E===0&&h===0&&d===0){let u;switch(B){case M.pan:u=new L(I.pan,l);break;case M.gain:u=new L(I.initialAttenuation,-l*10/.4);break;case M.filterCutoff:u=new L(I.initialFilterFc,l);break;case M.filterQ:u=new L(I.initialFilterQ,l);break;case M.modLfoFreq:u=new L(I.freqModLFO,l);break;case M.modLfoDelay:u=new L(I.delayModLFO,l);break;case M.vibLfoFreq:u=new L(I.freqVibLFO,l);break;case M.vibLfoDelay:u=new L(I.delayVibLFO,l);break;case M.volEnvDelay:u=new L(I.delayVolEnv,l);break;case M.volEnvAttack:u=new L(I.attackVolEnv,l);break;case M.volEnvHold:u=new L(I.holdVolEnv,l);break;case M.volEnvDecay:u=new L(I.decayVolEnv,l);break;case M.volEnvRelease:u=new L(I.releaseVolEnv,l);break;case M.volEnvSustain:let D=(1e3-l)/10;u=new L(I.sustainVolEnv,D*10);break;case M.modEnvDelay:u=new L(I.delayModEnv,l);break;case M.modEnvAttack:u=new L(I.attackModEnv,l);break;case M.modEnvHold:u=new L(I.holdModEnv,l);break;case M.modEnvDecay:u=new L(I.decayModEnv,l);break;case M.modEnvRelease:u=new L(I.releaseModEnv,l);break;case M.modEnvSustain:let y=1e3-l;u=new L(I.sustainModEnv,y);break;case M.reverbSend:u=new L(I.reverbEffectsSend,l);break;case M.chorusSend:u=new L(I.chorusEffectsSend,l);break;case M.pitch:let k=Math.floor(l/100),w=Math.floor(l-k*100);u=new L(I.fineTune,w),s.push(new L(I.coarseTune,k));break}u&&s.push(u)}else{let u=!0;if(h===W.none)if(E===W.modLfo&&B===M.pitch)s.push(new L(I.modLfoToPitch,l));else if(E===W.modLfo&&B===M.gain)s.push(new L(I.modLfoToVolume,l));else if(E===W.modLfo&&B===M.filterCutoff)s.push(new L(I.modLfoToFilterFc,l));else if(E===W.vibratoLfo&&B===M.pitch)s.push(new L(I.vibLfoToPitch,l));else if(E===W.modEnv&&B===M.pitch)s.push(new L(I.modEnvToPitch,l));else if(E===W.modEnv&&B===M.filterCutoff)s.push(new L(I.modEnvToFilterFc,l));else if(E===W.keyNum&&B===M.volEnvHold){s.push(new L(I.keyNumToVolEnvHold,l/-128));let D=Math.round(60/128*l);s.forEach(y=>{y.generatorType===I.holdVolEnv&&(y.generatorValue+=D)})}else if(E===W.keyNum&&B===M.volEnvDecay){s.push(new L(I.keyNumToVolEnvDecay,l/-128));let D=Math.round(60/128*l);s.forEach(y=>{y.generatorType===I.decayVolEnv&&(y.generatorValue+=D)})}else if(E===W.keyNum&&B===M.modEnvHold){s.push(new L(I.keyNumToModEnvHold,l/-128));let D=Math.round(60/128*l);s.forEach(y=>{y.generatorType===I.holdModEnv&&(y.generatorValue+=D)})}else if(E===W.keyNum&&B===M.modEnvDecay){s.push(new L(I.keyNumToModEnvDecay,l/-128));let D=Math.round(60/128*l);s.forEach(y=>{y.generatorType===I.decayModEnv&&(y.generatorValue+=D)})}else u=!1;else u=!1;if(u===!1){let D=eo(E,h,B,d,l);D?(n.push(D),m("%cSucceeded converting to SF2 Modulator!",r.recognized)):T("Failed converting to SF2 Modulator!")}}}return n.find(g=>g.modulatorDestination===I.reverbEffectsSend)===void 0&&n.push(new j({srcEnum:219,dest:I.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),n.find(g=>g.modulatorDestination===I.chorusEffectsSend)===void 0&&n.push(new j({srcEnum:221,dest:I.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),A&&n.push(new j({srcEnum:129,dest:I.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new j({srcEnum:13,dest:I.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:n,generators:s}}function to(t,A,e){if(t)for(;t.chunkData.currentIndext.chunkData.currentIndex;)A.push(V(t.chunkData));let e=A.find(_=>_.header==="rgnh"),s=S(e.chunkData,2),n=S(e.chunkData,2),o=S(e.chunkData,2),g=S(e.chunkData,2),E=new st({min:s,max:n},{min:o,max:g});S(e.chunkData,2);let h=S(e.chunkData,2);h!==0&&E.generators.push(new L(I.exclusiveClass,h));let B=DA(A,"lart"),d=DA(A,"lar2");this.readLart(B,d,E),E.isGlobal=!1;let c=A.find(_=>_.header==="wsmp");S(c.chunkData,4);let l=S(c.chunkData,2),u=Ae(c.chunkData[c.chunkData.currentIndex++],c.chunkData[c.chunkData.currentIndex++]),y=(S(c.chunkData,4)|0)/-655360;S(c.chunkData,4);let k=S(c.chunkData,4),w,G={start:0,end:0};if(k===0)w=0;else{S(c.chunkData,4),S(c.chunkData,4)===0?w=1:w=3,G.start=S(c.chunkData,4);let v=S(c.chunkData,4);G.end=G.start+v}let x=A.find(_=>_.header==="wlnk");if(x===void 0)return;S(x.chunkData,2),S(x.chunkData,2),S(x.chunkData,4);let b=S(x.chunkData,4),$=this.samples[b];if($===void 0)throw new Error("Invalid sample ID!");let nA=(y||$.sampleDbAttenuation)*10/.4;return E.setWavesample(nA,w,G,l,$,b,u),E}var me=class{constructor(A,e,s,n,o,g,E,h){this.sampleName=A,this.sampleRate=e,this.samplePitch=s,this.samplePitchCorrection=n,this.sampleLink=o,this.sampleType=g,this.sampleLoopStartIndex=E,this.sampleLoopEndIndex=h,this.isCompressed=(g&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let A=new Error("Not implemented");throw A.name="NotImplementedError",A}compressSample(A,e){if(!this.isCompressed)try{this.compressedData=e([this.getAudioData()],1,this.sampleRate,A),this.sampleType|=16,this.isCompressed=!0}catch{T(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let A=new Error("Not implemented");throw A.name="NotImplementedError",A}};var nt=class extends me{sampleDbAttenuation;sampleData;constructor(A,e,s,n,o,g,E,h){super(A,e,s,n,0,1,o,g-1),this.sampleData=E,this.sampleDbAttenuation=h}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let A=new Uint8Array(this.sampleData.length*2);for(let e=0;e>8&255}return A}};function no(t){yA("%cLoading Wave samples...",r.recognized);let A=0;for(;t.chunkData.currentIndexv.header==="fmt ");if(!n)throw new Error("No fmt chunk in the wave file!");if(S(n.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(S(n.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let E=S(n.chunkData,4);S(n.chunkData,4),S(n.chunkData,2);let h=S(n.chunkData,2),B=h/8,d=Math.pow(2,B*8-1),c=Math.pow(2,B*8),l,u=!1;h===8?(l=255,u=!0):l=d;let D=s.find(v=>v.header==="data");if(!D)throw new Error("No data chunk in the wave chunk!");let y=D.size/B,k=new Float32Array(y);for(let v=0;v=d&&(z-=c),k[v]=z/l)}let w=60,G=0,x=0,b=k.length-1,$=0,i=s.find(v=>v.header==="wsmp");if(i){if(S(i.chunkData,4),w=S(i.chunkData,2),G=Ae(i.chunkData[i.chunkData.currentIndex++],i.chunkData[i.chunkData.currentIndex++]),$=(S(i.chunkData,4)|0)/-655360,S(i.chunkData,4),S(i.chunkData,4)===1){S(i.chunkData,8),x=S(i.chunkData,4);let oA=S(i.chunkData,4);b=x+oA}}else T("No wsmp chunk in wave... using sane defaults.");let nA=DA(s,"INFO"),_=`Unnamed ${A}`;if(nA){let v=V(nA.chunkData);for(;v.header!=="INAM"&&nA.chunkData.currentIndex0&&(b+=this.tracks[y-1][this.tracks[y-1].length-1].ticks);w.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=b),X=ls[i>>4],(i&240)===F.noteOn){G.add(eA);let IA=w.data[w.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,IA),this.keyRange.max=Math.max(this.keyRange.max,IA)}x=i;break}let P=new Y(X),$=w.data.slice(w.data.currentIndex,w.data.currentIndex+X);w.data.currentIndex+=X,P.set($,0);let EA=new Ce(b,i,P);switch(D.push(EA),eA){case-2:switch(i){case F.setTempo:this.tempoChanges.push({ticks:b,tempo:6e7/$A($,3)});break;case F.marker:switch(O(P,P.length).trim().toLowerCase()){default:break;case"start":case"loopstart":d=b;break;case"loopend":l=b}P.currentIndex=0;break;case F.midiPort:let fA=P[0];this.midiPorts[y]=fA,this.midiPortChannelOffsets[fA]===void 0&&(this.midiPortChannelOffsets[fA]=c,c+=16);break;case F.copyright:o||(this.copyright+=O(P,P.length,void 0,!1)+` +`);break;case F.lyric:this.lyrics.push(P)}break;case-3:if(P.slice(0,7).every((IA,fA)=>Uo[fA]===IA)){let IA=P.slice(7,$.length-3),fA=O(IA,IA.length)+` +`;this.copyright+=fA,m(`%cDecoded Roland SC message! %c${fA}`,r.recognized,r.value)}break;default:if((i&240)===F.controllerChange)switch(P[0]){case 2:case 116:d=b;break;case 4:case 117:l===null?l=b:l=0;break;case 0:C&&P[1]!==0&&P[1]!==127&&(m("%cDLS RMIDI with offset 1 detected!",r.recognized),this.bankOffset=1)}}}this.tracks.push(D),this.usedChannelsOnTrack.push(G),m(`%cParsed %c${this.tracks.length}%c / %c${this.tracksAmount}`,r.info,r.value,r.info,r.value)}m("%cAll tracks parsed correctly!",r.recognized),yA("%cCorrecting loops, ports and detecting notes...",r.info);let u=[];for(let y of this.tracks){let D=y.find(w=>(w.messageStatusByte&240)===F.noteOn);D&&u.push(D.ticks)}this.firstNoteOn=Math.min(...u),m(`%cFirst note-on detected at: %c${this.firstNoteOn}%c ticks!`,r.info,r.recognized,r.info),d!==null&&l===null?(d=this.firstNoteOn,l=this.lastVoiceEventTick):(d===null&&(d=this.firstNoteOn),(l===null||l===0)&&(l=this.lastVoiceEventTick)),this.loop={start:d,end:l},m(`%cLoop points: start: %c${this.loop.start}%c end: %c${this.loop.end}`,r.info,r.recognized,r.info,r.recognized);let S=0;for(let y of this.midiPorts)if(y!==-1){S=y;break}if(this.midiPorts=this.midiPorts.map(y=>y===-1?S:y),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0]),this.midiPortChannelOffsets.length<2?m("%cNo additional MIDI Ports detected.",r.info):m("%cMIDI Ports detected!",r.recognized),!g)if(this.tracks.length>1){if(this.tracks[0].find(y=>y.messageStatusByte>=F.noteOn&&y.messageStatusByteD.messageStatusByte===F.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=O(y.messageData,y.messageData.length,void 0,!1))}}else{let y=this.tracks[0].find(D=>D.messageStatusByte===F.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=O(y.messageData,y.messageData.length,void 0,!1))}if(this.fileName=e,this.midiName=this.midiName.trim(),this.midiName.length===0){m("%cNo name detected. Using the alt name!",r.info),this.midiName=Qs(e),this.rawMidiName=new Uint8Array(this.midiName.length);for(let y=0;yc>l?c:l),s=[];for(let l=0;l{g[S]>=u.length||u[g[S]].ticks0;){let l=Q(),c=t.tracks[l];if(g[l]>=c.length){C--;continue}let u=c[g[l]];if(g[l]++,u.messageStatusByte===F.midiPort){B[l]=u.messageData[0];continue}let S=u.messageStatusByte&240;if(S!==F.noteOn&&S!==F.controllerChange&&S!==F.programChange&&S!==F.systemExclusive)continue;let y=(u.messageStatusByte&15)+t.midiPortChannelOffsets[B[l]]||0,D=s[y];switch(S){case F.programChange:D.program=u.messageData[0],n(D);break;case F.controllerChange:if(u.messageData[0]!==p.bankSelect||d==="gs"&&D.drums)continue;let w=u.messageData[1],G=Math.max(0,w-t.bankOffset);if(d==="xg"){let W=w===120||w===126||w===127;W!==D.drums?(D.drums=W,D.bank=D.drums?128:G,n(D)):D.bank=D.drums?128:G;continue}s[y].bank=G;break;case F.noteOn:if(u.messageData[1]===0)continue;n(D),o[D.string].add(`${u.messageData[0]}-${u.messageData[1]}`);break;case F.systemExclusive:if(u.messageData[0]!==65||u.messageData[2]!==66||u.messageData[3]!==18||u.messageData[4]!==64||!(u.messageData[5]&16)||u.messageData[6]!==21){u.messageData[0]===67&&u.messageData[2]===76&&u.messageData[5]===126&&u.messageData[6]===0&&(d="xg");continue}let x=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][u.messageData[5]&15]+t.midiPortChannelOffsets[B[l]],b=!!(u.messageData[7]>0&&u.messageData[5]>>4);D=s[x],D.drums=b,D.bank=b?128:0,n(D);break}}for(let l of Object.keys(o))o[l].size===0&&(m(`%cDetected change but no keys for %c${l}`,r.info,r.value),delete o[l]);return Z(),o}function Ns(t,A){this.midiPortChannelOffset===0&&(this.midiPortChannelOffset+=16,this.midiPortChannelOffsets[A]=0),this.midiPortChannelOffsets[A]===void 0&&(this.synth.workletProcessorChannels.length{this.assignMIDIPort(s,e)}),this.duration=this.midiData.duration,this.firstNoteTime=Qe(this.midiData.firstNoteOn,this.midiData),m(`%cTotal song time: ${yt(Math.ceil(this.duration)).time}`,r.recognized),this.post(FA.songChange,[new We(this.midiData),this.songIndex,A]),this.duration<=1&&(T(`%cVery short song: (${yt(Math.round(this.duration)).time}). Disabling loop!`,r.warn),this.loop=!1),A)this.play(!0);else{let e=this._skipToFirstNoteOn?this.midiData.firstNoteOn-1:0;this.setTimeTicks(e),this.pause()}}function Ls(t,A=!0){this.songs=t.reduce((e,s)=>{if(s.duration)return e.push(s),e;try{e.push(new $e(s.binary,s.altName||""))}catch(n){return this.post(FA.midiError,n.message),e}return e},[]),!(this.songs.length<1)&&(this.songIndex=0,this.songs.length>1&&(this.loop=!1),this.loadNewSequence(this.songs[this.songIndex],A))}function Us(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex++,this.songIndex%=this.songs.length,this.loadNewSequence(this.songs[this.songIndex])}function Ts(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex--,this.songIndex<0&&(this.songIndex=this.songs.length-1),this.loadNewSequence(this.songs[this.songIndex])}var KA=new Int16Array(127);KA[p.mainVolume]=100;KA[p.expressionController]=127;KA[p.pan]=64;KA[p.releaseTime]=64;KA[p.brightness]=64;KA[p.reverbDepth]=0;function Hs(t,A=void 0){this.oneTickToSeconds=60/(120*this.midiData.timeDivision),this.synth.resetAllControllers(),this.sendMIDIReset(),this._resetTimers();let e=this.synth.workletProcessorChannels.length,s=Array(e).fill(8192),n=[];for(let C=0;CC===p.dataDecrement||C===p.dataIncrement||C===p.dataEntryMsb||C===p.dataDecrement||C===p.lsbForControl6DataEntry||C===p.RPNLsb||C===p.RPNMsb||C===p.NRPNLsb||C===p.NRPNMsb||C===p.bankSelect||C===p.lsbForControl0BankSelect||C===p.resetAllControllers,g=[];for(let C=0;C=A)break}else if(this.playedTime>=t)break;let B=Re(Q.messageStatusByte),d=B.channel+(this.midiPortChannelOffsets[this.midiPorts[C]]||0);switch(B.status){case F.noteOn:case F.noteOff:case F.keySignature:break;case F.pitchBend:s[d]=Q.messageData[1]<<7|Q.messageData[0];break;case F.programChange:let c=n[d];c.program=Q.messageData[0],c.actualBank=c.bank;break;case F.controllerChange:let u=Q.messageData[0];if(o(u)){let S=Q.messageData[1];if(u===p.bankSelect){n[d].bank=S;break}this.sendMIDIMessages?this.sendMIDICC(d,u,S):this.synth.controllerChange(d,u,S)}else g[d]===void 0&&(g[d]=Array.from(KA)),g[d][u]=Q.messageData[1];break;default:this._processEvent(Q,C);break}this.eventIndex[C]++,C=this._findFirstEventIndex();let l=this.tracks[C][this.eventIndex[C]];if(l===void 0)return this.stop(),!1;this.playedTime+=this.oneTickToSeconds*(l.ticks-Q.ticks)}if(this.sendMIDIMessages){for(let C=0;C>7,s[C]&127),g[C]!==void 0&&g[C].forEach((Q,B)=>{Q!==KA[B]&&!o(B)&&this.sendMIDICC(C,B,Q)}),n[C].program>=0&&n[C].actualBank>=0){let Q=n[C].actualBank;this.sendMIDICC(C,p.bankSelect,Q),this.sendMIDIProgramChange(C,n[C].program)}}else for(let C=0;C>7,s[C]&127),g[C]!==void 0&&g[C].forEach((Q,B)=>{Q!==KA[B]&&!o(B)&&this.synth.controllerChange(C,B,Q)}),n[C].program>=0&&n[C].actualBank>=0){let Q=n[C].actualBank;this.synth.controllerChange(C,p.bankSelect,Q),this.synth.programChange(C,n[C].program)}return!0}function Ys(t=!1){if(this.midiData!==void 0){if(t){this.pausedTime=void 0,this.currentTime=0;return}if(this.currentTime>=this.duration){this.pausedTime=void 0,this.currentTime=0;return}this.paused&&(this._recalculateStartTime(this.pausedTime),this.pausedTime=void 0),this.sendMIDIMessages||this.playingNotes.forEach(A=>{this.synth.noteOn(A.channel,A.midiNote,A.velocity,!1,!0)}),this.setProcessHandler()}}function Js(t){this.stop(),this.playingNotes=[],this.pausedTime=void 0,this.post(FA.timeChange,currentTime-Qe(t,this.midiData));let A=this._playTo(0,t);this._recalculateStartTime(this.playedTime),A&&this.play()}function vs(t){this.absoluteStartTime=currentTime-t/this._playbackRate}function qs(t,A){switch(t){default:break;case wA.loadNewSongList:this.loadNewSongList(A[0],A[1]);break;case wA.pause:this.pause();break;case wA.play:this.play(A);break;case wA.stop:this.stop();break;case wA.setTime:this.currentTime=A;break;case wA.changeMIDIMessageSending:this.sendMIDIMessages=A;break;case wA.setPlaybackRate:this.playbackRate=A;break;case wA.setLoop:this.loop=A;break;case wA.changeSong:A?this.nextSong():this.previousSong();break;case wA.getMIDI:this.post(FA.getMIDI,this.midiData);break;case wA.setSkipToFirstNote:this._skipToFirstNoteOn=A;break;case wA.setPreservePlaybackState:this.preservePlaybackState=A}}function Ps(t,A=void 0){this.synth.enableEventSystem&&this.synth.post({messageType:pA.sequencerSpecific,messageData:{messageType:t,messageData:A}})}function Ks(t){this.post(FA.midiEvent,t)}function Os(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.controllerChange|t,A,e])}function Vs(t,A){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.programChange|t,A])}function Zs(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([F.pitchBend|t,e,A])}function Xs(){if(this.sendMIDIMessages){this.sendMIDIMessage([F.reset]);for(let t=0;tthis.duration||A<0){this._skipToFirstNoteOn?this.setTimeTicks(this.midiData.firstNoteOn-1):this.setTimeTicks(0);return}if(this._skipToFirstNoteOn&&AWs?440*Math.pow(2,(t-6900)/1200):xt[~~t-At]}var Nt=-1660,To=1600,Mt=new Float32Array((To-Nt)*100+1);for(let t=0;t.5?1:0,s?e*2-1:e;case QA.concave:return s?(e=e*2-1,e<0?-XA[~~(e*-CA)]:XA[~~(e*CA)]):XA[~~(e*CA)];case QA.convex:return s?(e=e*2-1,e<0?-oe[~~(e*-CA)]:oe[~~(e*CA)]):oe[~~(e*CA)]}}var bt=1,Lt=new Float32Array(1e3);for(let t=0;t=e.loopEnd;)s-=o;let C=~~s,Q=C+1;for(;Q>=e.loopEnd;)Q-=o;let B=s-C,d=n[Q],l=n[C];A[g]=l+(d-l)*B,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end){t.finished=!0;return}let Q=s-g,B=n[C],d=n[g];A[o]=d+(B-d)*Q,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}function zs(t,A){let e=t.sample,s=e.cursor,n=e.loopEnd-e.loopStart,o=e.sampleData;if(t.sample.isLooping)for(let g=0;g=e.loopEnd;)s-=n;let C=~~s+1;for(;C>=e.loopEnd;)C-=n;A[g]=o[C],s+=e.playbackStep*t.currentTuningCalculated}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let g=0;g=e.end){t.finished=!0;return}A[g]=o[C],s+=e.playbackStep*t.currentTuningCalculated}}e.cursor=s}function js(t,A){let e=t.sample,s=e.cursor,n=e.sampleData;if(e.isLooping){let o=e.loopEnd-e.loopStart;for(let g=0;g=e.loopEnd;)s-=o;let C=~~s,Q=C+1,B=Q+1,d=B+1,l=s-C;Q>=e.loopEnd&&(Q-=o),B>=e.loopEnd&&(B-=o),d>=e.loopEnd&&(d-=o);let c=n[C],u=n[Q],S=n[B],y=n[d],D=.5*(S-c),w=c-2.5*u+2*S-.5*y,G=.5*(y-c)+1.5*(u-S);A[g]=((G*l+w)*l+D)*l+u,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end||Q>=e.end||B>=e.end){t.finished=!0;return}let l=n[g],c=n[C],u=n[Q],S=n[B],y=.5*(u-l),D=l-2.5*c+2*u-.5*S,w=.5*(S-l)+1.5*(c-u);A[o]=((w*d+D)*d+y)*d+c,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}var le=class t{a0=0;a1=0;a2=0;a3=0;a4=0;x1=0;x2=0;y1=0;y2=0;reasonanceCb=0;reasonanceGain=1;cutoffCents=13500;cutoffHz=2e4;static apply(A,e,s,n){if(n&&s>13499&&A.filter.reasonanceCb===0)return;let o=A.filter;(o.cutoffCents!==s||o.reasonanceCb!==A.modulatedGenerators[a.initialFilterQ])&&(o.cutoffCents=s,o.reasonanceCb=A.modulatedGenerators[a.initialFilterQ],t.calculateCoefficients(o));for(let g=0;g=Ut}static startRelease(A){A.volumeEnvelope.releaseStartTimeSamples=A.volumeEnvelope.currentSampleTime,A.volumeEnvelope.currentReleaseGain=OA(A.volumeEnvelope.currentAttenuationDb),t.recalculate(A)}static recalculate(A){let e=A.volumeEnvelope,s=B=>Math.max(0,Math.floor(YA(B)*e.sampleRate));e.attenuationTarget=Math.max(0,Math.min(A.modulatedGenerators[a.initialAttenuation],1440))/10,e.sustainDbRelative=Math.min(GA,A.modulatedGenerators[a.sustainVolEnv]/10);let n=Math.min(GA,e.sustainDbRelative);e.attackDuration=s(A.modulatedGenerators[a.attackVolEnv]);let o=A.modulatedGenerators[a.decayVolEnv],g=(60-A.targetKey)*A.modulatedGenerators[a.keyNumToVolEnvDecay],C=n/GA;e.decayDuration=s(o+g)*C,e.releaseDuration=s(A.modulatedGenerators[a.releaseVolEnv]),e.delayEnd=s(A.modulatedGenerators[a.delayVolEnv]),e.attackEnd=e.attackDuration+e.delayEnd;let Q=(60-A.targetKey)*A.modulatedGenerators[a.keyNumToVolEnvHold];if(e.holdEnd=s(A.modulatedGenerators[a.holdVolEnv]+Q)+e.attackEnd,e.decayEnd=e.decayDuration+e.holdEnd,e.state===0&&e.attackEnd===0&&(e.state=2),A.isInRelease){let B=Math.max(0,Math.min(GA,e.sustainDbRelative)),d=B/GA;switch(e.decayDuration=s(o+g)*d,e.state){case 0:e.releaseStartDb=GA;break;case 1:let c=1-(e.attackEnd-e.releaseStartTimeSamples)/e.attackDuration;e.releaseStartDb=20*Math.log10(c)*-1;break;case 2:e.releaseStartDb=0;break;case 3:e.releaseStartDb=(1-(e.decayEnd-e.releaseStartTimeSamples)/e.decayDuration)*B;break;case 4:e.releaseStartDb=B;break}e.releaseStartDb=Math.max(0,Math.min(e.releaseStartDb,GA)),e.releaseStartDb>=Ut&&(A.finished=!0),e.currentReleaseGain=OA(e.releaseStartDb);let l=(GA-e.releaseStartDb)/GA;e.releaseDuration*=l}}static apply(A,e,s,n){let o=A.volumeEnvelope,g=s/10,C=n;if(A.isInRelease){let B=o.currentSampleTime-o.releaseStartTimeSamples;if(B>=o.releaseDuration){for(let l=0;l=e.length)return;o.state++;case 1:for(;o.currentSampleTime=e.length)return}o.state++;case 2:for(;o.currentSampleTime=e.length)return;o.state++;case 3:for(;o.currentSampleTime=e.length)return;o.state++;case 4:for(o.canEndOnSilentSustain&&o.sustainDbRelative>=Ut&&(A.finished=!0);;)if(o.attenuation+=(o.attenuationTarget-o.attenuation)*C,e[Q]*=OA(o.sustainDbRelative+g+o.attenuation),o.currentAttenuationDb=o.sustainDbRelative,o.currentSampleTime++,++Q>=e.length)return}}};var An=.05;function en(t,A,e,s,n,o){if(A.isInRelease||currentTime>=A.releaseStartTime&&(A.isInRelease=!0,UA.startRelease(A),JA.startRelease(A),A.sample.loopingMode===3&&(A.sample.isLooping=!1)),A.modulatedGenerators[a.initialAttenuation]>2500){A.isInRelease&&(A.finished=!0);return}let g=A.targetKey,C=A.modulatedGenerators[a.fineTune]+t.customControllers[aA.channelTuning]+t.customControllers[aA.channelTransposeFine]+t.customControllers[aA.masterTuning]+t.channelOctaveTuning[A.midiNote%12]+t.keyCentTuning[A.midiNote],Q=A.modulatedGenerators[a.coarseTune]+t.customControllers[aA.channelTuningSemitones],B=this.tunings[t.preset.program]?.[A.realKey];B?.midiNote>=0&&(g=B.midiNote,C+=B.centTuning),C+=(g-A.sample.rootKey)*A.modulatedGenerators[a.scaleTuning];let d=A.modulatedGenerators[a.vibLfoToPitch];if(d!==0){let i=A.startTime+YA(A.modulatedGenerators[a.delayVibLFO]),eA=Ge(A.modulatedGenerators[a.freqVibLFO]),X=et(i,eA,currentTime);C+=X*(d*t.customControllers[aA.modulationMultiplier])}let l=A.modulatedGenerators[a.initialFilterFc],c=l,u=A.modulatedGenerators[a.modLfoToPitch],S=A.modulatedGenerators[a.modLfoToVolume],y=A.modulatedGenerators[a.modLfoToFilterFc],D=0;if(u+y+S!==0){let i=A.startTime+YA(A.modulatedGenerators[a.delayModLFO]),eA=Ge(A.modulatedGenerators[a.freqModLFO]),X=et(i,eA,currentTime);C+=X*(u*t.customControllers[aA.modulationMultiplier]),D=-X*S,c+=X*y}if(t.channelVibrato.depth>0){let i=et(A.startTime+t.channelVibrato.delay,t.channelVibrato.rate,currentTime);i&&(C+=i*t.channelVibrato.depth)}let w=A.modulatedGenerators[a.modEnvToPitch],G=A.modulatedGenerators[a.modEnvToFilterFc],x=JA.getValue(A,currentTime);c+=x*G,C+=x*w;let b=~~(C+Q*100);b!==A.currentTuningCents&&(A.currentTuningCents=b,A.currentTuningCalculated=Math.pow(2,b/1200));let W=new Float32Array(e.length);switch(this.interpolationType){case ce.linear:default:_s(A,W);break;case ce.nearestNeighbor:zs(A,W);break;case ce.fourthOrder:js(A,W)}le.apply(A,W,c,l>13499),UA.apply(A,W,D,this.volumeEnvelopeSmoothingFactor),this.panVoice(A,W,e,s,n,o)}function Yo(t,A){let e=0;return t.drumChannel&&(e+=5),A.isInRelease&&(e-=5),e+=A.velocity/25,e-=A.volumeEnvelope.state,A.isInRelease&&(e-=5),e-=A.volumeEnvelope.currentAttenuationDb/50,e}function tn(t){let A=[];for(let s of this.workletProcessorChannels)for(let n of s.voices)if(!n.finished){let o=Yo(s,n);A.push({channel:s,voice:n,priority:o})}A.sort((s,n)=>s.priority-n.priority);let e=A.slice(0,t);for(let{channel:s,voice:n}of e){let o=s.voices.indexOf(n);o>-1&&s.voices.splice(o,1)}}function sn(t){t.releaseStartTime=currentTime,t.releaseStartTime-t.startTimeon=t);var Jo=function(t){var A,e,s,n,o,g,C,Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",B="",d=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do n=Q.indexOf(t.charAt(d++)),o=Q.indexOf(t.charAt(d++)),g=Q.indexOf(t.charAt(d++)),C=Q.indexOf(t.charAt(d++)),A=n<<2|o>>4,e=(15&o)<<4|g>>2,s=(3&g)<<6|C,B+=String.fromCharCode(A),g!==64&&(B+=String.fromCharCode(e)),C!==64&&(B+=String.fromCharCode(s));while(d1&&(i.thisProgram=process.argv[1].replace(/\\/g,"/")),i.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(I){if(!(I instanceof De))throw I}),process.on("unhandledRejection",function(I,E){process.exit(1)}),i.quit=function(I){process.exit(I)},i.inspect=function(){return"[Emscripten Module object]"}):EA?(typeof read<"u"&&(i.read=function(E){return read(E)}),i.readBinary=function(E){var h;return typeof readbuffer=="function"?new Uint8Array(readbuffer(E)):(zA(typeof(h=read(E,"binary"))=="object"),h)},typeof scriptArgs<"u"?i.arguments=scriptArgs:typeof arguments<"u"&&(i.arguments=arguments),typeof quit=="function"&&(i.quit=function(I){quit(I)})):(X||P)&&(X?document.currentScript&&(IA=document.currentScript.src):IA=self.location.href,IA=IA.indexOf("blob:")!==0?IA.split("/").slice(0,-1).join("/")+"/":"",i.read=function(E){var h=new XMLHttpRequest;return h.open("GET",E,!1),h.send(null),h.responseText},P&&(i.readBinary=function(E){var h=new XMLHttpRequest;return h.open("GET",E,!1),h.responseType="arraybuffer",h.send(null),new Uint8Array(h.response)}),i.readAsync=function(E,h,f){var R=new XMLHttpRequest;R.open("GET",E,!0),R.responseType="arraybuffer",R.onload=function(){if(R.status==200||R.status==0&&R.response){h(R.response);return}f()},R.onerror=f,R.send(null)},i.setWindowTitle=function(I){document.title=I});var be=i.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),xA=i.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||be);for(t in eA)eA.hasOwnProperty(t)&&(i[t]=eA[t]);function Le(I){var E=u;return u=u+I+15&-16,E}function Xt(I){var E=Q[x>>2],h=E+I+15&-16;return Q[x>>2]=h,h>=BA&&!ns()?(Q[x>>2]=E,0):E}function Wt(I,E){return E||(E=16),I=Math.ceil(I/E)*E}function po(I){switch(I){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(I[I.length-1]==="*")return 4;if(I[0]!=="i")return 0;var E=parseInt(I.substr(1));return zA(E%8==0),E/8}}function pe(I){pe.shown||(pe.shown={}),pe.shown[I]||(pe.shown[I]=1,xA(I))}eA=void 0;var yo={"f64-rem":function(I,E){return I%E},debugger:function(){}},It=[];function Wo(I,E){for(var h=0,f=h;f>>0)+4294967296*+(E>>>0):+(I>>>0)+4294967296*+(0|E)}function Ct(I,E,h){return h&&h.length?i["dynCall_"+I].apply(null,[E].concat(h)):i["dynCall_"+I].call(null,E)}var Ue=0,_t=0;function zA(I,E){I||ZA("Assertion failed: "+E)}function zt(I){var E=i["_"+I];return zA(E,"Cannot call unknown function "+I+", make sure it is exported"),E}var jt={stackSave:function(){dt()},stackRestore:function(){ut()},arrayToC:function(I){var E,h,f=qe(I.length);return E=I,h=f,n.set(E,h),f},stringToC:function(I){var E=0;if(I!=null&&I!==0){var h=(I.length<<2)+1;E=qe(h),es(I,E,h)}return E}},So={string:jt.stringToC,array:jt.arrayToC};function $t(I,E,h,f,R){var q=zt(I),_=[],N=0;if(f)for(var hA=0;hA>0]=E;break;case"i16":g[I>>1]=E;break;case"i32":Q[I>>2]=E;break;case"i64":tempI64=[E>>>0,+Go(tempDouble=E)>=1?tempDouble>0?(0|Mo(+Is(tempDouble/4294967296),4294967295))>>>0:~~+xo((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],Q[I>>2]=tempI64[0],Q[I+4>>2]=tempI64[1];break;case"float":d[I>>2]=E;break;case"double":l[I>>3]=E;break;default:ZA("invalid type for setValue: "+h)}}function $o(I,E,h){switch((E=E||"i8").charAt(E.length-1)==="*"&&(E="i32"),E){case"i1":case"i8":return n[I>>0];case"i16":return g[I>>1];case"i32":case"i64":return Q[I>>2];case"float":return d[I>>2];case"double":return l[I>>3];default:ZA("invalid type for getValue: "+E)}return null}function Ar(I,E,h,f){typeof I=="number"?(q=!0,_=I):(q=!1,_=I.length);var R=typeof E=="string"?E:null;if(N=h==4?f:[typeof ve=="function"?ve:Le,qe,Le,Xt][h===void 0?2:h](Math.max(_,R?1:E.length)),q){for(f=N,zA((3&N)==0),hA=N+(-4&_);f>2]=0;for(hA=N+_;f>0]=0;return N}if(R==="i8")return I.subarray||I.slice?o.set(I,N):o.set(new Uint8Array(I),N),N;for(var q,_,N,hA,oA,rA,sA,v=0;v<_;){var mA=I[v];if((oA=R||E[v])===0){v++;continue}oA=="i64"&&(oA="i32"),Do(N+v,mA,oA),sA!==oA&&(rA=po(oA),sA=oA),v+=rA}return N}function er(I){return S?ct?ve(I):Xt(I):Le(I)}function Te(I,E){if(E===0||!I)return"";for(var h,f,R,q=0,_=0;q|=f=o[I+_>>0],(f!=0||E)&&(_++,!E||_!=E););E||(E=_);var N="";if(q<128){for(;E>0;)R=String.fromCharCode.apply(String,o.subarray(I,I+Math.min(E,1024))),N=N?N+R:R,I+=1024,E-=1024;return N}return h=I,function(oA,rA){for(var sA=rA;oA[sA];)++sA;if(sA-rA>16&&oA.subarray&&As)return As.decode(oA.subarray(rA,sA));for(var v,mA,MA,NA,bA,se,LA="";;){if(!(v=oA[rA++]))return LA;if(!(128&v)){LA+=String.fromCharCode(v);continue}if(mA=63&oA[rA++],(224&v)==192){LA+=String.fromCharCode((31&v)<<6|mA);continue}if(MA=63&oA[rA++],(240&v)==224?v=(15&v)<<12|mA<<6|MA:(NA=63&oA[rA++],(248&v)==240?v=(7&v)<<18|mA<<12|MA<<6|NA:(bA=63&oA[rA++],v=(252&v)==248?(3&v)<<24|mA<<18|MA<<12|NA<<6|bA:(1&v)<<30|mA<<24|MA<<18|NA<<12|bA<<6|(se=63&oA[rA++]))),v<65536)LA+=String.fromCharCode(v);else{var ke=v-65536;LA+=String.fromCharCode(55296|ke>>10,56320|1023&ke)}}}(o,h)}function tr(I){for(var E="";;){var h=n[I++>>0];if(!h)return E;E+=String.fromCharCode(h)}}function sr(I,E){return function(f,R,q){for(var _=0;_>0]=f.charCodeAt(_);q||(n[R>>0]=0)}(I,E,!1)}var As=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function He(I,E,h,f){if(!(f>0))return 0;for(var R=h,q=h+f-1,_=0;_=55296&&N<=57343&&(N=65536+((1023&N)<<10)|1023&I.charCodeAt(++_)),N<=127){if(h>=q)break;E[h++]=N}else if(N<=2047){if(h+1>=q)break;E[h++]=192|N>>6,E[h++]=128|63&N}else if(N<=65535){if(h+2>=q)break;E[h++]=224|N>>12,E[h++]=128|N>>6&63,E[h++]=128|63&N}else if(N<=2097151){if(h+3>=q)break;E[h++]=240|N>>18,E[h++]=128|N>>12&63,E[h++]=128|N>>6&63,E[h++]=128|63&N}else if(N<=67108863){if(h+4>=q)break;E[h++]=248|N>>24,E[h++]=128|N>>18&63,E[h++]=128|N>>12&63,E[h++]=128|N>>6&63,E[h++]=128|63&N}else{if(h+5>=q)break;E[h++]=252|N>>30,E[h++]=128|N>>24&63,E[h++]=128|N>>18&63,E[h++]=128|N>>12&63,E[h++]=128|N>>6&63,E[h++]=128|63&N}}return E[h]=0,h-R}function es(I,E,h){return He(I,o,E,h)}function Ye(I){for(var E=0,h=0;h=55296&&f<=57343&&(f=65536+((1023&f)<<10)|1023&I.charCodeAt(++h)),f<=127?++E:f<=2047?E+=2:f<=65535?E+=3:f<=2097151?E+=4:f<=67108863?E+=5:E+=6}return E}var ts=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function nr(I){for(var E=I,h=E>>1;g[h];)++h;if((E=h<<1)-I>32&&ts)return ts.decode(o.subarray(I,E));for(var f=0,R="";;){var q=g[I+2*f>>1];if(q==0)return R;++f,R+=String.fromCharCode(q)}}function or(I,E,h){if(h===void 0&&(h=2147483647),h<2)return 0;for(var f=E,R=(h-=2)<2*I.length?h/2:I.length,q=0;q>1]=_,E+=2}return g[E>>1]=0,E-f}function rr(I){return 2*I.length}function ir(I){for(var E=0,h="";;){var f=Q[I+4*E>>2];if(f==0)return h;if(++E,f>=65536){var R=f-65536;h+=String.fromCharCode(55296|R>>10,56320|1023&R)}else h+=String.fromCharCode(f)}}function ar(I,E,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var f=E,R=f+h-4,q=0;q=55296&&_<=57343&&(_=65536+((1023&_)<<10)|1023&I.charCodeAt(++q)),Q[E>>2]=_,(E+=4)+4>R)break}return Q[E>>2]=0,E-f}function Ir(I){for(var E=0,h=0;h=55296&&f<=57343&&++h,E+=4}return E}function gr(I){var E=Ye(I)+1,h=ve(E);return h&&He(I,n,h,E),h}function Cr(I){var E=Ye(I)+1,h=qe(E);return He(I,n,h,E),h}function Er(I){return I}function Br(){var I,E=function(){var f=Error();if(!f.stack){try{throw Error(0)}catch(R){f=R}if(!f.stack)return"(no stack trace available)"}return f.stack.toString()}();return i.extraStackTrace&&(E+=` +`+i.extraStackTrace()),(I=E).replace(/__Z[\w\d_]+/g,function(h){var f,R=f=h;return h===R?h:h+" ["+R+"]"})}function Et(I,E){return I%E>0&&(I+=E-I%E),I}function ss(I){i.buffer=s=I}function Bt(){i.HEAP8=n=new Int8Array(s),i.HEAP16=g=new Int16Array(s),i.HEAP32=Q=new Int32Array(s),i.HEAPU8=o=new Uint8Array(s),i.HEAPU16=C=new Uint16Array(s),i.HEAPU32=B=new Uint32Array(s),i.HEAPF32=d=new Float32Array(s),i.HEAPF64=l=new Float64Array(s)}function ns(){var I=i.usingWasm?65536:16777216,E=2147483648-I;if(Q[x>>2]>E)return!1;var h=BA;for(BA=Math.max(BA,16777216);BA>2];)BA=BA<=536870912?Et(2*BA,I):Math.min(Et((3*BA+2147483648)/4,I),E);var f=i.reallocBuffer(BA);return f&&f.byteLength==BA?(ss(f),Bt(),!0):(BA=h,!1)}c=u=y=D=w=G=x=0,S=!1,i.reallocBuffer||(i.reallocBuffer=function(I){try{if(ArrayBuffer.transfer)E=ArrayBuffer.transfer(s,I);else{var E,h=n;E=new ArrayBuffer(I),new Int8Array(E).set(h)}}catch{return!1}return!!No(E)&&E});try{(b=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{b=function(E){return E.byteLength}}var ht=i.TOTAL_STACK||5242880,BA=i.TOTAL_MEMORY||16777216;function ko(){return BA}function ye(I){for(;I.length>0;){var E=I.shift();if(typeof E=="function"){E();continue}var h=E.func;typeof h=="number"?E.arg===void 0?i.dynCall_v(h):i.dynCall_vi(h,E.arg):h(E.arg===void 0?null:E.arg)}}BA=0?I:E<=32?2*Math.abs(1<=f&&(E<=32||I>f)&&(I=-2*f+I),I}var Go=Math.abs,xo=Math.ceil,Is=Math.floor,Mo=Math.min,te=0,lt=null,Se=null;function fr(I){return I}i.preloadedImages={},i.preloadedAudios={};var gs="data:application/octet-stream;base64,";function Je(I){return String.prototype.startsWith?I.startsWith(gs):I.indexOf(gs)===0}(function(){var E="main.wast",h="main.wasm",f="main.temp.asm.js";Je(E)||(E=fA(E)),Je(h)||(h=fA(h)),Je(f)||(f=fA(f));var R={global:null,env:null,asm2wasm:yo,parent:i},q=null;function _(sA){return sA}function N(){try{if(i.wasmBinary)return new Uint8Array(i.wasmBinary);if(i.readBinary)return i.readBinary(h);throw"both async and sync fetching of the wasm failed"}catch(sA){ZA(sA)}}i.asmPreload=i.asm;var hA=i.reallocBuffer,oA=function(sA){sA=Et(sA,i.usingWasm?65536:16777216);var v=i.buffer.byteLength;if(i.usingWasm)try{var mA=i.wasmMemory.grow((sA-v)/65536);return mA!==-1?i.buffer=i.wasmMemory.buffer:null}catch{return null}};i.reallocBuffer=function(sA){return rA==="asmjs"?hA(sA):oA(sA)};var rA="";i.asm=function(sA,v,mA){var MA;if(!(v=MA=v).table){var NA,bA=i.wasmTableSize;bA===void 0&&(bA=1024);var se=i.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?se!==void 0?v.table=new WebAssembly.Table({initial:bA,maximum:se,element:"anyfunc"}):v.table=new WebAssembly.Table({initial:bA,element:"anyfunc"}):v.table=Array(bA),i.wasmTable=v.table}return v.memoryBase||(v.memoryBase=i.STATIC_BASE),v.tableBase||(v.tableBase=0),NA=function(ke,Ie,mt){if(typeof WebAssembly!="object")return xA("no native wasm support detected"),!1;if(!(i.wasmMemory instanceof WebAssembly.Memory))return xA("no native wasm Memory in use"),!1;function Pe(vA,qA){if((q=vA.exports).memory){var we,pt,Bs;we=q.memory,pt=i.buffer,we.byteLength0?h:Ye(I)+1,R=Array(f),q=He(I,R,0,R.length);return E&&(R.length=q),R}function Sr(I){for(var E=[],h=0;h255&&(f&=255),E.push(String.fromCharCode(f))}return E.join("")}u+=16,x=Le(4),w=(y=D=Wt(u))+ht,G=Wt(w),Q[x>>2]=G,S=!0,i.wasmTableSize=4,i.wasmMaxTableSize=4,i.asmGlobalArg={},i.asmLibraryArg={abort:ZA,assert:zA,enlargeMemory:ns,getTotalMemory:ko,abortOnCannotGrowMemory:function(){ZA("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+BA+", (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(E,h,f){var R=dt();try{return i.dynCall_iii(E,h,f)}catch(q){if(ut(R),typeof q!="number"&&q!=="longjmp")throw q;i.setThrew(1,0)}},___assert_fail:function(E,h,f,R){ZA("Assertion failed: "+Te(E)+", at: "+[h?Te(h):"unknown filename",f,R?Te(R):"unknown function"])},___setErrNo:function(E){return i.___errno_location&&(Q[i.___errno_location()>>2]=E),E},_abort:function(){i.abort()},_emscripten_memcpy_big:function(E,h,f){return o.set(o.subarray(h,h+f),E),E},_llvm_floor_f64:Is,DYNAMICTOP_PTR:x,tempDoublePtr:kA,ABORT:Ue,STACKTOP:D,STACK_MAX:w};var Cs=i.asm(i.asmGlobalArg,i.asmLibraryArg,s);i.asm=Cs,i.___errno_location=function(){return i.asm.___errno_location.apply(null,arguments)};var No=i._emscripten_replace_memory=function(){return i.asm._emscripten_replace_memory.apply(null,arguments)};i._free=function(){return i.asm._free.apply(null,arguments)};var ve=i._malloc=function(){return i.asm._malloc.apply(null,arguments)};i._memcpy=function(){return i.asm._memcpy.apply(null,arguments)},i._memset=function(){return i.asm._memset.apply(null,arguments)},i._sbrk=function(){return i.asm._sbrk.apply(null,arguments)},i._stb_vorbis_js_channels=function(){return i.asm._stb_vorbis_js_channels.apply(null,arguments)},i._stb_vorbis_js_close=function(){return i.asm._stb_vorbis_js_close.apply(null,arguments)},i._stb_vorbis_js_decode=function(){return i.asm._stb_vorbis_js_decode.apply(null,arguments)},i._stb_vorbis_js_open=function(){return i.asm._stb_vorbis_js_open.apply(null,arguments)},i._stb_vorbis_js_sample_rate=function(){return i.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},i.establishStackSpace=function(){return i.asm.establishStackSpace.apply(null,arguments)},i.getTempRet0=function(){return i.asm.getTempRet0.apply(null,arguments)},i.runPostSets=function(){return i.asm.runPostSets.apply(null,arguments)},i.setTempRet0=function(){return i.asm.setTempRet0.apply(null,arguments)},i.setThrew=function(){return i.asm.setThrew.apply(null,arguments)};var qe=i.stackAlloc=function(){return i.asm.stackAlloc.apply(null,arguments)},ut=i.stackRestore=function(){return i.asm.stackRestore.apply(null,arguments)},dt=i.stackSave=function(){return i.asm.stackSave.apply(null,arguments)};function De(I){this.name="ExitStatus",this.message="Program terminated with exit("+I+")",this.status=I}function ft(I){I=I||i.arguments,!(te>0)&&(function(){if(i.preRun)for(typeof i.preRun=="function"&&(i.preRun=[i.preRun]);i.preRun.length;)Fo(i.preRun.shift());ye(os)}(),!(te>0)&&(i.calledRun||(i.setStatus?(i.setStatus("Running..."),setTimeout(function(){setTimeout(function(){i.setStatus("")},1),E()},1)):E())));function E(){!i.calledRun&&(i.calledRun=!0,Ue||(ct||(ct=!0,ye(Qt)),ye(rs),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for(typeof i.postRun=="function"&&(i.postRun=[i.postRun]);i.postRun.length;)Ro(i.postRun.shift());ye(as)}()))}}function Dr(I,E){(!E||!i.noExitRuntime||I!==0)&&(i.noExitRuntime||(Ue=!0,_t=I,D=W,ye(is),wo=!0,i.onExit&&i.onExit(I)),i.quit(I,new De(I)))}function ZA(I){throw i.onAbort&&i.onAbort(I),I!==void 0?(be(I),xA(I),I=JSON.stringify(I)):I="",Ue=!0,_t=1,"abort("+I+"). Build with -s ASSERTIONS=1 for more info."}if(i.dynCall_iii=function(){return i.asm.dynCall_iii.apply(null,arguments)},i.asm=Cs,i.ccall=$t,i.cwrap=function(E,h,f,R){var q=(f=f||[]).every(function(_){return _==="number"});return h!=="string"&&q&&!R?zt(E):function(){return $t(E,h,f,arguments,R)}},De.prototype=Error(),De.prototype.constructor=De,Se=function I(){i.calledRun||ft(),i.calledRun||(Se=I)},i.run=ft,i.abort=ZA,i.preInit)for(typeof i.preInit=="function"&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();i.noExitRuntime=!0,ft(),i.onRuntimeInitialized=()=>{nn=!0,on()},VA.decode=function(I){return function(h){if(!nn)throw Error("Not initialized");var f={};function R(Ie){return new Int32Array(i.HEAPU8.buffer,Ie,1)[0]}function q(Ie,mt){var Pe=new ArrayBuffer(mt*Float32Array.BYTES_PER_ELEMENT),ge=new Float32Array(Pe);return ge.set(new Float32Array(i.HEAPU8.buffer,Ie,mt)),ge}f.open=i.cwrap("stb_vorbis_js_open","number",[]),f.close=i.cwrap("stb_vorbis_js_close","void",["number"]),f.channels=i.cwrap("stb_vorbis_js_channels","number",["number"]),f.sampleRate=i.cwrap("stb_vorbis_js_sample_rate","number",["number"]),f.decode=i.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var _,N,hA,oA,rA=f.open(),sA=(_=h,N=h.byteLength,hA=i._malloc(N),(oA=new Uint8Array(i.HEAPU8.buffer,hA,N)).set(new Uint8Array(_,0,N)),oA),v=i._malloc(4),mA=i._malloc(4),MA=f.decode(rA,sA.byteOffset,sA.byteLength,v,mA);if(i._free(sA.byteOffset),MA<0)throw f.close(rA),i._free(v),Error("stbvorbis decode failed: "+MA);for(var NA=f.channels(rA),bA=Array(NA),se=new Int32Array(i.HEAPU32.buffer,R(v),NA),LA=0;LA=0&&(s=this.workletProcessorChannels[e]),t.messageType){case tA.noteOn:this.noteOn(e,A[0],A[1],A[2]);break;case tA.noteOff:this.noteOff(e,A);break;case tA.pitchWheel:this.pitchWheel(e,A[0],A[1]);break;case tA.ccChange:this.controllerChange(e,A[0],A[1],A[2]);break;case tA.customcCcChange:s.customControllers[A[0]]=A[1];break;case tA.killNote:this.killNote(e,A);break;case tA.programChange:this.programChange(e,A[0],A[1]);break;case tA.channelPressure:this.channelPressure(e,A);break;case tA.polyPressure:this.polyPressure(e,A[0],A[1]);break;case tA.ccReset:e===TA?this.resetAllControllers():this.resetControllers(e);break;case tA.systemExclusive:this.systemExclusive(A);break;case tA.setChannelVibrato:if(e===TA)for(let g=0;g{let e=(A.midiControllers[gA+K.pitchWheelRange]>>7)+(A.midiControllers[gA+K.pitchWheelRange]&127)/127;return{voicesAmount:A.voices.length,pitchBend:A.midiControllers[gA+K.pitchWheel],pitchBendRangeSemitones:e,isMuted:A.isMuted,isDrum:A.drumChannel}});this.post({messageType:pA.channelProperties,messageData:t})}function vo(t,A,e){let s=t,n=A<<7|e;return t===127&&A===127&&e===127?{midiNote:-1,centTuning:null}:{midiNote:s,centTuning:n*.0061}}function gn(t,A=0){let e=t[0];if(!(this.deviceID!==TA&&t[1]!==127&&this.deviceID!==t[1]))switch(e){default:T(`%cUnrecognized SysEx: %c${lA(t)}`,r.warn,r.unrecognized);break;case 126:case 127:switch(t[2]){case 4:let n;switch(t[3]){case 1:let o=t[5]<<7|t[4];this.setMIDIVolume(o/16384),m(`%cMaster Volume. Volume: %c${o}`,r.info,r.value);break;case 2:let C=((t[5]<<7|t[4])-8192)/8192;this.setMasterPan(C),m(`%cMaster Pan. Pan: %c${C}`,r.info,r.value);break;case 3:let Q=(t[5]<<7|t[6])-8192;n=Math.floor(Q/81.92),this.setMasterTuning(n),m(`%cMaster Fine Tuning. Cents: %c${n}`,r.info,r.value);break;case 4:n=(t[5]-64)*100,this.setMasterTuning(n),m(`%cMaster Coarse Tuning. Cents: %c${n}`,r.info,r.value);break;default:T(`%cUnrecognized MIDI Device Control Real-time message: %c${lA(t)}`,r.warn,r.unrecognized)}break;case 9:t[3]===1?(m("%cGM system on",r.info),this.system="gm"):t[3]===3?(m("%cGM2 system on",r.info),this.system="gm2"):(m("%cGM system off, defaulting to GS",r.info),this.system="gs");break;case 8:switch(t[3]){case 2:case 7:let o=4;t[3]===7&&o++;let g=t[o++],C=t[o++];for(let B=0;B>1&1)===1&&this.setOctaveTuning(15+A,Q);for(let B=0;B<7;B++)(t[5]>>B&1)===1&&this.setOctaveTuning(7+B+A,Q);for(let B=0;B<7;B++)(t[6]>>B&1)===1&&this.setOctaveTuning(B+A,Q);m(`%cMIDI Octave Scale ${t[3]===8?"(1 byte)":"(2 bytes)"} tuning via Tuning: %c${Q.join(" ")}`,r.info,r.value);break;default:T(`%cUnrecognized MIDI Tuning standard message: %c${lA(t)}`,r.warn,r.unrecognized);break}break;default:T(`%cUnrecognized MIDI Realtime/non realtime message: %c${lA(t)}`,r.warn,r.unrecognized)}break;case 65:let s=function(){T(`%cUnrecognized Roland %cGS %cSysEx: %c${lA(t)}`,r.warn,r.recognized,r.warn,r.unrecognized)};if(t[2]===66&&t[3]===18){let n=t[7];if(t[6]===127){n===0?(m("%cGS Reset received!",r.info),this.resetAllControllers(!1),this.system="gs"):n===127&&(m("%cGS system off, switching to GM2",r.info),this.resetAllControllers(!1),this.system="gm2");return}else if(t[4]===64){if((t[5]&16)>0){let o=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][t[5]&15]+A;switch(t[6]){default:s();break;case 21:let g=n>0&&t[5]>>4;this.setDrums(o,g),m(`%cChannel %c${o}%c ${g?"is now a drum channel":"now isn't a drum channel"}%c via: %c${lA(t)}`,r.info,r.value,r.recognized,r.info,r.value);return;case 22:let C=n-64;this.transposeChannel(o,C),m(`%cChannel %c${o}%c pitch shift. Semitones %c${C}%c, with %c${lA(t)}`,r.info,r.recognized,r.info,r.value,r.info,r.value);return;case 28:let Q=n;Q===0&&(Q=Math.floor(Math.random()*128)),this.controllerChange(o,p.pan,Q);break;case 33:this.controllerChange(o,p.chorusDepth,n);break;case 34:this.controllerChange(o,p.reverbDepth,n);break;case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:let B=t.length-9,d=new Int8Array(12);for(let c=0;c=this.workletProcessorChannels.length)return;let o=t[6];switch(t[5]){case 1:this.controllerChange(n,p.bankSelect,o);break;case 2:this.controllerChange(n,p.lsbForControl0BankSelect,o);break;case 3:this.programChange(n,o);break;case 8:let g=this.workletProcessorChannels[n];if(g.drumChannel)return;let C=o-64;g.channelTransposeKeyShift=C;break;case 11:this.controllerChange(n,p.mainVolume,o);break;case 14:let Q=o;Q===0&&(Q=Math.floor(Math.random()*127)),this.controllerChange(n,p.pan,Q);break;case 19:this.controllerChange(n,p.reverbDepth,o);break;case 18:this.controllerChange(n,p.chorusDepth,o);break;default:T(`%cUnrecognized Yamaha XG Part Setup: %c${t[5].toString(16).toUpperCase()}`,r.warn,r.unrecognized)}}else this.system==="xg"&&T(`%cUnrecognized Yamaha XG SysEx: %c${lA(t)}`,r.warn,r.unrecognized);else this.system==="xg"&&T(`%cUnrecognized Yamaha SysEx: %c${lA(t)}`,r.warn,r.unrecognized);break}}var qo=1e3/200;function Cn(t,A,e){if(A.transformAmount===0)return A.currentValue=0,0;let s;if(A.sourceUsesCC)s=t[A.sourceIndex];else{let B=A.sourceIndex+gA;switch(A.sourceIndex){case K.noController:s=16383;break;case K.noteOnKeyNum:s=e.midiNote<<7;break;case K.noteOnVelocity:s=e.velocity<<7;break;case K.polyPressure:s=e.pressure<<7;break;default:s=t[B];break}}let n=ie[A.sourceCurveType][A.sourcePolarity][A.sourceDirection][s],o;if(A.secSrcUsesCC)o=t[A.secSrcIndex];else{let B=A.secSrcIndex+gA;switch(A.secSrcIndex){case K.noController:o=16383;break;case K.noteOnKeyNum:o=e.midiNote<<7;break;case K.noteOnVelocity:o=e.velocity<<7;break;case K.polyPressure:o=e.pressure<<7;break;default:o=t[B]}}let g=ie[A.secSrcCurveType][A.secSrcPolarity][A.secSrcDirection][o],C=A.transformAmount;A.isEffectModulator&&C<=1e3&&(C*=qo,C=Math.min(C,1e3));let Q=n*g*C;return A.transformType===2&&(Q=Math.abs(Q)),A.currentValue=Q,Q}function WA(t,A,e=-1,s=0){let n=t.modulators,o=t.generators,g=t.modulatedGenerators;if(JA.recalculate(t),e===-1){g.set(o),n.forEach(B=>{let d=U[B.modulatorDestination],l=g[B.modulatorDestination]+Cn(A,B,t);g[B.modulatorDestination]=Math.max(d.min,Math.min(l,d.max))}),UA.recalculate(t);return}let C=new Set([a.initialAttenuation,a.delayVolEnv,a.attackVolEnv,a.holdVolEnv,a.decayVolEnv,a.sustainVolEnv,a.releaseVolEnv,a.keyNumToVolEnvHold,a.keyNumToVolEnvDecay]),Q=new Set;n.forEach(B=>{if(B.sourceUsesCC===e&&B.sourceIndex===s||B.secSrcUsesCC===e&&B.secSrcIndex===s){let d=B.modulatorDestination;Q.has(d)||(g[d]=o[d],Cn(A,B,t),n.forEach(l=>{if(l.modulatorDestination===d){let c=U[B.modulatorDestination],u=g[B.modulatorDestination]+l.currentValue;g[B.modulatorDestination]=Math.max(c.min,Math.min(u,c.max))}}),Q.add(d))}}),[...Q].some(B=>C.has(B))&&UA.recalculate(t)}var ie=[];for(let t=0;t<4;t++){ie[t]=[[new Float32Array(CA),new Float32Array(CA)],[new Float32Array(CA),new Float32Array(CA)]];for(let A=0;A200&&e<40||this.highPerformanceMode&&e<10||g.isMuted)return;let C=A+g.channelTransposeKeyShift,Q=C;if(A>127||A<0)return;let B=g.preset.program;this.tunings[B]?.[A]?.midiNote>=0&&(Q=this.tunings[B]?.[A].midiNote),g.velocityOverride>0&&(e=g.velocityOverride);let d=this.getWorkletVoices(t,Q,e,g,o,C,s),l=g.voices;d.forEach(c=>{let u=c.generators[a.exclusiveClass];u!==0&&l.forEach(b=>{b.generators[a.exclusiveClass]===u&&(this.releaseVoice(b),b.modulatedGenerators[a.releaseVolEnv]=-7e3,b.modulatedGenerators[a.releaseModEnv]=-7e3,UA.recalculate(b),JA.recalculate(b))}),WA(c,g.midiControllers);let S=c.modulatedGenerators[a.startAddrsOffset]+c.modulatedGenerators[a.startAddrsCoarseOffset]*32768,y=c.modulatedGenerators[a.endAddrOffset]+c.modulatedGenerators[a.endAddrsCoarseOffset]*32768,D=c.modulatedGenerators[a.startloopAddrsOffset]+c.modulatedGenerators[a.startloopAddrsCoarseOffset]*32768,w=c.modulatedGenerators[a.endloopAddrsOffset]+c.modulatedGenerators[a.endloopAddrsCoarseOffset]*32768,G=c.sample,x=b=>Math.max(0,Math.min(G.sampleData.length-1,b));if(G.cursor=x(G.cursor+S),G.end=x(G.end+y),G.loopStart=x(G.loopStart+D),G.loopEnd=x(G.loopEnd+w),G.loopEndthis.voiceCap&&this.voiceKilling(d.length),l.push(...d),n&&(this.sendChannelProperties(),this.callEvent("noteon",{midiNote:A,channel:t,velocity:e}))}function Bn(t,A){if(A>127||A<0){T("Received a noteOn for note",A,"Ignoring.");return}let e=A+this.workletProcessorChannels[t].channelTransposeKeyShift;if(this.highPerformanceMode&&!this.workletProcessorChannels[t].drumChannel){this.killNote(t,e);return}this.workletProcessorChannels[t].voices.forEach(n=>{n.realKey!==e||n.isInRelease===!0||(this.workletProcessorChannels[t].holdPedal?this.workletProcessorChannels[t].sustainedVoices.push(n):this.releaseVoice(n))}),this.callEvent("noteoff",{midiNote:A,channel:t})}function hn(t,A){this.workletProcessorChannels[t].voices.forEach(e=>{e.realKey===A&&(e.modulatedGenerators[a.releaseVolEnv]=-12e3,this.releaseVoice(e))})}function Qn(t,A=!1){let e=this.workletProcessorChannels[t].voices;A?(e.length=0,this.workletProcessorChannels[t].sustainedVoices.length=0,this.sendChannelProperties()):(e.forEach(s=>{s.isInRelease||this.releaseVoice(s)}),this.workletProcessorChannels[t].sustainedVoices.forEach(s=>{this.releaseVoice(s)}))}function cn(t=!1){m("%cStop all received!",r.info);for(let A=0;AWA(n,this.workletProcessorChannels[t].midiControllers,0,K.pitchWheel)),this.sendChannelProperties()}function Sn(t,A){let e=this.workletProcessorChannels[t];e.midiControllers[gA+K.channelPressure]=A<<7,this.workletProcessorChannels[t].voices.forEach(s=>WA(s,e.midiControllers,0,K.channelPressure)),this.callEvent("channelpressure",{channel:t,pressure:A})}function Dn(t,A,e){this.workletProcessorChannels[t].voices.forEach(s=>{s.midiNote===A&&(s.pressure=e,WA(s,this.workletProcessorChannels[t].midiControllers,0,K.polyPressure))}),this.callEvent("polypressure",{channel:t,midiNote:A,pressure:e})}function kn(t,A){if(A.length!==12)throw new Error("Tuning is not the length of 12.");this.workletProcessorChannels[t].channelOctaveTuning=A}function wn(t,A,e,s=!1){let n=this.workletProcessorChannels[t];if(n===void 0){T(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(A>127){if(!s)return;switch(A){default:return;case Rt.velocityOverride:n.velocityOverride=e}}if(A>=p.lsbForControl1ModulationWheel&&A<=p.lsbForControl13EffectControl2&&A!==p.lsbForControl6DataEntry){let o=A-32;if(n.lockedControllers[o])return;n.midiControllers[o]=n.midiControllers[o]&16256|e&127,n.voices.forEach(g=>WA(g,n.midiControllers,1,o))}switch(A){case p.allNotesOff:this.stopAll(t);break;case p.allSoundOff:this.stopAll(t,!0);break;case p.bankSelect:let o=e;if(!s){switch(this.system){case"gm":m(`%cIgnoring the Bank Select (${e}), as the synth is in GM mode.`,r.info);return;case"xg":o===120||o===126||o===127?this.setDrums(t,!0):t%16!==SA&&this.setDrums(t,!1);break;case"gm2":o===120&&this.setDrums(t,!0)}n.drumChannel&&(o=128),o===128&&!n.drumChannel&&(o=PA(n))}jA(n,o);break;case p.lsbForControl0BankSelect:this.system==="xg"?n.drumChannel||e!==127&&jA(n,e):this.system==="gm2"&&jA(n,e);break;case p.RPNLsb:n.RPValue=n.RPValue<<7|e,n.dataEntryState=dA.RPFine;break;case p.RPNMsb:n.RPValue=e,n.dataEntryState=dA.RPCoarse;break;case p.NRPNMsb:n.NRPCoarse=e,n.dataEntryState=dA.NRPCoarse;break;case p.NRPNLsb:n.NRPFine=e,n.dataEntryState=dA.NRPFine;break;case p.dataEntryMsb:this.dataEntryCoarse(t,e);break;case p.lsbForControl6DataEntry:this.dataEntryFine(t,e);break;case p.resetAllControllers:this.resetControllers(t);break;case p.sustainPedal:e>=64?n.holdPedal=!0:(n.holdPedal=!1,n.sustainedVoices.forEach(g=>{this.releaseVoice(g)}),n.sustainedVoices=[]);break;default:if(n.lockedControllers[A])return;n.midiControllers[A]=e<<7,n.voices.forEach(g=>WA(g,n.midiControllers,1,A));break}this.callEvent("controllerchange",{channel:t,controllerNumber:A,controllerValue:e})}function Fn(t){this.midiVolume=t,this.setMasterPan(this.pan)}function Rn(t){this.masterGain=t*Ht,this.setMasterPan(this.pan)}function Gn(t){this.pan=t,t=t/2+.5,this.panLeft=1-t,this.panRight=t}function xn(t,A){A&&this.stopAll(t,!0),this.workletProcessorChannels[t].isMuted=A,this.sendChannelProperties(),this.callEvent("mutechannel",{channel:t,isMuted:A})}function Mn(t){this.workletProcessorChannels[t].lockGSNRPNParams=!0,this.workletProcessorChannels[t].channelVibrato.rate=0,this.workletProcessorChannels[t].channelVibrato.delay=0,this.workletProcessorChannels[t].channelVibrato.depth=0}function Nn(t,A,e,s){this.workletProcessorChannels[t].lockGSNRPNParams||(this.workletProcessorChannels[t].channelVibrato.rate=e,this.workletProcessorChannels[t].channelVibrato.delay=s,this.workletProcessorChannels[t].channelVibrato.depth=A)}function bn(t,A){let e=this.workletProcessorChannels[t],s=()=>{e.channelVibrato.delay===0&&e.channelVibrato.rate===0&&e.channelVibrato.depth===0&&(e.channelVibrato.depth=50,e.channelVibrato.rate=8,e.channelVibrato.delay=.6)};switch(e.dataEntryState){default:case dA.Idle:break;case dA.NRPFine:if(this.system!=="gs"||e.lockGSNRPNParams)return;switch(e.NRPCoarse){default:if(A===64)return;T(`%cUnrecognized NRPN for %c${t}%c: %c(0x${e.NRPCoarse.toString(16).toUpperCase()} 0x${e.NRPFine.toString(16).toUpperCase()})%c data value: %c${A}`,r.warn,r.recognized,r.warn,r.unrecognized,r.warn,r.value);break;case 1:switch(e.NRPFine){default:if(A===64)return;T(`%cUnrecognized NRPN for %c${t}%c: %c(0x${e.NRPCoarse.toString(16)} 0x${e.NRPFine.toString(16)})%c data value: %c${A}`,r.warn,r.recognized,r.warn,r.unrecognized,r.warn,r.value);break;case 8:if(A===64)return;s(),e.channelVibrato.rate=A/64*8,m(`%cVibrato rate for %c${t}%c is now set to %c${A} = ${e.channelVibrato.rate}%cHz.`,r.info,r.recognized,r.info,r.value,r.info);break;case 9:if(A===64)return;s(),e.channelVibrato.depth=A/2,m(`%cVibrato depth for %c${t}%c is now set to %c${A} = ${e.channelVibrato.depth}%c cents range of detune.`,r.info,r.recognized,r.info,r.value,r.info);break;case 10:if(A===64)return;s(),e.channelVibrato.delay=A/64/3,m(`%cVibrato delay for %c${t}%c is now set to %c${A} = ${e.channelVibrato.delay}%c seconds.`,r.info,r.recognized,r.info,r.value,r.info);break;case 32:let g=A;this.controllerChange(t,p.brightness,A),m(`%cFilter cutoff for %c${t}%c is now set to %c${g}`,r.info,r.recognized,r.info,r.value)}break;case 24:let n=A-64;e.keyCentTuning[e.NRPFine]=n*100,m(`%cGS drum key tuning. MIDI note: %c${e.NRPFine}%c semitones: %c${n}`,r.info,r.recognized,r.info,r.value);break;case 29:let o=A;this.controllerChange(t,p.reverbDepth,o),m(`%cGS Drum reverb for %c${t}%c: %c${o}`,r.info,r.recognized,r.info,r.value);break}break;case dA.RPCoarse:case dA.RPFine:switch(e.RPValue){default:T(`%cUnrecognized RPN for %c${t}%c: %c(0x${e.RPValue.toString(16)})%c data value: %c${A}`,r.warn,r.recognized,r.warn,r.unrecognized,r.warn,r.value);break;case 0:e.midiControllers[gA+K.pitchWheelRange]=A<<7,m(`%cChannel ${t} bend range. Semitones: %c${A}`,r.info,r.value);break;case 2:this.setChannelTuningSemitones(t,A-64);break;case 1:this.setChannelTuning(t,A-64,!1);break;case 5:this.setModulationDepth(t,A*100);break;case 16383:this.resetParameters(t);break}}}function Ln(t,A){let e=this.workletProcessorChannels[t];switch(e.dataEntryState){default:break;case dA.RPCoarse:case dA.RPFine:switch(e.RPValue){default:break;case 0:if(A===0)break;e.midiControllers[gA+K.pitchWheelRange]|=A;let s=(e.midiControllers[gA+K.pitchWheelRange]>>7)+A/127;m(`%cChannel ${t} bend range. Semitones: %c${s}`,r.info,r.value);break;case 1:let o=e.customControllers[aA.channelTuning]<<7|A;this.setChannelTuning(t,o*.01220703125);break;case 5:let C=e.customControllers[aA.modulationMultiplier]*50+A/128*100;this.setModulationDepth(t,C);break;case 16383:this.resetParameters(t);break}}}function Un(t=!0){t&&m("%cResetting all controllers!",r.info),this.callEvent("allcontrollerreset",void 0);for(let A=0;A>7});if(this.workletProcessorChannels[A].lockedControllers[gA+K.pitchWheel]===!1){let s=this.workletProcessorChannels[A].midiControllers[gA+K.pitchWheel],n=s>>7,o=s&127;this.callEvent("pitchwheel",{channel:A,MSB:n,LSB:o})}}this.tunings=[],this.tunings=[];for(let A=0;127>A;A++)this.tunings.push([]);this.setMIDIVolume(1),this.system=Xe}function Tn(t){let A=this.workletProcessorChannels[t],s=A.lockedControllers.reduce((o,g,C)=>(g&&o.push(C),o),[]).map(o=>({ccNum:o,ccVal:A.midiControllers[o]}));A.channelOctaveTuning.fill(0),A.keyCentTuning.fill(0),A.midiControllers.set(kt),A.channelVibrato={rate:0,depth:0,delay:0},A.holdPedal=!1,s.forEach(o=>{A.midiControllers[o.ccNum]=o.ccVal});let n=A.customControllers[aA.channelTransposeFine];A.customControllers.set(Ft),A.customControllers[aA.channelTransposeFine]=n,this.resetParameters(t)}function Hn(t){let A=this.workletProcessorChannels[t];A.NRPCoarse=0,A.NRPFine=0,A.RPValue=0,A.dataEntryState=dA.Idle}function Yn(){let t=4;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>(o.generators=o.generators.filter(g=>g.generatorType!==a.sampleID&&g.generatorType!==a.keyRange&&g.generatorType!==a.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:a.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:a.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:a.sampleID,generatorValue:this.samples.indexOf(o.sample)}),o.generators.length*4+n),0);let A=new Y(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.generatorZoneStartIndex=e;for(let o of n.generators)J(A,o.generatorType),J(A,o.generatorValue),e++}return cA(A,0),nA(new AA("igen",A.length,A))}function Jn(t,A,e,s,n){let o=this.samples.map((B,d)=>{e&&B.compressSample(s,n);let l=B.getRawData();return m(`%cEncoded sample %c${d}. ${B.sampleName}%c of %c${this.samples.length}`,r.info,r.recognized,r.info,r.recognized),l}),g=this.samples.reduce((B,d,l)=>B+o[l].length+46,0),C=new Y(g);this.samples.forEach((B,d)=>{let l=o[d],c,u,S=l.length;B.isCompressed?(c=C.currentIndex,u=c+l.length):(c=C.currentIndex/2,u=c+l.length/2,S+=46),t.push(c),C.set(l,C.currentIndex),C.currentIndex+=S,A.push(u)});let Q=nA(new AA("smpl",C.length,C),new Y([115,100,116,97]));return nA(new AA("LIST",Q.length,Q))}function vn(t,A){let s=new Y(46*(this.samples.length+1));return this.samples.forEach((n,o)=>{RA(s,n.sampleName,20);let g=t[o];cA(s,g);let C=A[o];cA(s,C);let Q=n.sampleLoopStartIndex+g,B=n.sampleLoopEndIndex+g;n.isCompressed&&(Q-=g,B-=g),cA(s,Q),cA(s,B),cA(s,n.sampleRate),s[s.currentIndex++]=n.samplePitch,s[s.currentIndex++]=n.samplePitchCorrection,J(s,n.sampleLink),J(s,n.sampleType)}),RA(s,"EOS",46),nA(new AA("shdr",s.length,s))}function qn(){let t=10;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new Y(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)J(A,o.sourceEnum),J(A,o.modulatorDestination),J(A,o.transformAmount),J(A,o.secondarySourceEnum),J(A,o.transformType),e++}return he(A,0,10),nA(new AA("imod",A.length,A))}function Pn(){let t=this.instruments.reduce((o,g)=>g.instrumentZones.length*4+o,4),A=new Y(t),e=0,s=0,n=0;for(let o of this.instruments){o.instrumentZoneIndex=e;for(let g of o.instrumentZones)g.zoneID=e,J(A,s),J(A,n),s+=g.generators.length,n+=g.modulators.length,e++}return J(A,s),J(A,n),nA(new AA("ibag",A.length,A))}function Kn(){let t=this.instruments.length*22+22,A=new Y(t),e=0,s=0;for(let n of this.instruments)RA(A,n.instrumentName,20),J(A,e),e+=n.instrumentZones.length,n.instrumentID=s,s++;return RA(A,"EOI",20),J(A,e),nA(new AA("inst",A.length,A))}function On(){let t=4;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>(o.generators=o.generators.filter(g=>g.generatorType!==a.instrument&&g.generatorType!==a.keyRange&&g.generatorType!==a.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:a.velRange,generatorValue:o.velRange.max<<8|o.velRange.min}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:a.keyRange,generatorValue:o.keyRange.max<<8|o.keyRange.min}),o.isGlobal||o.generators.push({generatorType:a.instrument,generatorValue:this.instruments.indexOf(o.instrument)}),o.generators.length*4+n),0);let A=new Y(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.generatorZoneStartIndex=e;for(let o of n.generators)J(A,o.generatorType),J(A,o.generatorValue);e+=n.generators.length}return J(A,0),J(A,0),nA(new AA("pgen",A.length,A))}function Vn(){let t=10;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new Y(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)J(A,o.sourceEnum),J(A,o.modulatorDestination),J(A,o.transformAmount),J(A,o.secondarySourceEnum),J(A,o.transformType),e++}return he(A,0,10),nA(new AA("pmod",A.length,A))}function Zn(){let t=this.presets.reduce((o,g)=>g.presetZones.length*4+o,4),A=new Y(t),e=0,s=0,n=0;for(let o of this.presets){o.presetZoneStartIndex=e;for(let g of o.presetZones)g.zoneID=e,J(A,s),J(A,n),s+=g.generators.length,n+=g.modulators.length,e++}return J(A,s),J(A,n),nA(new AA("pbag",A.length,A))}function Xn(){let t=this.presets.length*38+38,A=new Y(t),e=0;for(let s of this.presets)RA(A,s.presetName,20),J(A,s.program),J(A,s.bank),J(A,e),cA(A,s.library),cA(A,s.genre),cA(A,s.morphology),e+=s.presetZones.length;return RA(A,"EOP",20),J(A,0),J(A,0),J(A,e),cA(A,0),cA(A,0),cA(A,0),nA(new AA("phdr",A.length,A))}var Po={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Wn(t=Po){if(t.compress&&typeof t.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");yA("%cSaving soundfont...",r.info),m(`%cCompression: %c${t?.compress||"false"}%c quality: %c${t?.compressionQuality||"none"}`,r.info,r.recognized,r.info,r.recognized),m("%cWriting INFO...",r.info);let A=[];this.soundFontInfo.ISFT="SpessaSynth",t?.compress&&(this.soundFontInfo.ifil="3.0");for(let[b,W]of Object.entries(this.soundFontInfo))if(b==="ifil"||b==="iver"){let i=parseInt(W.split(".")[0]),eA=parseInt(W.split(".")[1]),X=new Y(4);J(X,i),J(X,eA),A.push(nA(new AA(b,4,X)))}else if(b==="DMOD")A.push(nA(new AA(b,W.length,W)));else{let i=new Y(W.length);RA(i,W),A.push(nA(new AA(b,W.length,i)))}let e=Fe([new Y([73,78,70,79]),...A]),s=nA(new AA("LIST",e.length,e));m("%cWriting SDTA...",r.info);let n=[],o=[],g=Jn.call(this,n,o,t?.compress,t?.compressionQuality||.5,t.compressionFunction);m("%cWriting PDTA...",r.info),m("%cWriting SHDR...",r.info);let C=vn.call(this,n,o);m("%cWriting IGEN...",r.info);let Q=Yn.call(this);m("%cWriting IMOD...",r.info);let B=qn.call(this);m("%cWriting IBAG...",r.info);let d=Pn.call(this);m("%cWriting INST...",r.info);let l=Kn.call(this),c=On.call(this);m("%cWriting PMOD...",r.info);let u=Vn.call(this);m("%cWriting PBAG...",r.info);let S=Zn.call(this);m("%cWriting PHDR...",r.info);let y=Xn.call(this),D=Fe([new Y([112,100,116,97]),y,S,u,c,l,d,B,Q,C]),w=nA(new AA("LIST",D.length,D));m("%cWriting the output file...",r.info);let G=Fe([new Y([115,102,98,107]),s,g,w]),x=nA(new AA("RIFF",G.length,G));return m(`%cSaved succesfully! Final file size: %c${x.length}`,r.info,r.recognized),Z(),x}var ae=class t{constructor(A=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=Oe.map(e=>j.copy(e)),A?.presets&&(this.presets.push(...A.presets),this.soundFontInfo=A.info)}static mergeSoundfonts(...A){let e=A.shift(),s=e.presets;for(;A.length;)A.shift().presets.forEach(o=>{s.find(g=>g.bank===o.bank&&g.program===o.program)===void 0&&s.push(o)});return new t({presets:s,info:e.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(A=>{A.useCount<1&&A.instrumentZones.forEach(e=>{e.isGlobal||e.sample.useCount--})}),this.instruments=this.instruments.filter(A=>A.useCount>0),this.samples=this.samples.filter(A=>A.useCount>0)}deleteInstrument(A){if(A.useCount>0)throw new Error(`Cannot delete an instrument that has ${A.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(A),1),A.deleteInstrument(),this.removeUnusedElements()}deletePreset(A){A.deletePreset(),this.presets.splice(this.presets.indexOf(A),1),this.removeUnusedElements()}deleteSample(A){if(A.useCount>0)throw new Error(`Cannot delete sample that has ${A.useCount} usages.`);this.samples.splice(this.samples.indexOf(A),1),this.removeUnusedElements()}setSampleIDOffset(A){this.presets.forEach(e=>e.sampleIDOffset=A)}getPresetNoFallback(A,e,s=!1){let n=this.presets.find(o=>o.bank===A&&o.program===e);if(n)return n;if(s!==!1)return A===128?this.presets.find(o=>o.bank===128):this.presets.find(o=>o.program===e)}getPreset(A,e){let s=this.presets.find(n=>n.bank===A&&n.program===e);return s||(A===128?(s=this.presets.find(n=>n.bank===128&&n.program===e),s||(s=this.presets.find(n=>n.bank===128))):s=this.presets.find(n=>n.program===e&&n.bank!==128),s&&T(`%cPreset ${A}.${e} not found. Replaced with %c${s.presetName} (${s.bank}.${s.program})`,r.warn,r.recognized)),s||(T(`Preset ${e} not found. Defaulting to`,this.presets[0].presetName),s=this.presets[0]),s}getPresetByName(A){let e=this.presets.find(s=>s.presetName===A);return e||(T("Preset not found. Defaulting to:",this.presets[0].presetName),e=this.presets[0]),e}};ae.prototype.write=Wn;function _n(t){yA("%cLoading instruments...",r.info);for(let A=0;AA.deleteZone()),this.presetZones.length=0}deleteZone(A){this.presetZones[A].deleteZone(),this.presetZones.splice(A,1)}preload(A,e){for(let s=A;s{o.sample.isSampleLoaded||o.sample.getAudioData()})}preloadSpecific(A,e){this.getSamplesAndGenerators(A,e).forEach(s=>{s.sample.isSampleLoaded||s.sample.getAudioData()})}getSamplesAndGenerators(A,e){let s=this.foundSamplesAndGenerators[A][e];if(s)return s;if(this.presetZones.length<1)return[];function n(l,c,u){return u>=l&&u<=c}function o(l,c){l.push(...c.filter(u=>!l.find(S=>S.generatorType===u.generatorType)))}function g(l,c){l.push(...c.filter(u=>!l.find(S=>j.isIdentical(u,S))))}let C=[],Q=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],B=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(l=>n(l.keyRange.min,l.keyRange.max,A)&&n(l.velRange.min,l.velRange.max,e)&&!l.isGlobal).forEach(l=>{if(l.instrument.instrumentZones.length<1)return;let c=l.generators,u=l.modulators,S=l.instrument.instrumentZones[0].isGlobal?[...l.instrument.instrumentZones[0].generators]:[],y=l.instrument.instrumentZones[0].isGlobal?[...l.instrument.instrumentZones[0].modulators]:[];l.instrument.instrumentZones.filter(w=>n(w.keyRange.min,w.keyRange.max,A)&&n(w.velRange.min,w.velRange.max,e)&&!w.isGlobal).forEach(w=>{let G=[...w.generators],x=[...w.modulators];o(c,Q),o(G,S),g(u,B),g(x,y),g(x,this.defaultModulators);let b=[...x];for(let W=0;Wj.isIdentical(i,X));eA!==-1?b[eA]=b[eA].sumTransform(i):b.push(i)}C.push({instrumentGenerators:G,presetGenerators:c,modulators:b,sample:w.sample,sampleID:w.generators.find(W=>W.generatorType===a.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[A][e]=C,C}};var xe=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var ee=class extends xe{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},de=class extends xe{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var fe=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(A=>A.useCount++)}removeUseCount(){this._useCount--;for(let A=0;AA.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(A){return this.instrumentZones[A].useCount--,this.instrumentZones[A].useCount<1?(this.deleteZone(A),!0):!1}deleteZone(A){this.instrumentZones[A].deleteZone(),this.instrumentZones.splice(A,1)}};var tt=class extends ue{constructor(A,e){super(Oe),this.program=e&127,this.bank=A>>8&127,A>>31&&(this.bank=128),this.DLSInstrument=new fe,this.DLSInstrument.addUseCount();let n=new de;n.instrument=this.DLSInstrument,this.presetZones=[n]}};function zn(t){this.verifyHeader(t,"LIST"),this.verifyText(O(t.chunkData,4),"ins ");let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(V(t.chunkData));let e=A.find(u=>u.header==="insh");if(!e)throw Z(),new Error("No instrument header!");let s=k(e.chunkData,4),n=k(e.chunkData,4),o=k(e.chunkData,4),g=new tt(n,o),C="unnamedPreset",Q=DA(A,"INFO");if(Q){let u=V(Q.chunkData);for(;u.header!=="INAM";)u=V(Q.chunkData);C=O(u.chunkData,u.chunkData.length).trim()}g.presetName=C,g.DLSInstrument.instrumentName=C,ne(`%cParsing %c"${C}"%c...`,r.info,r.recognized,r.info);let B=DA(A,"lrgn");if(!B)throw Z(),new Error("No region list!");let d=new ee;d.isGlobal=!0;let l=DA(A,"lart"),c=DA(A,"lar2");this.readLart(l,c,d),g.DLSInstrument.instrumentZones.push(d);for(let u=0;u>10&15;w===QA.linear&&D!==QA.linear&&(w=D);let G=s>>14&1,x=s>>15&1;g===a.initialAttenuation&&(x=!x),l=HA(w,G,x,C.isCC,C.enum)}let c=s>>4&15,u=s>>8&1,S=s>>9&1,y=HA(c,u,S,d.isCC,d.enum);if(Q){let D=y;y=l,l=D}return new j({srcEnum:l,secSrcEnum:y,dest:g,transform:0,amt:n})}function Yt(t,A){let e=t.chunkData,s=[],n=[];k(e,4);let o=k(e,4);for(let g=0;g>16;if(C===0&&Q===0&&d===0){let u;switch(B){case M.pan:u=new L(a.pan,c);break;case M.gain:u=new L(a.initialAttenuation,-c*10/.4);break;case M.filterCutoff:u=new L(a.initialFilterFc,c);break;case M.filterQ:u=new L(a.initialFilterQ,c);break;case M.modLfoFreq:u=new L(a.freqModLFO,c);break;case M.modLfoDelay:u=new L(a.delayModLFO,c);break;case M.vibLfoFreq:u=new L(a.freqVibLFO,c);break;case M.vibLfoDelay:u=new L(a.delayVibLFO,c);break;case M.volEnvDelay:u=new L(a.delayVolEnv,c);break;case M.volEnvAttack:u=new L(a.attackVolEnv,c);break;case M.volEnvHold:u=new L(a.holdVolEnv,c);break;case M.volEnvDecay:u=new L(a.decayVolEnv,c);break;case M.volEnvRelease:u=new L(a.releaseVolEnv,c);break;case M.volEnvSustain:let S=(1e3-c)/10;u=new L(a.sustainVolEnv,S*10);break;case M.modEnvDelay:u=new L(a.delayModEnv,c);break;case M.modEnvAttack:u=new L(a.attackModEnv,c);break;case M.modEnvHold:u=new L(a.holdModEnv,c);break;case M.modEnvDecay:u=new L(a.decayModEnv,c);break;case M.modEnvRelease:u=new L(a.releaseModEnv,c);break;case M.modEnvSustain:let y=1e3-c;u=new L(a.sustainModEnv,y);break;case M.reverbSend:u=new L(a.reverbEffectsSend,c);break;case M.chorusSend:u=new L(a.chorusEffectsSend,c);break;case M.pitch:let D=Math.floor(c/100),w=Math.floor(c-D*100);u=new L(a.fineTune,w),s.push(new L(a.coarseTune,D));break}u&&s.push(u)}else{let u=!0;if(Q===z.none)if(C===z.modLfo&&B===M.pitch)s.push(new L(a.modLfoToPitch,c));else if(C===z.modLfo&&B===M.gain)s.push(new L(a.modLfoToVolume,c));else if(C===z.modLfo&&B===M.filterCutoff)s.push(new L(a.modLfoToFilterFc,c));else if(C===z.vibratoLfo&&B===M.pitch)s.push(new L(a.vibLfoToPitch,c));else if(C===z.modEnv&&B===M.pitch)s.push(new L(a.modEnvToPitch,c));else if(C===z.modEnv&&B===M.filterCutoff)s.push(new L(a.modEnvToFilterFc,c));else if(C===z.keyNum&&B===M.volEnvHold){s.push(new L(a.keyNumToVolEnvHold,c/-128));let S=Math.round(60/128*c);s.forEach(y=>{y.generatorType===a.holdVolEnv&&(y.generatorValue+=S)})}else if(C===z.keyNum&&B===M.volEnvDecay){s.push(new L(a.keyNumToVolEnvDecay,c/-128));let S=Math.round(60/128*c);s.forEach(y=>{y.generatorType===a.decayVolEnv&&(y.generatorValue+=S)})}else if(C===z.keyNum&&B===M.modEnvHold){s.push(new L(a.keyNumToModEnvHold,c/-128));let S=Math.round(60/128*c);s.forEach(y=>{y.generatorType===a.holdModEnv&&(y.generatorValue+=S)})}else if(C===z.keyNum&&B===M.modEnvDecay){s.push(new L(a.keyNumToModEnvDecay,c/-128));let S=Math.round(60/128*c);s.forEach(y=>{y.generatorType===a.decayModEnv&&(y.generatorValue+=S)})}else u=!1;else u=!1;if(u===!1){let S=$n(C,Q,B,d,c);S?(n.push(S),m("%cSucceeded converting to SF2 Modulator!",r.recognized)):T("Failed converting to SF2 Modulator!")}}}return n.find(g=>g.modulatorDestination===a.reverbEffectsSend)===void 0&&n.push(new j({srcEnum:219,dest:a.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),n.find(g=>g.modulatorDestination===a.chorusEffectsSend)===void 0&&n.push(new j({srcEnum:221,dest:a.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),A&&n.push(new j({srcEnum:129,dest:a.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new j({srcEnum:13,dest:a.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:n,generators:s}}function Ao(t,A,e){if(t)for(;t.chunkData.currentIndext.chunkData.currentIndex;)A.push(V(t.chunkData));let e=A.find(X=>X.header==="rgnh"),s=k(e.chunkData,2),n=k(e.chunkData,2),o=k(e.chunkData,2),g=k(e.chunkData,2),C=new st({min:s,max:n},{min:o,max:g});k(e.chunkData,2);let Q=k(e.chunkData,2);Q!==0&&C.generators.push(new L(a.exclusiveClass,Q));let B=DA(A,"lart"),d=DA(A,"lar2");this.readLart(B,d,C),C.isGlobal=!1;let l=A.find(X=>X.header==="wsmp");k(l.chunkData,4);let c=k(l.chunkData,2),u=Ae(l.chunkData[l.chunkData.currentIndex++],l.chunkData[l.chunkData.currentIndex++]),y=(k(l.chunkData,4)|0)/-655360;k(l.chunkData,4);let D=k(l.chunkData,4),w,G={start:0,end:0};if(D===0)w=0;else{k(l.chunkData,4),k(l.chunkData,4)===0?w=1:w=3,G.start=k(l.chunkData,4);let P=k(l.chunkData,4);G.end=G.start+P}let x=A.find(X=>X.header==="wlnk");if(x===void 0)return;k(x.chunkData,2),k(x.chunkData,2),k(x.chunkData,4);let b=k(x.chunkData,4),W=this.samples[b];if(W===void 0)throw new Error("Invalid sample ID!");let eA=(y||W.sampleDbAttenuation)*10/.4;return C.setWavesample(eA,w,G,c,W,b,u),C}var me=class{constructor(A,e,s,n,o,g,C,Q){this.sampleName=A,this.sampleRate=e,this.samplePitch=s,this.samplePitchCorrection=n,this.sampleLink=o,this.sampleType=g,this.sampleLoopStartIndex=C,this.sampleLoopEndIndex=Q,this.isCompressed=(g&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let A=new Error("Not implemented");throw A.name="NotImplementedError",A}compressSample(A,e){if(!this.isCompressed)try{this.compressedData=e([this.getAudioData()],1,this.sampleRate,A),this.sampleType|=16,this.isCompressed=!0}catch{T(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let A=new Error("Not implemented");throw A.name="NotImplementedError",A}};var nt=class extends me{sampleDbAttenuation;sampleData;constructor(A,e,s,n,o,g,C,Q){super(A,e,s,n,0,1,o,g-1),this.sampleData=C,this.sampleDbAttenuation=Q}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let A=new Uint8Array(this.sampleData.length*2);for(let e=0;e>8&255}return A}};function to(t){yA("%cLoading Wave samples...",r.recognized);let A=0;for(;t.chunkData.currentIndexP.header==="fmt ");if(!n)throw new Error("No fmt chunk in the wave file!");let o=k(n.chunkData,2);if(o!==1)throw new Error(`Only PCM format in WAVE is supported. Fmt reports ${o}`);let g=k(n.chunkData,2);if(g!==1)throw new Error(`Only mono samples are supported. Fmt reports ${g} channels`);let C=k(n.chunkData,4);k(n.chunkData,4),k(n.chunkData,2);let Q=k(n.chunkData,2),B=Q/8,d=Math.pow(2,B*8-1),l=Math.pow(2,B*8),c,u=!1;Q===8?(c=255,u=!0):c=d;let S=s.find(P=>P.header==="data");if(!S)throw new Error("No data chunk in the wave chunk!");let y=S.size/B,D=new Float32Array(y);for(let P=0;P=d&&($-=l),D[P]=$/c)}let w=60,G=0,x=0,b=D.length-1,W=0,i=s.find(P=>P.header==="wsmp");if(i){if(k(i.chunkData,4),w=k(i.chunkData,2),G=Ae(i.chunkData[i.chunkData.currentIndex++],i.chunkData[i.chunkData.currentIndex++]),W=(k(i.chunkData,4)|0)/-655360,k(i.chunkData,4),k(i.chunkData,4)===1){k(i.chunkData,8),x=k(i.chunkData,4);let EA=k(i.chunkData,4);b=x+EA}}else T("No wsmp chunk in wave... using sane defaults.");let eA=DA(s,"INFO"),X=`Unnamed ${A}`;if(eA){let P=V(eA.chunkData);for(;P.header!=="INAM"&&eA.chunkData.currentIndexh.header==="colh");if(!o)throw Z(),new Error("No colh chunk!");this.instrumentAmount=S(o.chunkData,4),m(`%cInstruments amount: %c${this.instrumentAmount}`,r.info,r.recognized);let g=DA(s,"wvpl");this.readDLSSamples(g);let E=DA(s,"lins");if(!E)throw Z(),new Error("No lins chunk!");this.readDLSInstrumentList(E),this.presets.sort((h,B)=>h.program-B.program+(h.bank-B.bank)),m(`%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.`,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info),Z()}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid DLS chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid DLS soundfont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};_A.prototype.readDLSInstrumentList=jn;_A.prototype.readDLSInstrument=$n;_A.prototype.readRegion=so;_A.prototype.readLart=to;_A.prototype.readDLSSamples=no;var Jt=class extends me{constructor(A,e,s,n,o,g,E,h,B,d,c,l,u){super(A,g,E,h,B,d,n-e/2,o-e/2),this.sampleName=A,this.sampleStartIndex=e,this.sampleEndIndex=s,this.isSampleLoaded=!1,this.sampleID=l,this.sampleLength=this.sampleEndIndex-this.sampleStartIndex,this.sampleDataArray=c,this.sampleData=new Float32Array(0),this.isCompressed&&(this.sampleLoopStartIndex+=this.sampleStartIndex/2,this.sampleLoopEndIndex+=this.sampleStartIndex/2,this.sampleLength=99999999),this.isDataRaw=u}getRawData(){let A=this.sampleDataArray;if(this.isCompressed){if(this.compressedData)return this.compressedData;let e=A.currentIndex;return A.slice(this.sampleStartIndex/2+e,this.sampleEndIndex/2+e)}else{if(!this.isDataRaw)throw new Error("Writing SF2Pack samples is not supported.");let e=A.currentIndex;return A.slice(e+this.sampleStartIndex,e+this.sampleEndIndex)}}decodeVorbis(){if(this.sampleLength<1)return;let A=this.sampleDataArray,e=A.currentIndex,s=A.slice(this.sampleStartIndex/2+e,this.sampleEndIndex/2+e);this.sampleData=new Float32Array(0);let n=VA.decode(s.buffer);this.sampleData=n.data[0]}getAudioData(){return this.isSampleLoaded?this.sampleData:this.sampleLength<1?new Float32Array(1):this.isCompressed?(this.decodeVorbis(),this.isSampleLoaded=!0,this.sampleData):this.isDataRaw?this.loadUncompressedData():this.getUncompressedReadyData()}loadUncompressedData(){if(this.isCompressed)return T("Trying to load a compressed sample via loadUncompressedData()... aborting!"),new Float32Array(0);let A=new Float32Array(this.sampleLength/2),e=this.sampleDataArray.currentIndex,s=new Int16Array(this.sampleDataArray.slice(e+this.sampleStartIndex,e+this.sampleEndIndex).buffer);for(let n=0;nt.chunkData.currentIndex;){let o=Vo(n,t.chunkData,A,e);s.push(o),n++}return s.length>1&&s.pop(),s}function Vo(t,A,e,s){let n=O(A,20),o=S(A,4)*2,g=S(A,4)*2,E=S(A,4),h=S(A,4),B=S(A,4),d=A[A.currentIndex++];d===255&&(d=60);let c=xs(A[A.currentIndex++]),l=S(A,2),u=S(A,2);return new Jt(n,o,g,E,h,B,d,c,l,u,e,t,s)}var vt=class extends L{constructor(A){super();let e=A.currentIndex;this.generatorType=A[e+1]<<8|A[e],this.generatorValue=Ae(A[e+2],A[e+3]),A.currentIndex+=4}};function qt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new vt(t.chunkData));return A.length>1&&A.pop(),A}var Pt=class extends fe{constructor(A){super(),this.instrumentName=O(A.chunkData,20).trim(),this.instrumentZoneIndex=S(A.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(A,e){this.instrumentZonesAmount=A;for(let s=this.instrumentZoneIndex;st.chunkData.currentIndex;){let s=new Pt(t);if(e.length>0){let n=s.instrumentZoneIndex-e[e.length-1].instrumentZoneIndex;e[e.length-1].getInstrumentZones(n,A)}e.push(s)}return e.length>1&&e.pop(),e}var Kt=class extends ee{constructor(A){super(),this.generatorZoneStartIndex=S(A,2),this.modulatorZoneStartIndex=S(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===I.sampleID);e&&(this.sample=A[e.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===I.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===I.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function io(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new Kt(t.chunkData);if(n.length>0){let g=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,E=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(g,E),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(e),n[n.length-1].getSample(s),n[n.length-1].getKeyRange(),n[n.length-1].getVelRange()}n.push(o)}return n.length>1&&n.pop(),n}var Ot=class extends de{constructor(A){super(),this.generatorZoneStartIndex=S(A,2),this.modulatorZoneStartIndex=S(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===I.instrument);e&&(this.instrument=A[e.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===I.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===I.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function ao(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new Ot(t.chunkData);if(n.length>0){let g=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,E=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(g,E),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(e),n[n.length-1].getInstrument(s),n[n.length-1].getKeyRange(),n[n.length-1].getVelRange()}n.push(o)}return n.length>1&&n.pop(),n}var Vt=class extends ue{constructor(A,e){super(e),this.presetName=O(A.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=S(A.chunkData,2),this.bank=S(A.chunkData,2),this.presetZoneStartIndex=S(A.chunkData,2),this.library=S(A.chunkData,4),this.genre=S(A.chunkData,4),this.morphology=S(A.chunkData,4),this.presetZonesAmount=0}getPresetZones(A,e){this.presetZonesAmount=A;for(let s=this.presetZoneStartIndex;st.chunkData.currentIndex;){let n=new Vt(t,e);if(s.length>0){let o=n.presetZoneStartIndex-s[s.length-1].presetZoneStartIndex;s[s.length-1].getPresetZones(o,A)}s.push(n)}return s.length>1&&s.pop(),s}var Zt=class extends j{constructor(A){super({srcEnum:S(A,2),dest:S(A,2),amt:Ae(A[A.currentIndex++],A[A.currentIndex++]),secSrcEnum:S(A,2),transform:S(A,2)})}};function ot(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new Zt(t.chunkData));return A}var rt=class extends ae{constructor(A,e=!0){if(super(),e&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new Y(A),ne("%cParsing SoundFont...",r.info),!this.dataArray)throw Z(),new TypeError("No data!");let s=V(this.dataArray,!1);this.verifyHeader(s,"riff");let n=O(this.dataArray,4).toLowerCase();if(n!=="sfbk"&&n!=="sfpk")throw Z(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${n}"`);let o=n==="sfpk",g=V(this.dataArray);for(this.verifyHeader(g,"list"),O(g.chunkData,4);g.chunkData.length>g.chunkData.currentIndex;){let z=V(g.chunkData),oA;switch(z.header.toLowerCase()){case"ifil":case"iver":oA=`${S(z.chunkData,2)}.${S(z.chunkData,2)}`,this.soundFontInfo[z.header]=oA;break;case"icmt":oA=O(z.chunkData,z.chunkData.length,void 0,!1),this.soundFontInfo[z.header]=oA;break;case"dmod":let rA=ot(z);rA.pop(),oA=`Modulators: ${rA.length}`;let EA=this.defaultModulators;this.defaultModulators=rA,this.defaultModulators.push(...EA.filter(be=>!this.defaultModulators.find(xA=>j.isIdentical(be,xA)))),this.soundFontInfo[z.header]=z.chunkData;break;default:oA=O(z.chunkData,z.chunkData.length),this.soundFontInfo[z.header]=oA}m(`%c"${z.header}": %c"${oA}"`,r.info,r.recognized)}let E=V(this.dataArray,!1);this.verifyHeader(E,"list"),this.verifyText(O(this.dataArray,4),"sdta"),m("%cVerifying smpl chunk...",r.warn);let h=V(this.dataArray,!1);this.verifyHeader(h,"smpl");let B;if(o){m("%cSF2Pack detected, attempting to decode the smpl chunk...",r.info);try{B=VA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+E.size-12)).data[0]}catch(z){throw Z(),new Error(`SF2Pack Ogg Vorbis decode error: ${z}`)}m(`%cDecoded the smpl chunk! Length: %c${B.length}`,r.info,r.value)}else B=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;m(`%cSkipping sample chunk, length: %c${E.size-12}`,r.info,r.value),this.dataArray.currentIndex+=E.size-12,m("%cLoading preset data chunk...",r.warn);let d=V(this.dataArray);this.verifyHeader(d,"list"),O(d.chunkData,4);let c=V(d.chunkData);this.verifyHeader(c,"phdr");let l=V(d.chunkData);this.verifyHeader(l,"pbag");let u=V(d.chunkData);this.verifyHeader(u,"pmod");let D=V(d.chunkData);this.verifyHeader(D,"pgen");let y=V(d.chunkData);this.verifyHeader(y,"inst");let k=V(d.chunkData);this.verifyHeader(k,"ibag");let w=V(d.chunkData);this.verifyHeader(w,"imod");let G=V(d.chunkData);this.verifyHeader(G,"igen");let x=V(d.chunkData);this.verifyHeader(x,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...oo(x,B,!o));let b=qt(G),$=ot(w),i=io(k,b,$,this.samples);this.instruments=ro(y,i);let nA=qt(D),_=ot(u),v=ao(l,nA,_,this.instruments);this.presets.push(...Io(c,v,this.defaultModulators)),this.presets.sort((z,oA)=>z.program-oA.program+(z.bank-oA.bank)),m(`%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.`,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info),Z(),o&&delete this.dataArray}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid soundFont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};function Me(t){let A=t.slice(8,12),e=new Y(A);return O(e,4,void 0,!1).toLowerCase()==="dls "?new _A(t):new rt(t,!1)}function go(t,A,e=!1){let s=this.workletProcessorChannels[t];if(s===void 0){T(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(s.lockPreset)return;let n=PA(s),o,g;if(this.overrideSoundfont){let E=n===128?128:n-this.soundfontBankOffset,h=this.overrideSoundfont.getPresetNoFallback(E,A);h?(o=n,g=h,s.presetUsesOverride=!0):(g=this.soundfontManager.getPreset(n,A),o=g.bank,s.presetUsesOverride=!1)}else g=this.soundfontManager.getPreset(n,A),o=g.bank,s.presetUsesOverride=!1;this.setPreset(t,g),this.callEvent("programchange",{channel:t,program:g.program,bank:o,userCalled:e})}function Eo(t,A){if(this.overrideSoundfont){let e=t===128?128:t-this.soundfontBankOffset,s=this.overrideSoundfont.getPresetNoFallback(e,A);if(s)return s}return this.soundfontManager.getPreset(t,A)}function Co(t,A){if(!this.workletProcessorChannels[t].lockPreset){delete this.workletProcessorChannels[t].preset,this.workletProcessorChannels[t].preset=A,this.workletProcessorChannels[t].cachedVoices=[];for(let e=0;e<128;e++)this.workletProcessorChannels[t].cachedVoices.push([])}}function Bo(t,A){let e=this.workletProcessorChannels[t];e.lockPreset||e.drumChannel!==A&&(A?(e.channelTransposeKeyShift=0,e.drumChannel=!0,this.setPreset(t,this.getPreset(PA(e),e.preset.program))):(e.drumChannel=!1,this.setPreset(t,this.getPreset(PA(e),e.preset.program))),e.presetUsesOverride=!1,this.callEvent("drumchange",{channel:t,isDrumChannel:e.drumChannel}),this.sendChannelProperties())}function ho(){let t=this.soundfontManager.getPresetList();this.overrideSoundfont!==void 0&&this.overrideSoundfont.presets.forEach(A=>{let e=A.bank===128?128:A.bank+this.soundfontBankOffset,s=t.find(n=>n.bank===e&&n.program===A.program);s!==void 0?s.presetName=A.presetName:t.push({presetName:A.presetName,bank:e,program:A.program})}),this.callEvent("presetlistchange",t)}function Qo(t=!0,A=!0){this.stopAllChannels(!0),A&&(delete this.overrideSoundfont,this.overrideSoundfont=void 0),this.defaultPreset=this.getPreset(0,0),this.drumPreset=this.getPreset(128,0);for(let e=0;e{this.programChange(s,e.preset.program)}),this.post({messageType:pA.ready,messageData:void 0}),this.sendPresetList(),m("%cSpessaSynth is ready!",r.recognized)}function lo(t,A){this.soundfontBankOffset=A,this.reloadSoundFont(t,!0),this.overrideSoundfont.samples.forEach(e=>e.getAudioData()),this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers())}function uo(){let A={channelSnapshots:this.workletProcessorChannels.map(e=>({program:e.preset.program,bank:PA(e),lockPreset:e.lockPreset,patchName:e.preset.presetName,midiControllers:e.midiControllers,lockedControllers:e.lockedControllers,customControllers:e.customControllers,channelVibrato:e.channelVibrato,lockVibrato:e.lockGSNRPNParams,channelTransposeKeyShift:e.channelTransposeKeyShift,channelOctaveTuning:e.channelOctaveTuning,keyCentTuning:e.keyCentTuning,velocityOverride:e.velocityOverride,isMuted:e.isMuted,drumChannel:e.drumChannel})),mainVolume:this.midiVolume,pan:this.pan,transposition:this.transposition,system:this.system,interpolation:this.interpolationType};this.post({messageType:pA.synthesizerSnapshot,messageData:A})}function fo(t){for(this.system=t.system,this.setMasterGain(t.mainVolume),this.setMasterPan(t.pan),this.transposeAllChannels(t.transposition),this.interpolationType=t.interpolation;this.workletProcessorChannels.length{let s=this.workletProcessorChannels[e];this.muteChannel(e,A.isMuted),this.setDrums(e,A.drumChannel),s.midiControllers=A.midiControllers,s.lockedControllers=A.lockedControllers,s.customControllers=A.customControllers,s.channelVibrato=A.channelVibrato,s.lockGSNRPNParams=A.lockVibrato,s.channelTransposeKeyShift=A.channelTransposeKeyShift,s.channelOctaveTuning=A.channelOctaveTuning,s.velocityOverride=A.velocityOverride,s.lockPreset=!1,jA(s,A.bank),this.programChange(e,A.program),s.lockPreset=A.lockPreset}),m("%cFinished restoring controllers!",r.info)}var it=class{constructor(A,e){this.ready=e,this.totalSoundfontOffset=0,this.reloadManager(A)}_assingSampleOffsets(){let A=0;this.soundfontList.forEach(e=>{e.soundfont.setSampleIDOffset(A),A+=e.soundfont.samples.length}),this.totalSoundfontOffset=A}generatePresetList(){this._assingSampleOffsets();let A={};for(let e=this.soundfontList.length-1;e>=0;e--){let s=this.soundfontList[e],n=new Set;for(let o of s.soundfont.presets){let g=`${o.bank+s.bankOffset}-${o.program}`;n.has(g)||(n.add(g),A[g]=o.presetName)}}this.presetList=[];for(let[e,s]of Object.entries(A)){let n=e.split("-");this.presetList.push({presetName:s,program:parseInt(n[1]),bank:parseInt(n[0])})}}handleMessage(A,e){switch(A){case Be.addNewSoundFont:this.addNewSoundFont(e[0],e[1],e[2]);break;case Be.reloadSoundFont:this.reloadManager(e);break;case Be.deleteSoundFont:this.deleteSoundFont(e);break;case Be.rearrangeSoundFonts:this.rearrangeSoundFonts(e)}}getPresetList(){return this.presetList.slice()}reloadManager(A){let e=Me(A);this.soundfontList=[],this.soundfontList.push({id:"main",bankOffset:0,soundfont:e}),this.generatePresetList(),this.ready()}deleteSoundFont(A){if(this.soundfontList.length===0){T("1 soundfont left. Aborting!");return}let e=this.soundfontList.findIndex(s=>s.id===A);if(e===-1){T(`No soundfont with id of "${A}" found. Aborting!`);return}delete this.soundfontList[e].soundfont.presets,delete this.soundfontList[e].soundfont.instruments,delete this.soundfontList[e].soundfont.samples,this.soundfontList.splice(e,1),this.generatePresetList()}addNewSoundFont(A,e,s){if(this.soundfontList.find(n=>n.id===e)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this.soundfontList.push({id:e,soundfont:Me(A),bankOffset:s}),this.generatePresetList(),this.ready()}rearrangeSoundFonts(A){this.soundfontList.sort((e,s)=>A.indexOf(e.id)-A.indexOf(s.id)),this.generatePresetList()}getPreset(A,e){if(this.soundfontList.length<1)throw new Error("No soundfonts! This should never happen.");for(let s of this.soundfontList){let n=s.soundfont.getPresetNoFallback(A-s.bankOffset,e);if(n!==void 0)return n}if(A!==128){for(let s of this.soundfontList){let n=s.soundfont.presets.find(o=>o.program===e);if(n)return n}return this.soundfontList[0].soundfont.presets[0]}else{for(let s of this.soundfontList){let n=s.soundfont.presets.find(o=>o.bank===128);if(n)return n}return this.soundfontList[0].soundfont.presets[0]}}};var at=class{sampleData;playbackStep=0;cursor=0;rootKey=0;loopStart=0;loopEnd=0;end=0;loopingMode=0;isLooping=!1;constructor(A,e,s,n,o,g,E,h){this.sampleData=A,this.playbackStep=e,this.cursor=s,this.rootKey=n,this.loopStart=o,this.loopEnd=g,this.end=E,this.loopingMode=h,this.isLooping=this.loopingMode===1||this.loopingMode===3}},Ne=class t{sample;filter=new le;generators;modulators=[];modulatedGenerators;finished=!1;isInRelease=!1;channelNumber=0;velocity=0;midiNote=0;pressure=0;targetKey=0;modulationEnvelope=new JA;volumeEnvelope;startTime=0;releaseStartTime=1/0;currentTuningCents=0;currentTuningCalculated=1;currentPan=.5;realKey;constructor(A,e,s,n,o,g,E,h,B,d){this.sample=e,this.generators=B,this.modulatedGenerators=new Int16Array(B),this.modulators=d,this.velocity=n,this.midiNote=s,this.channelNumber=o,this.startTime=g,this.targetKey=E,this.realKey=h,this.volumeEnvelope=new UA(A,B[I.sustainVolEnv])}static copy(A,e){let s=A.sample,n=new at(s.sampleData,s.playbackStep,s.cursor,s.rootKey,s.loopStart,s.loopEnd,s.end,s.loopingMode);return new t(A.volumeEnvelope.sampleRate,n,A.midiNote,A.velocity,A.channelNumber,e,A.targetKey,A.realKey,A.generators,A.modulators.map(o=>j.copy(o)))}};function mo(t,A,e,s,n,o,g=!1){let E,h=s.cachedVoices[A][e];return h!==void 0?h.map(B=>Ne.copy(B,n)):(E=s.preset.getSamplesAndGenerators(A,e).reduce((d,c)=>{if(c.sample.sampleData===void 0)return T(`Discarding invalid sample: ${c.sample.sampleName}`),d;let l=new Int16Array(60);for(let x=0;x<60;x++)l[x]=ys(x,c.presetGenerators,c.instrumentGenerators);l[I.initialAttenuation]=Math.floor(l[I.initialAttenuation]*.4);let u=c.sample.samplePitch;l[I.overridingRootKey]>-1&&(u=l[I.overridingRootKey]);let D=A;l[I.keyNum]>-1&&(D=l[I.keyNum]);let y=c.sample.sampleLoopStartIndex,k=c.sample.sampleLoopEndIndex,w=l[I.sampleModes],G=new at(c.sample.getAudioData(),c.sample.sampleRate/sampleRate*Math.pow(2,c.sample.samplePitchCorrection/1200),0,u,y,k,Math.floor(c.sample.sampleData.length)-1,w);return l[I.velocity]>-1&&(e=l[I.velocity]),g&&ps([{Sample:c.sample.sampleName,Generators:l,Modulators:c.modulators.map(x=>x.debugString()),Velocity:e,TargetKey:D,MidiNote:A,WorkletSample:G}]),d.push(new Ne(sampleRate,G,A,e,t,n,D,o,l,c.modulators.map(x=>j.copy(x)))),d},[]),s.cachedVoices[A][e]=E.map(d=>Ne.copy(d,n)),E)}var Tt=.03,Ht=1,H=class extends AudioWorkletProcessor{constructor(A){super(),this.oneOutputMode=A.processorOptions?.startRenderingData?.oneOutput===!0,this._outputsAmount=this.oneOutputMode?1:A.processorOptions.midiChannels,this.enableEventSystem=A.processorOptions.enableEventSystem,this.deviceID=TA,this.interpolationType=ce.fourthOrder,this.processTickCallback=void 0,this.sequencer=new IA(this),this.transposition=0,this.tunings=[];for(let e=0;e<127;e++)this.tunings.push([]);this.soundfontBankOffset=0,this.masterGain=Ht,this.midiVolume=1,this.voiceCap=ks,this.pan=0,this.panLeft=.5*this.currentGain,this.highPerformanceMode=!1,this.overrideSoundfont=void 0,this.panRight=.5*this.currentGain;try{this.soundfontManager=new it(A.processorOptions.soundfont,this.postReady.bind(this))}catch(e){throw this.post({messageType:pA.soundfontError,messageData:e}),e}this.sendPresetList(),this.defaultPreset=this.getPreset(0,0),this.drumPreset=this.getPreset(128,0),this.workletProcessorChannels=[];for(let e=0;ethis.handleMessage(e.data),A.processorOptions.startRenderingData&&(this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers()),m("%cRendering enabled! Starting render.",r.info),A.processorOptions.startRenderingData.parsedMIDI&&(A.processorOptions.startRenderingData?.loopCount!==void 0?(this.sequencer.loopCount=A.processorOptions.startRenderingData?.loopCount,this.sequencer.loop=!0):this.sequencer.loop=!1,this.sequencer.loadNewSongList([A.processorOptions.startRenderingData.parsedMIDI]))),VA.isInitialized.then(()=>{this.postReady(),m("%cSpessaSynth is ready!",r.recognized)})}get currentGain(){return this.masterGain*this.midiVolume}post(A){this.enableEventSystem&&this.port.postMessage(A)}postReady(){this.enableEventSystem&&this.port.postMessage({messageType:pA.ready,messageData:void 0})}debugMessage(){m({channels:this.workletProcessorChannels,voicesAmount:this.totalVoicesAmount,outputAmount:this._outputsAmount,dumpedSamples:this.workletDumpedSamplesList})}process(A,e){this.processTickCallback&&this.processTickCallback();let s=0;return this.workletProcessorChannels.forEach((n,o)=>{if(n.voices.length<1||n.isMuted)return;let g,E,h,B,d;if(this.oneOutputMode){let l=e[0];g=o%16*2,E=l[g],h=l[g+1]}else g=o%this._outputsAmount+2,E=e[g][0],h=e[g][1],B=e[0],d=e[1];let c=n.voices;n.voices=[],c.forEach(l=>{this.renderVoice(n,l,E,h,B,d),l.finished||n.voices.push(l)}),s+=n.voices.length}),s!==this.totalVoicesAmount&&(this.totalVoicesAmount=s,this.sendChannelProperties()),!0}};H.prototype.renderVoice=sn;H.prototype.releaseVoice=on;H.prototype.voiceKilling=nn;H.prototype.getWorkletVoices=mo;H.prototype.handleMessage=In;H.prototype.sendChannelProperties=En;H.prototype.callEvent=gn;H.prototype.systemExclusive=Cn;H.prototype.noteOn=hn;H.prototype.noteOff=Qn;H.prototype.polyPressure=wn;H.prototype.killNote=cn;H.prototype.stopAll=ln;H.prototype.stopAllChannels=un;H.prototype.muteChannel=Nn;H.prototype.setVibrato=Ln;H.prototype.disableAndLockGSNRPN=bn;H.prototype.dataEntryCoarse=Un;H.prototype.dataEntryFine=Tn;H.prototype.createWorkletChannel=Ss;H.prototype.controllerChange=Rn;H.prototype.channelPressure=kn;H.prototype.resetAllControllers=Hn;H.prototype.resetControllers=Yn;H.prototype.resetParameters=Jn;H.prototype.setMasterGain=xn;H.prototype.setMasterPan=Mn;H.prototype.setMIDIVolume=Gn;H.prototype.transposeAllChannels=dn;H.prototype.transposeChannel=fn;H.prototype.setChannelTuning=mn;H.prototype.setChannelTuningSemitones=pn;H.prototype.setMasterTuning=yn;H.prototype.setModulationDepth=Sn;H.prototype.pitchWheel=Dn;H.prototype.setOctaveTuning=Fn;H.prototype.programChange=go;H.prototype.getPreset=Eo;H.prototype.setPreset=Co;H.prototype.setDrums=Bo;H.prototype.reloadSoundFont=co;H.prototype.clearSoundFont=Qo;H.prototype.setEmbeddedSoundFont=lo;H.prototype.sendPresetList=ho;H.prototype.sendSynthesizerSnapshot=uo;H.prototype.applySynthesizerSnapshot=fo;registerProcessor(Ds,H);m("%cProcessor succesfully registered!",r.recognized); +`+this.soundFontInfo.ISBJ,delete this.soundFontInfo.ISBJ);for(let[Q,B]of Object.entries(this.soundFontInfo))m(`%c"${Q}": %c"${B}"`,r.info,r.recognized);let o=s.find(Q=>Q.header==="colh");if(!o)throw Z(),new Error("No colh chunk!");this.instrumentAmount=k(o.chunkData,4),m(`%cInstruments amount: %c${this.instrumentAmount}`,r.info,r.recognized);let g=DA(s,"wvpl");this.readDLSSamples(g);let C=DA(s,"lins");if(!C)throw Z(),new Error("No lins chunk!");this.readDLSInstrumentList(C),this.presets.sort((Q,B)=>Q.program-B.program+(Q.bank-B.bank)),m(`%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.`,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info),Z()}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid DLS chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid DLS soundfont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};_A.prototype.readDLSInstrumentList=_n;_A.prototype.readDLSInstrument=zn;_A.prototype.readRegion=eo;_A.prototype.readLart=Ao;_A.prototype.readDLSSamples=to;var Jt=class extends me{constructor(A,e,s,n,o,g,C,Q,B,d,l,c,u){super(A,g,C,Q,B,d,n-e/2,o-e/2),this.sampleName=A,this.sampleStartIndex=e,this.sampleEndIndex=s,this.isSampleLoaded=!1,this.sampleID=c,this.sampleLength=this.sampleEndIndex-this.sampleStartIndex,this.sampleDataArray=l,this.sampleData=new Float32Array(0),this.isCompressed&&(this.sampleLoopStartIndex+=this.sampleStartIndex/2,this.sampleLoopEndIndex+=this.sampleStartIndex/2,this.sampleLength=99999999),this.isDataRaw=u}getRawData(){let A=this.sampleDataArray;if(this.isCompressed){if(this.compressedData)return this.compressedData;let e=A.currentIndex;return A.slice(this.sampleStartIndex/2+e,this.sampleEndIndex/2+e)}else{if(!this.isDataRaw)throw new Error("Writing SF2Pack samples is not supported.");let e=A.currentIndex;return A.slice(e+this.sampleStartIndex,e+this.sampleEndIndex)}}decodeVorbis(){if(this.sampleLength<1)return;let A=this.sampleDataArray,e=A.currentIndex,s=A.slice(this.sampleStartIndex/2+e,this.sampleEndIndex/2+e);this.sampleData=new Float32Array(0);let n=VA.decode(s.buffer);this.sampleData=n.data[0]}getAudioData(){return this.isSampleLoaded?this.sampleData:this.sampleLength<1?new Float32Array(1):this.isCompressed?(this.decodeVorbis(),this.isSampleLoaded=!0,this.sampleData):this.isDataRaw?this.loadUncompressedData():this.getUncompressedReadyData()}loadUncompressedData(){if(this.isCompressed)return T("Trying to load a compressed sample via loadUncompressedData()... aborting!"),new Float32Array(0);let A=new Float32Array(this.sampleLength/2),e=this.sampleDataArray.currentIndex,s=new Int16Array(this.sampleDataArray.slice(e+this.sampleStartIndex,e+this.sampleEndIndex).buffer);for(let n=0;nt.chunkData.currentIndex;){let o=Vo(n,t.chunkData,A,e);s.push(o),n++}return s.length>1&&s.pop(),s}function Vo(t,A,e,s){let n=O(A,20),o=k(A,4)*2,g=k(A,4)*2,C=k(A,4),Q=k(A,4),B=k(A,4),d=A[A.currentIndex++];d===255&&(d=60);let l=xs(A[A.currentIndex++]),c=k(A,2),u=k(A,2);return new Jt(n,o,g,C,Q,B,d,l,c,u,e,t,s)}var vt=class extends L{constructor(A){super();let e=A.currentIndex;this.generatorType=A[e+1]<<8|A[e],this.generatorValue=Ae(A[e+2],A[e+3]),A.currentIndex+=4}};function qt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new vt(t.chunkData));return A.length>1&&A.pop(),A}var Pt=class extends fe{constructor(A){super(),this.instrumentName=O(A.chunkData,20).trim(),this.instrumentZoneIndex=k(A.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(A,e){this.instrumentZonesAmount=A;for(let s=this.instrumentZoneIndex;st.chunkData.currentIndex;){let s=new Pt(t);if(e.length>0){let n=s.instrumentZoneIndex-e[e.length-1].instrumentZoneIndex;e[e.length-1].getInstrumentZones(n,A)}e.push(s)}return e.length>1&&e.pop(),e}var Kt=class extends ee{constructor(A){super(),this.generatorZoneStartIndex=k(A,2),this.modulatorZoneStartIndex=k(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===a.sampleID);e&&(this.sample=A[e.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===a.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===a.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function oo(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new Kt(t.chunkData);if(n.length>0){let g=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,C=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(g,C),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(e),n[n.length-1].getSample(s),n[n.length-1].getKeyRange(),n[n.length-1].getVelRange()}n.push(o)}return n.length>1&&n.pop(),n}var Ot=class extends de{constructor(A){super(),this.generatorZoneStartIndex=k(A,2),this.modulatorZoneStartIndex=k(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===a.instrument);e&&(this.instrument=A[e.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===a.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===a.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function ro(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new Ot(t.chunkData);if(n.length>0){let g=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,C=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(g,C),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(e),n[n.length-1].getInstrument(s),n[n.length-1].getKeyRange(),n[n.length-1].getVelRange()}n.push(o)}return n.length>1&&n.pop(),n}var Vt=class extends ue{constructor(A,e){super(e),this.presetName=O(A.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=k(A.chunkData,2),this.bank=k(A.chunkData,2),this.presetZoneStartIndex=k(A.chunkData,2),this.library=k(A.chunkData,4),this.genre=k(A.chunkData,4),this.morphology=k(A.chunkData,4),this.presetZonesAmount=0}getPresetZones(A,e){this.presetZonesAmount=A;for(let s=this.presetZoneStartIndex;st.chunkData.currentIndex;){let n=new Vt(t,e);if(s.length>0){let o=n.presetZoneStartIndex-s[s.length-1].presetZoneStartIndex;s[s.length-1].getPresetZones(o,A)}s.push(n)}return s.length>1&&s.pop(),s}var Zt=class extends j{constructor(A){super({srcEnum:k(A,2),dest:k(A,2),amt:Ae(A[A.currentIndex++],A[A.currentIndex++]),secSrcEnum:k(A,2),transform:k(A,2)})}};function ot(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new Zt(t.chunkData));return A}var rt=class extends ae{constructor(A,e=!0){if(super(),e&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new Y(A),ne("%cParsing SoundFont...",r.info),!this.dataArray)throw Z(),new TypeError("No data!");let s=V(this.dataArray,!1);this.verifyHeader(s,"riff");let n=O(this.dataArray,4).toLowerCase();if(n!=="sfbk"&&n!=="sfpk")throw Z(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${n}"`);let o=n==="sfpk",g=V(this.dataArray);for(this.verifyHeader(g,"list"),O(g.chunkData,4);g.chunkData.length>g.chunkData.currentIndex;){let $=V(g.chunkData),EA;switch($.header.toLowerCase()){case"ifil":case"iver":EA=`${k($.chunkData,2)}.${k($.chunkData,2)}`,this.soundFontInfo[$.header]=EA;break;case"icmt":EA=O($.chunkData,$.chunkData.length,void 0,!1),this.soundFontInfo[$.header]=EA;break;case"dmod":let IA=ot($);IA.pop(),EA=`Modulators: ${IA.length}`;let fA=this.defaultModulators;this.defaultModulators=IA,this.defaultModulators.push(...fA.filter(be=>!this.defaultModulators.find(xA=>j.isIdentical(be,xA)))),this.soundFontInfo[$.header]=$.chunkData;break;default:EA=O($.chunkData,$.chunkData.length),this.soundFontInfo[$.header]=EA}m(`%c"${$.header}": %c"${EA}"`,r.info,r.recognized)}let C=V(this.dataArray,!1);this.verifyHeader(C,"list"),this.verifyText(O(this.dataArray,4),"sdta"),m("%cVerifying smpl chunk...",r.warn);let Q=V(this.dataArray,!1);this.verifyHeader(Q,"smpl");let B;if(o){m("%cSF2Pack detected, attempting to decode the smpl chunk...",r.info);try{B=VA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+C.size-12)).data[0]}catch($){throw Z(),new Error(`SF2Pack Ogg Vorbis decode error: ${$}`)}m(`%cDecoded the smpl chunk! Length: %c${B.length}`,r.info,r.value)}else B=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;m(`%cSkipping sample chunk, length: %c${C.size-12}`,r.info,r.value),this.dataArray.currentIndex+=C.size-12,m("%cLoading preset data chunk...",r.warn);let d=V(this.dataArray);this.verifyHeader(d,"list"),O(d.chunkData,4);let l=V(d.chunkData);this.verifyHeader(l,"phdr");let c=V(d.chunkData);this.verifyHeader(c,"pbag");let u=V(d.chunkData);this.verifyHeader(u,"pmod");let S=V(d.chunkData);this.verifyHeader(S,"pgen");let y=V(d.chunkData);this.verifyHeader(y,"inst");let D=V(d.chunkData);this.verifyHeader(D,"ibag");let w=V(d.chunkData);this.verifyHeader(w,"imod");let G=V(d.chunkData);this.verifyHeader(G,"igen");let x=V(d.chunkData);this.verifyHeader(x,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...so(x,B,!o));let b=qt(G),W=ot(w),i=oo(D,b,W,this.samples);this.instruments=no(y,i);let eA=qt(S),X=ot(u),P=ro(c,eA,X,this.instruments);this.presets.push(...io(l,P,this.defaultModulators)),this.presets.sort(($,EA)=>$.program-EA.program+($.bank-EA.bank)),m(`%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.`,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info,r.recognized,r.info),Z(),o&&delete this.dataArray}verifyHeader(A,e){if(A.header.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`)}verifyText(A,e){if(A.toLowerCase()!==e.toLowerCase())throw Z(),new SyntaxError(`Invalid soundFont! Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`)}};function Me(t){let A=t.slice(8,12),e=new Y(A);return O(e,4,void 0,!1).toLowerCase()==="dls "?new _A(t):new rt(t,!1)}function ao(t,A,e=!1){let s=this.workletProcessorChannels[t];if(s===void 0){T(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(s.lockPreset)return;let n=PA(s),o,g;if(this.overrideSoundfont){let C=n===128?128:n-this.soundfontBankOffset,Q=this.overrideSoundfont.getPresetNoFallback(C,A);Q?(o=n,g=Q,s.presetUsesOverride=!0):(g=this.soundfontManager.getPreset(n,A),o=g.bank,s.presetUsesOverride=!1)}else g=this.soundfontManager.getPreset(n,A),o=g.bank,s.presetUsesOverride=!1;this.setPreset(t,g),this.callEvent("programchange",{channel:t,program:g.program,bank:o,userCalled:e})}function Io(t,A){if(this.overrideSoundfont){let e=t===128?128:t-this.soundfontBankOffset,s=this.overrideSoundfont.getPresetNoFallback(e,A);if(s)return s}return this.soundfontManager.getPreset(t,A)}function go(t,A){if(!this.workletProcessorChannels[t].lockPreset){delete this.workletProcessorChannels[t].preset,this.workletProcessorChannels[t].preset=A,this.workletProcessorChannels[t].cachedVoices=[];for(let e=0;e<128;e++)this.workletProcessorChannels[t].cachedVoices.push([])}}function Co(t,A){let e=this.workletProcessorChannels[t];e.lockPreset||e.drumChannel!==A&&(A?(e.channelTransposeKeyShift=0,e.drumChannel=!0,this.setPreset(t,this.getPreset(PA(e),e.preset.program))):(e.drumChannel=!1,this.setPreset(t,this.getPreset(PA(e),e.preset.program))),e.presetUsesOverride=!1,this.callEvent("drumchange",{channel:t,isDrumChannel:e.drumChannel}),this.sendChannelProperties())}function Eo(){let t=this.soundfontManager.getPresetList();this.overrideSoundfont!==void 0&&this.overrideSoundfont.presets.forEach(A=>{let e=A.bank===128?128:A.bank+this.soundfontBankOffset,s=t.find(n=>n.bank===e&&n.program===A.program);s!==void 0?s.presetName=A.presetName:t.push({presetName:A.presetName,bank:e,program:A.program})}),this.callEvent("presetlistchange",t)}function Bo(t=!0,A=!0){this.stopAllChannels(!0),A&&(delete this.overrideSoundfont,this.overrideSoundfont=void 0),this.defaultPreset=this.getPreset(0,0),this.drumPreset=this.getPreset(128,0);for(let e=0;e{this.programChange(s,e.preset.program)}),this.post({messageType:pA.ready,messageData:void 0}),this.sendPresetList(),m("%cSpessaSynth is ready!",r.recognized)}function Qo(t,A){this.soundfontBankOffset=A,this.reloadSoundFont(t,!0),this.overrideSoundfont.samples.forEach(e=>e.getAudioData()),this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers())}function co(){let A={channelSnapshots:this.workletProcessorChannels.map(e=>({program:e.preset.program,bank:PA(e),lockPreset:e.lockPreset,patchName:e.preset.presetName,midiControllers:e.midiControllers,lockedControllers:e.lockedControllers,customControllers:e.customControllers,channelVibrato:e.channelVibrato,lockVibrato:e.lockGSNRPNParams,channelTransposeKeyShift:e.channelTransposeKeyShift,channelOctaveTuning:e.channelOctaveTuning,keyCentTuning:e.keyCentTuning,velocityOverride:e.velocityOverride,isMuted:e.isMuted,drumChannel:e.drumChannel})),mainVolume:this.midiVolume,pan:this.pan,transposition:this.transposition,system:this.system,interpolation:this.interpolationType};this.post({messageType:pA.synthesizerSnapshot,messageData:A})}function lo(t){for(this.system=t.system,this.setMasterGain(t.mainVolume),this.setMasterPan(t.pan),this.transposeAllChannels(t.transposition),this.interpolationType=t.interpolation;this.workletProcessorChannels.length{let s=this.workletProcessorChannels[e];this.muteChannel(e,A.isMuted),this.setDrums(e,A.drumChannel),s.midiControllers=A.midiControllers,s.lockedControllers=A.lockedControllers,s.customControllers=A.customControllers,s.channelVibrato=A.channelVibrato,s.lockGSNRPNParams=A.lockVibrato,s.channelTransposeKeyShift=A.channelTransposeKeyShift,s.channelOctaveTuning=A.channelOctaveTuning,s.velocityOverride=A.velocityOverride,s.lockPreset=!1,jA(s,A.bank),this.programChange(e,A.program),s.lockPreset=A.lockPreset}),m("%cFinished restoring controllers!",r.info)}var it=class{constructor(A,e){this.ready=e,this.totalSoundfontOffset=0,this.reloadManager(A)}_assingSampleOffsets(){let A=0;this.soundfontList.forEach(e=>{e.soundfont.setSampleIDOffset(A),A+=e.soundfont.samples.length}),this.totalSoundfontOffset=A}generatePresetList(){this._assingSampleOffsets();let A={};for(let e=this.soundfontList.length-1;e>=0;e--){let s=this.soundfontList[e],n=new Set;for(let o of s.soundfont.presets){let g=`${o.bank+s.bankOffset}-${o.program}`;n.has(g)||(n.add(g),A[g]=o.presetName)}}this.presetList=[];for(let[e,s]of Object.entries(A)){let n=e.split("-");this.presetList.push({presetName:s,program:parseInt(n[1]),bank:parseInt(n[0])})}}handleMessage(A,e){switch(A){case Be.addNewSoundFont:this.addNewSoundFont(e[0],e[1],e[2]);break;case Be.reloadSoundFont:this.reloadManager(e);break;case Be.deleteSoundFont:this.deleteSoundFont(e);break;case Be.rearrangeSoundFonts:this.rearrangeSoundFonts(e)}}getPresetList(){return this.presetList.slice()}reloadManager(A){let e=Me(A);this.soundfontList=[],this.soundfontList.push({id:"main",bankOffset:0,soundfont:e}),this.generatePresetList(),this.ready()}deleteSoundFont(A){if(this.soundfontList.length===0){T("1 soundfont left. Aborting!");return}let e=this.soundfontList.findIndex(s=>s.id===A);if(e===-1){T(`No soundfont with id of "${A}" found. Aborting!`);return}delete this.soundfontList[e].soundfont.presets,delete this.soundfontList[e].soundfont.instruments,delete this.soundfontList[e].soundfont.samples,this.soundfontList.splice(e,1),this.generatePresetList()}addNewSoundFont(A,e,s){if(this.soundfontList.find(n=>n.id===e)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this.soundfontList.push({id:e,soundfont:Me(A),bankOffset:s}),this.generatePresetList(),this.ready()}rearrangeSoundFonts(A){this.soundfontList.sort((e,s)=>A.indexOf(e.id)-A.indexOf(s.id)),this.generatePresetList()}getPreset(A,e){if(this.soundfontList.length<1)throw new Error("No soundfonts! This should never happen.");for(let s of this.soundfontList){let n=s.soundfont.getPresetNoFallback(A-s.bankOffset,e);if(n!==void 0)return n}if(A!==128){for(let s of this.soundfontList){let n=s.soundfont.presets.find(o=>o.program===e);if(n)return n}return this.soundfontList[0].soundfont.presets[0]}else{for(let s of this.soundfontList){let n=s.soundfont.presets.find(o=>o.bank===128);if(n)return n}return this.soundfontList[0].soundfont.presets[0]}}};var at=class{sampleData;playbackStep=0;cursor=0;rootKey=0;loopStart=0;loopEnd=0;end=0;loopingMode=0;isLooping=!1;constructor(A,e,s,n,o,g,C,Q){this.sampleData=A,this.playbackStep=e,this.cursor=s,this.rootKey=n,this.loopStart=o,this.loopEnd=g,this.end=C,this.loopingMode=Q,this.isLooping=this.loopingMode===1||this.loopingMode===3}},Ne=class t{sample;filter=new le;generators;modulators=[];modulatedGenerators;finished=!1;isInRelease=!1;channelNumber=0;velocity=0;midiNote=0;pressure=0;targetKey=0;modulationEnvelope=new JA;volumeEnvelope;startTime=0;releaseStartTime=1/0;currentTuningCents=0;currentTuningCalculated=1;currentPan=.5;realKey;constructor(A,e,s,n,o,g,C,Q,B,d){this.sample=e,this.generators=B,this.modulatedGenerators=new Int16Array(B),this.modulators=d,this.velocity=n,this.midiNote=s,this.channelNumber=o,this.startTime=g,this.targetKey=C,this.realKey=Q,this.volumeEnvelope=new UA(A,B[a.sustainVolEnv])}static copy(A,e){let s=A.sample,n=new at(s.sampleData,s.playbackStep,s.cursor,s.rootKey,s.loopStart,s.loopEnd,s.end,s.loopingMode);return new t(A.volumeEnvelope.sampleRate,n,A.midiNote,A.velocity,A.channelNumber,e,A.targetKey,A.realKey,A.generators,A.modulators.map(o=>j.copy(o)))}};function uo(t,A,e,s,n,o,g=!1){let C,Q=s.cachedVoices[A][e];return Q!==void 0?Q.map(B=>Ne.copy(B,n)):(C=s.preset.getSamplesAndGenerators(A,e).reduce((d,l)=>{if(l.sample.sampleData===void 0)return T(`Discarding invalid sample: ${l.sample.sampleName}`),d;let c=new Int16Array(60);for(let x=0;x<60;x++)c[x]=ys(x,l.presetGenerators,l.instrumentGenerators);c[a.initialAttenuation]=Math.floor(c[a.initialAttenuation]*.4);let u=l.sample.samplePitch;c[a.overridingRootKey]>-1&&(u=c[a.overridingRootKey]);let S=A;c[a.keyNum]>-1&&(S=c[a.keyNum]);let y=l.sample.sampleLoopStartIndex,D=l.sample.sampleLoopEndIndex,w=c[a.sampleModes],G=new at(l.sample.getAudioData(),l.sample.sampleRate/sampleRate*Math.pow(2,l.sample.samplePitchCorrection/1200),0,u,y,D,Math.floor(l.sample.sampleData.length)-1,w);return c[a.velocity]>-1&&(e=c[a.velocity]),g&&ps([{Sample:l.sample.sampleName,Generators:c,Modulators:l.modulators.map(x=>x.debugString()),Velocity:e,TargetKey:S,MidiNote:A,WorkletSample:G}]),d.push(new Ne(sampleRate,G,A,e,t,n,S,o,c,l.modulators.map(x=>j.copy(x)))),d},[]),s.cachedVoices[A][e]=C.map(d=>Ne.copy(d,n)),C)}var Zo=4600,Xo=2e3,fo=Math.PI/2;function mo(t,A,e,s,n,o){if(isNaN(A[0]))return;let g=(Math.max(-500,Math.min(500,t.modulatedGenerators[a.pan]))+500)/1e3;t.currentPan+=(g-t.currentPan)*this.panSmoothingFactor;let C=this.currentGain,Q=Math.cos(fo*t.currentPan)*C*this.panLeft,B=Math.sin(fo*t.currentPan)*C*this.panRight,d=t.modulatedGenerators[a.reverbEffectsSend]/Zo*C,l=t.modulatedGenerators[a.chorusEffectsSend]/Xo;if(d>0&&!this.oneOutputMode){let c=n[0],u=n[1];for(let S=0;S0&&!this.oneOutputMode){let c=o[0],u=o[1],S=Q*l,y=B*l;for(let D=0;D0)for(let c=0;c0)for(let c=0;cthis.handleMessage(e.data),A.processorOptions.startRenderingData&&(this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers()),m("%cRendering enabled! Starting render.",r.info),A.processorOptions.startRenderingData.parsedMIDI&&(A.processorOptions.startRenderingData?.loopCount!==void 0?(this.sequencer.loopCount=A.processorOptions.startRenderingData?.loopCount,this.sequencer.loop=!0):this.sequencer.loop=!1,this.sequencer.loadNewSongList([A.processorOptions.startRenderingData.parsedMIDI]))),VA.isInitialized.then(()=>{this.postReady(),m("%cSpessaSynth is ready!",r.recognized)})}get currentGain(){return this.masterGain*this.midiVolume}post(A){this.enableEventSystem&&this.port.postMessage(A)}postReady(){this.enableEventSystem&&this.port.postMessage({messageType:pA.ready,messageData:void 0})}debugMessage(){m({channels:this.workletProcessorChannels,voicesAmount:this.totalVoicesAmount,outputAmount:this._outputsAmount,dumpedSamples:this.workletDumpedSamplesList})}process(A,e){this.processTickCallback&&this.processTickCallback();let s=0;return this.workletProcessorChannels.forEach((n,o)=>{if(n.voices.length<1||n.isMuted)return;let g,C,Q,B,d;if(this.oneOutputMode){let c=e[0];g=o%16*2,C=c[g],Q=c[g+1]}else g=o%this._outputsAmount+2,C=e[g][0],Q=e[g][1],B=e[0],d=e[1];let l=n.voices;n.voices=[],l.forEach(c=>{this.renderVoice(n,c,C,Q,B,d),c.finished||n.voices.push(c)}),s+=n.voices.length}),s!==this.totalVoicesAmount&&(this.totalVoicesAmount=s,this.sendChannelProperties()),!0}};H.prototype.renderVoice=en;H.prototype.releaseVoice=sn;H.prototype.voiceKilling=tn;H.prototype.getWorkletVoices=uo;H.prototype.handleMessage=rn;H.prototype.sendChannelProperties=In;H.prototype.callEvent=an;H.prototype.systemExclusive=gn;H.prototype.noteOn=En;H.prototype.noteOff=Bn;H.prototype.polyPressure=Dn;H.prototype.killNote=hn;H.prototype.stopAll=Qn;H.prototype.stopAllChannels=cn;H.prototype.muteChannel=xn;H.prototype.setVibrato=Nn;H.prototype.disableAndLockGSNRPN=Mn;H.prototype.dataEntryCoarse=bn;H.prototype.dataEntryFine=Ln;H.prototype.createWorkletChannel=Ss;H.prototype.controllerChange=wn;H.prototype.channelPressure=Sn;H.prototype.resetAllControllers=Un;H.prototype.resetControllers=Tn;H.prototype.resetParameters=Hn;H.prototype.setMasterGain=Rn;H.prototype.setMasterPan=Gn;H.prototype.setMIDIVolume=Fn;H.prototype.transposeAllChannels=ln;H.prototype.transposeChannel=un;H.prototype.setChannelTuning=dn;H.prototype.setChannelTuningSemitones=fn;H.prototype.setMasterTuning=mn;H.prototype.setModulationDepth=pn;H.prototype.pitchWheel=yn;H.prototype.setOctaveTuning=kn;H.prototype.programChange=ao;H.prototype.getPreset=Io;H.prototype.setPreset=go;H.prototype.setDrums=Co;H.prototype.reloadSoundFont=ho;H.prototype.clearSoundFont=Bo;H.prototype.setEmbeddedSoundFont=Qo;H.prototype.sendPresetList=Eo;H.prototype.sendSynthesizerSnapshot=co;H.prototype.applySynthesizerSnapshot=lo;H.prototype.panVoice=mo;registerProcessor(Ds,H);m("%cProcessor succesfully registered!",r.recognized); diff --git a/src/spessasynth_lib/synthetizer/worklet_system/main_processor.js b/src/spessasynth_lib/synthetizer/worklet_system/main_processor.js index dc7cd5ee..5771cd60 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/main_processor.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/main_processor.js @@ -50,6 +50,7 @@ import { applySynthesizerSnapshot, sendSynthesizerSnapshot } from "./worklet_met import { WorkletSoundfontManager } from "./worklet_methods/worklet_soundfont_manager/worklet_soundfont_manager.js"; import { interpolationTypes } from "./worklet_utilities/wavetable_oscillator.js"; import { getWorkletVoices } from "./worklet_utilities/worklet_voice.js"; +import { panVoice } from "./worklet_utilities/stereo_panner.js"; /** @@ -144,7 +145,7 @@ class SpessaSynthProcessor extends AudioWorkletProcessor * the pan of the left channel * @type {number} */ - this.panLeft = 0.5 * this.currentGain; + this.panLeft = 0.5; this.highPerformanceMode = false; @@ -158,7 +159,7 @@ class SpessaSynthProcessor extends AudioWorkletProcessor * the pan of the right channel * @type {number} */ - this.panRight = 0.5 * this.currentGain; + this.panRight = 0.5; try { /** @@ -445,4 +446,6 @@ SpessaSynthProcessor.prototype.sendPresetList = sendPresetList; SpessaSynthProcessor.prototype.sendSynthesizerSnapshot = sendSynthesizerSnapshot; SpessaSynthProcessor.prototype.applySynthesizerSnapshot = applySynthesizerSnapshot; +SpessaSynthProcessor.prototype.panVoice = panVoice; + export { SpessaSynthProcessor }; \ No newline at end of file diff --git a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/controller_control.js b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/controller_control.js index 7caff05c..87322a57 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/controller_control.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/controller_control.js @@ -235,8 +235,8 @@ export function setMasterPan(pan) this.pan = pan; // clamp to 0-1 (0 is left) pan = (pan / 2) + 0.5; - this.panLeft = (1 - pan) * this.currentGain; - this.panRight = (pan) * this.currentGain; + this.panLeft = (1 - pan); + this.panRight = (pan); } /** diff --git a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/snapshot.js b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/snapshot.js index dc249f93..503e416a 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/snapshot.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/snapshot.js @@ -32,6 +32,7 @@ * @property {interpolationTypes} interpolation - the synth's interpolation type * @property {SynthSystem} system - the synths system. Values can be "gs", "gm", "gm2" or "xg" * @property {number} transposition - the current synth transpositon in semitones. can be a float + * @property {EffectsConfig} effectsConfig - the effects configuration object */ import { returnMessageType } from "../message_protocol/worklet_message.js"; diff --git a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/voice_control.js b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/voice_control.js index e5fb64a0..17a9947a 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/voice_control.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/voice_control.js @@ -7,15 +7,12 @@ import { getSampleNearest, interpolationTypes } from "../worklet_utilities/wavetable_oscillator.js"; -import { panVoice } from "../worklet_utilities/stereo_panner.js"; import { WorkletLowpassFilter } from "../worklet_utilities/lowpass_filter.js"; import { MIN_NOTE_LENGTH } from "../main_processor.js"; import { WorkletVolumeEnvelope } from "../worklet_utilities/volume_envelope.js"; import { generatorTypes } from "../../../soundfont/basic_soundfont/generator.js"; import { customControllers } from "../worklet_utilities/controller_tables.js"; - -const HALF_PI = Math.PI / 2; export const PAN_SMOOTHING_FACTOR = 0.05; /** @@ -157,8 +154,6 @@ export function renderVoice( voice.currentTuningCalculated = Math.pow(2, centsTotal / 1200); } - // PANNING - const pan = ((Math.max(-500, Math.min(500, voice.modulatedGenerators[generatorTypes.pan])) + 500) / 1000); // 0 to 1 // SYNTHESIS const bufferOut = new Float32Array(outputLeft.length); @@ -189,20 +184,12 @@ export function renderVoice( // volenv WorkletVolumeEnvelope.apply(voice, bufferOut, modLfoCentibels, this.volumeEnvelopeSmoothingFactor); - // pan the voice and write out - voice.currentPan += (pan - voice.currentPan) * this.panSmoothingFactor; // smooth out pan to prevent clicking - const panLeft = Math.cos(HALF_PI * voice.currentPan) * this.panLeft; - const panRight = Math.sin(HALF_PI * voice.currentPan) * this.panRight; - // disable reverb and chorus in one output mode - const reverb = this.oneOutputMode ? 0 : voice.modulatedGenerators[generatorTypes.reverbEffectsSend]; - const chorus = this.oneOutputMode ? 0 : voice.modulatedGenerators[generatorTypes.chorusEffectsSend]; - panVoice( - panLeft, - panRight, + this.panVoice( + voice, bufferOut, outputLeft, outputRight, - reverbOutput, reverb, - chorusOutput, chorus + reverbOutput, + chorusOutput ); } diff --git a/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/stereo_panner.js b/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/stereo_panner.js index a1f37ed9..0f108b0c 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/stereo_panner.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/worklet_utilities/stereo_panner.js @@ -1,5 +1,8 @@ +import { generatorTypes } from "../../../soundfont/basic_soundfont/generator.js"; + export const WORKLET_SYSTEM_REVERB_DIVIDER = 4600; export const WORKLET_SYSTEM_CHORUS_DIVIDER = 2000; +const HALF_PI = Math.PI / 2; /** * stereo_panner.js @@ -8,53 +11,53 @@ export const WORKLET_SYSTEM_CHORUS_DIVIDER = 2000; /** * Pans the voice to the given output buffers - * @param gainLeft {number} the left channel gain - * @param gainRight {number} the right channel gain + * @param voice {WorkletVoice} the voice to pan * @param inputBuffer {Float32Array} the input buffer in mono * @param outputLeft {Float32Array} left output buffer * @param outputRight {Float32Array} right output buffer * @param reverb {Float32Array[]} stereo reverb input - * @param reverbLevel {number} 0 to 1000, the level of reverb to send - * @param chorus {Float32Array[]} stereo chorus buttfer - * @param chorusLevel {number} 0 to 1000, the level of chorus to send + * @param chorus {Float32Array[]} stereo chorus buffer + * @this {SpessaSynthProcessor} */ -export function panVoice(gainLeft, - gainRight, +export function panVoice(voice, inputBuffer, outputLeft, outputRight, reverb, - reverbLevel, - chorus, - chorusLevel) + chorus) { if (isNaN(inputBuffer[0])) { return; } + const pan = ((Math.max(-500, Math.min(500, voice.modulatedGenerators[generatorTypes.pan])) + 500) / 1000); // 0 to 1 + voice.currentPan += (pan - voice.currentPan) * this.panSmoothingFactor; // smooth out pan to prevent clicking + + const gain = this.currentGain; + // pan the voice and write out + const gainLeft = Math.cos(HALF_PI * voice.currentPan) * gain * this.panLeft; + const gainRight = Math.sin(HALF_PI * voice.currentPan) * gain * this.panRight; + // disable reverb and chorus in one output mode + + const reverbLevel = voice.modulatedGenerators[generatorTypes.reverbEffectsSend] / WORKLET_SYSTEM_REVERB_DIVIDER * gain; + const chorusLevel = voice.modulatedGenerators[generatorTypes.chorusEffectsSend] / WORKLET_SYSTEM_CHORUS_DIVIDER; - if (reverbLevel > 0) + if (reverbLevel > 0 && !this.oneOutputMode) { const reverbLeft = reverb[0]; const reverbRight = reverb[1]; - // cap reverb - reverbLevel = Math.min(reverbLevel, 1000); - const reverbGain = reverbLevel / WORKLET_SYSTEM_REVERB_DIVIDER; for (let i = 0; i < inputBuffer.length; i++) { - reverbLeft[i] += reverbGain * inputBuffer[i]; - reverbRight[i] += reverbGain * inputBuffer[i]; + reverbLeft[i] += reverbLevel * inputBuffer[i]; + reverbRight[i] += reverbLevel * inputBuffer[i]; } } - if (chorusLevel > 0) + if (chorusLevel > 0 && !this.oneOutputMode) { const chorusLeft = chorus[0]; const chorusRight = chorus[1]; - // cap chorus - chorusLevel = Math.min(chorusLevel, 1000); - const chorusGain = chorusLevel / WORKLET_SYSTEM_CHORUS_DIVIDER; - const chorusLeftGain = gainLeft * chorusGain; - const chorusRightGain = gainRight * chorusGain; + const chorusLeftGain = gainLeft * chorusLevel; + const chorusRightGain = gainRight * chorusLevel; for (let i = 0; i < inputBuffer.length; i++) { chorusLeft[i] += chorusLeftGain * inputBuffer[i]; diff --git a/src/website/js/locale/locale_files/README.md b/src/website/js/locale/locale_files/README.md index 4b46ff6f..62a47c99 100644 --- a/src/website/js/locale/locale_files/README.md +++ b/src/website/js/locale/locale_files/README.md @@ -29,12 +29,12 @@ I welcome contributions from translators! To add a new locale, please follow the - After completing the translation and updates, create a pull request with your changes. Thank you for helping SpessaSynth! -**If you have any questions about this guide or something is unclear, let me know by opening an issue!** +*If you have any questions about this guide or something is unclear, let me know by opening an issue!* -> **Note:** Strings containing placeholders, like `Channel {0}`, should keep the placeholders intact. They are used for -> formatting and should not be altered. +**Note:** Strings containing placeholders, like `Channel {0}`, should keep the placeholders intact. They are used for + formatting and should not be altered. -> **Note 2:** The code sets `textContent` property, so doing HTMl characters like `<` -> is not needed. -> For new line, use `\n` +**Note 2:** The code sets `textContent` property, so doing HTMl characters like `<` +is not needed. +For new line, use `\n` diff --git a/src/website/js/locale/locale_files/locale_en/settings/settings.js b/src/website/js/locale/locale_files/locale_en/settings/settings.js index f4cf5b36..e2658579 100644 --- a/src/website/js/locale/locale_files/locale_en/settings/settings.js +++ b/src/website/js/locale/locale_files/locale_en/settings/settings.js @@ -23,7 +23,8 @@ export const settingsLocale = { selectLanguage: { title: "Language", - description: "Change the program language" + description: "Change the program language", + helpTranslate: "Translate SpessaSynth" }, layoutDirection: { diff --git a/src/website/js/locale/locale_files/locale_pl/settings/settings.js b/src/website/js/locale/locale_files/locale_pl/settings/settings.js index f508fdd3..09aea4d0 100644 --- a/src/website/js/locale/locale_files/locale_pl/settings/settings.js +++ b/src/website/js/locale/locale_files/locale_pl/settings/settings.js @@ -24,7 +24,8 @@ export const settingsLocale = { selectLanguage: { title: "Język", - description: "Zmień język programu" + description: "Zmień język programu", + helpTranslate: "Przetłumacz SpessaSynth" }, layoutDirection: { diff --git a/src/website/js/settings_ui/handlers/interface_handler.js b/src/website/js/settings_ui/handlers/interface_handler.js index 7016287b..7918cc05 100644 --- a/src/website/js/settings_ui/handlers/interface_handler.js +++ b/src/website/js/settings_ui/handlers/interface_handler.js @@ -21,6 +21,13 @@ export function _createInterfaceSettingsHandler() } select.onchange = () => { + if (select.value === "help-translate") + { + window.open( + "https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"); + select.value = this.locale.localeCode; + return; + } this.locale.changeGlobalLocale(select.value); this._saveSettings(); }; diff --git a/src/website/js/settings_ui/settings_html.js b/src/website/js/settings_ui/settings_html.js index 2dfa79c5..f94acf78 100644 --- a/src/website/js/settings_ui/settings_html.js +++ b/src/website/js/settings_ui/settings_html.js @@ -90,7 +90,7 @@ export const settingsHtml = `
@@ -123,6 +123,7 @@ export const settingsHtml = ` diff --git a/src/website/js/synthesizer_ui/methods/effects_config.js b/src/website/js/synthesizer_ui/methods/effects_config.js index dc0db46b..34f43458 100644 --- a/src/website/js/synthesizer_ui/methods/effects_config.js +++ b/src/website/js/synthesizer_ui/methods/effects_config.js @@ -1,4 +1,4 @@ -import { closeNotification, showNotification } from "../../notification/notification.js"; +import { showNotification } from "../../notification/notification.js"; import { SpessaSynthInfo } from "../../../../spessasynth_lib/utils/loggin.js"; import { consoleColors } from "../../../../spessasynth_lib/utils/other.js"; import { DEFAULT_CHORUS_CONFIG } from "../../../../spessasynth_lib/synthetizer/audio_effects/fancy_chorus.js"; @@ -158,7 +158,6 @@ export function showEffectsConfigWindow(locale, path, synth) "input[setting='freq-var']").value); USER_CONFIG.oscillatorGain = parseFloat(n.div.querySelector("input[setting='osc-gain']").value); synth.setChorusConfig(USER_CONFIG); - closeNotification(n.id); } } ], diff --git a/src/website/js/synthesizer_ui/methods/synthui_meter.js b/src/website/js/synthesizer_ui/methods/synthui_meter.js index 60f346d8..8006643c 100644 --- a/src/website/js/synthesizer_ui/methods/synthui_meter.js +++ b/src/website/js/synthesizer_ui/methods/synthui_meter.js @@ -3,6 +3,8 @@ * purpose: manages a single visualization meter, handles user changing the value if set to do so */ +import { isMobile } from "../../utils/is_mobile.js"; + /** * @typedef {Function} MeterCallbackFunction * @param clickedValue {number} the value, calculated with min and max values @@ -126,6 +128,10 @@ export class Meter this.isActive = true; this.div.onmousemove(e); this.isActive = false; + if (isMobile) + { + this.lockMeter(); + } }; this.div.classList.add("editable"); } diff --git a/src/website/js/synthesizer_ui/methods/synthui_selector.js b/src/website/js/synthesizer_ui/methods/synthui_selector.js index 7e4c01b4..51480565 100644 --- a/src/website/js/synthesizer_ui/methods/synthui_selector.js +++ b/src/website/js/synthesizer_ui/methods/synthui_selector.js @@ -2,6 +2,7 @@ import { midiPatchNames } from "../../utils/patch_names.js"; import { getLockSVG, getUnlockSVG } from "../../utils/icons.js"; import { LOCALE_PATH } from "../synthetizer_ui.js"; import { ICON_SIZE } from "./create_channel_controller.js"; +import { isMobile } from "../../utils/is_mobile.js"; /** * syntui_selector.js @@ -243,7 +244,10 @@ export class Selector this.hideSelectionMenu(); }; this.isWindowShown = true; - searchInput.focus(); + if (!isMobile) + { + searchInput.focus(); + } } /** diff --git a/src/website/minified/demo_main.min.js b/src/website/minified/demo_main.min.js index c8e3e8e9..cbbab20a 100644 --- a/src/website/minified/demo_main.min.js +++ b/src/website/minified/demo_main.min.js @@ -1,13 +1,13 @@ -var QC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(typeof require<"u"?require:r)[l]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var V3=class extends Uint8Array{currentIndex;constructor(r){super(r),this.currentIndex=0}};function Dn(o){let r=o.reduce((f,Q)=>f+Q.length,0),l=new V3(r),c=0;for(let f of o)l.set(f,c),c+=f.length;return l}function C$(o){o=Math.floor(o);let r=Math.floor(o/60),l=Math.round(o-r*60);return{minutes:r,seconds:l,time:`${r.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function Tp(o){return o.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var D1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var Bi=class{constructor(r,l,c){this.ticks=r,this.messageStatusByte=l,this.messageData=c}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function ty(o){let r=o&240,l=o&15,c=-1,f=o;return r>=128&&r<=224&&(c=l,f=r),{status:f,channel:c}}var p3={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 yC=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(r,l,c){this.events[r][l]=c}removeEvent(r,l){delete this.events[r][l]}callEvent(r,l){this.events[r]&&Object.values(this.events[r]).forEach(c=>c(l))}};var Gr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},wm=class{constructor(r,l=Gr){let c=r.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let f=new ChannelMergerNode(c,{numberOfInputs:2}),Q=[],r0=[],m0=l.oscillatorFrequency,f0=l.defaultDelay;for(let a0=0;a0{let Q=await f.arrayBuffer();l.buffer=await o.decodeAudioData(Q)})}return l}var g8={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},vm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},ri=-1,p$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var Ob=!1,qb=!0,Np=!1;function Y5(...o){Ob&&console.info(...o)}function L4(...o){qb&&console.warn(...o)}function hr(...o){Np&&console.group(...o)}function ni(...o){Np&&console.groupCollapsed(...o)}function i4(){Np&&console.groupEnd()}var ry={chorusEnabled:!0,chorusConfig:Gr,reverbEnabled:!0,reverbImpulseResponse:void 0};var km={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var wC=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:g8.soundFontManager,messageData:[r,l]})}async addNewSoundFont(r,l,c=0){if(this.soundfontList.find(f=>f.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(km.addNewSoundFont,[r,l,c]),await new Promise(f=>this.synth.resolveWhenReady=f),this.soundfontList.push({id:l,bankOffset:c})}deleteSoundFont(r){if(this.soundfontList.length===0){L4("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){L4(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(km.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(km.rearrangeSoundFonts,r),this.soundfontList.sort((l,c)=>r.indexOf(l.id)-r.indexOf(c.id))}async reloadManager(r){this._sendToWorklet(km.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};var k1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[k1.startAddrsOffset]={min:0,max:32768,def:0};l9[k1.endAddrOffset]={min:-32768,max:32768,def:0};l9[k1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[k1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[k1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[k1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[k1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[k1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[k1.initialFilterFc]={min:1500,max:13500,def:13500};l9[k1.initialFilterQ]={min:0,max:960,def:0};l9[k1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[k1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[k1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[k1.modLfoToVolume]={min:-960,max:960,def:0};l9[k1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[k1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[k1.pan]={min:-500,max:500,def:0};l9[k1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[k1.freqModLFO]={min:-16e3,max:4500,def:0};l9[k1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[k1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[k1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[k1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[k1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[k1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[k1.sustainModEnv]={min:0,max:1e3,def:0};l9[k1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[k1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[k1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[k1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[k1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[k1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[k1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[k1.sustainVolEnv]={min:0,max:1440,def:0};l9[k1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[k1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[k1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[k1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[k1.keyNum]={min:-1,max:127,def:-1};l9[k1.velocity]={min:-1,max:127,def:-1};l9[k1.initialAttenuation]={min:-250,max:1440,def:0};l9[k1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[k1.coarseTune]={min:-120,max:120,def:0};l9[k1.fineTune]={min:-12700,max:12700,def:0};l9[k1.scaleTuning]={min:0,max:1200,def:100};l9[k1.exclusiveClass]={min:0,max:99999,def:0};l9[k1.overridingRootKey]={min:-1,max:127,def:-1};var W6=class{generatorType=k1.INVALID;generatorValue=0;constructor(r=k1.INVALID,l=0){if(this.generatorType=r,l===void 0)throw new Error("No value provided.");let c=l9[r];this.generatorValue=Math.round(l),c!==void 0&&(this.generatorValue=Math.max(c.min,Math.min(c.max,this.generatorValue)))}};var Mt={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Pr={linear:0,concave:1,convex:2,switch:3},Ae=class o{currentValue=0;constructor(r){this.sourceEnum=r.srcEnum,this.modulatorDestination=r.dest,this.secondarySourceEnum=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform,this.modulatorDestination>58&&(this.modulatorDestination=k1.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===k1.reverbEffectsSend||this.modulatorDestination===k1.chorusEffectsSend)}static copy(r){return new o({srcEnum:r.sourceEnum,secSrcEnum:r.secondarySourceEnum,transform:r.transformType,amt:r.transformAmount,dest:r.modulatorDestination})}static isIdentical(r,l){return r.sourceEnum===l.sourceEnum&&r.modulatorDestination===l.modulatorDestination&&r.secondarySourceEnum===l.secondarySourceEnum&&r.transformType===l.transformType}sumTransform(r){return new o({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(f,Q){return Object.keys(f).find(r0=>f[r0]===Q)}let l=r(Pr,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(p3,this.sourceIndex):l+=r(Mt,this.sourceIndex);let c=r(Pr,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=r(p3,this.secSrcIndex):c+=r(Mt,this.secSrcIndex),`Modulator: +var QC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(i,l)=>(typeof require<"u"?require:i)[l]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var V3=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function _n(o){let i=o.reduce((u,Q)=>u+Q.length,0),l=new V3(i),c=0;for(let u of o)l.set(u,c),c+=u.length;return l}function C$(o){o=Math.floor(o);let i=Math.floor(o/60),l=Math.round(o-i*60);return{minutes:i,seconds:l,time:`${i.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function Tp(o){return o.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var D1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var Bi=class{constructor(i,l,c){this.ticks=i,this.messageStatusByte=l,this.messageData=c}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function ty(o){let i=o&240,l=o&15,c=-1,u=o;return i>=128&&i<=224&&(c=l,u=i),{status:u,channel:c}}var p3={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 yC=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(i,l,c){this.events[i][l]=c}removeEvent(i,l){delete this.events[i][l]}callEvent(i,l){this.events[i]&&Object.values(this.events[i]).forEach(c=>c(l))}};var Ur={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},wm=class{constructor(i,l=Ur){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let u=new ChannelMergerNode(c,{numberOfInputs:2}),Q=[],i0=[],m0=l.oscillatorFrequency,f0=l.defaultDelay;for(let A0=0;A0{let Q=await u.arrayBuffer();l.buffer=await o.decodeAudioData(Q)})}return l}var c8={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25},vm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},ri=-1,p$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var Ob=!1,qb=!0,Np=!1;function Y5(...o){Ob&&console.info(...o)}function L4(...o){qb&&console.warn(...o)}function ur(...o){Np&&console.group(...o)}function ni(...o){Np&&console.groupCollapsed(...o)}function i4(){Np&&console.groupEnd()}var ry={chorusEnabled:!0,chorusConfig:Ur,reverbEnabled:!0,reverbImpulseResponse:void 0};var km={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var wC=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,l){this._port.postMessage({messageType:c8.soundFontManager,messageData:[i,l]})}async addNewSoundFont(i,l,c=0){if(this.soundfontList.find(u=>u.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(km.addNewSoundFont,[i,l,c]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:l,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){L4("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===i)===-1){L4(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(km.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(km.rearrangeSoundFonts,i),this.soundfontList.sort((l,c)=>i.indexOf(l.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(km.reloadSoundFont,i),await new Promise(l=>this.synth.resolveWhenReady=l)}};var k1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[k1.startAddrsOffset]={min:0,max:32768,def:0};l9[k1.endAddrOffset]={min:-32768,max:32768,def:0};l9[k1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[k1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[k1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[k1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[k1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[k1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[k1.initialFilterFc]={min:1500,max:13500,def:13500};l9[k1.initialFilterQ]={min:0,max:960,def:0};l9[k1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[k1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[k1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[k1.modLfoToVolume]={min:-960,max:960,def:0};l9[k1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[k1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[k1.pan]={min:-500,max:500,def:0};l9[k1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[k1.freqModLFO]={min:-16e3,max:4500,def:0};l9[k1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[k1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[k1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[k1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[k1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[k1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[k1.sustainModEnv]={min:0,max:1e3,def:0};l9[k1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[k1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[k1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[k1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[k1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[k1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[k1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[k1.sustainVolEnv]={min:0,max:1440,def:0};l9[k1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[k1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[k1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[k1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[k1.keyNum]={min:-1,max:127,def:-1};l9[k1.velocity]={min:-1,max:127,def:-1};l9[k1.initialAttenuation]={min:-250,max:1440,def:0};l9[k1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[k1.coarseTune]={min:-120,max:120,def:0};l9[k1.fineTune]={min:-12700,max:12700,def:0};l9[k1.scaleTuning]={min:0,max:1200,def:100};l9[k1.exclusiveClass]={min:0,max:99999,def:0};l9[k1.overridingRootKey]={min:-1,max:127,def:-1};var W6=class{generatorType=k1.INVALID;generatorValue=0;constructor(i=k1.INVALID,l=0){if(this.generatorType=i,l===void 0)throw new Error("No value provided.");let c=l9[i];this.generatorValue=Math.round(l),c!==void 0&&(this.generatorValue=Math.max(c.min,Math.min(c.max,this.generatorValue)))}};var Mt={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Or={linear:0,concave:1,convex:2,switch:3},Ae=class o{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=k1.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===k1.reverbEffectsSend||this.modulatorDestination===k1.chorusEffectsSend)}static copy(i){return new o({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,l){return i.sourceEnum===l.sourceEnum&&i.modulatorDestination===l.modulatorDestination&&i.secondarySourceEnum===l.secondarySourceEnum&&i.transformType===l.transformType}sumTransform(i){return new o({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(u,Q){return Object.keys(u).find(i0=>u[i0]===Q)}let l=i(Or,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=i(p3,this.sourceIndex):l+=i(Mt,this.sourceIndex);let c=i(Or,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i(p3,this.secSrcIndex):c+=i(Mt,this.secSrcIndex),`Modulator: Source: ${l} Secondary source: ${c} - Destination: ${r(k1,this.modulatorDestination)} + Destination: ${i(k1,this.modulatorDestination)} Trasform amount: ${this.transformAmount} Transform type: ${this.transformType} -`}},Gp=960,Up=Pr.concave;function Ur(o,r,l,c,f){return o<<10|r<<9|l<<8|c<<7|f}var vC=[new Ae({srcEnum:Ur(Up,0,1,0,Mt.noteOnVelocity),dest:k1.initialAttenuation,amt:Gp,secSrcEnum:0,transform:0}),new Ae({srcEnum:129,dest:k1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new Ae({srcEnum:Ur(Up,0,1,1,p3.mainVolume),dest:k1.initialAttenuation,amt:Gp,secSrcEnum:0,transform:0}),new Ae({srcEnum:13,dest:k1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new Ae({srcEnum:526,dest:k1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new Ae({srcEnum:650,dest:k1.pan,amt:500,secSrcEnum:0,transform:0}),new Ae({srcEnum:Ur(Up,0,1,1,p3.expressionController),dest:k1.initialAttenuation,amt:Gp,secSrcEnum:0,transform:0}),new Ae({srcEnum:219,dest:k1.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new Ae({srcEnum:221,dest:k1.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new Ae({srcEnum:Ur(Pr.linear,0,0,0,Mt.polyPressure),dest:k1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new Ae({srcEnum:Ur(Pr.linear,0,0,1,p3.tremoloDepth),dest:k1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new Ae({srcEnum:Ur(Pr.linear,1,0,1,p3.releaseTime),dest:k1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new Ae({srcEnum:Ur(Pr.linear,1,0,1,p3.brightness),dest:k1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new Ae({srcEnum:Ur(Pr.linear,1,0,1,p3.timbreHarmonicContent),dest:k1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var B$=128,ny=147,Hb=new Int16Array(ny).fill(0),si=(o,r)=>Hb[o]=r<<7;si(p3.mainVolume,100);si(p3.balance,64);si(p3.expressionController,127);si(p3.pan,64);si(p3.timbreHarmonicContent,64);si(p3.releaseTime,64);si(p3.attackTime,64);si(p3.brightness,64);si(p3.soundController6,64);si(p3.soundController7,64);si(p3.soundController8,64);si(p3.soundController9,64);si(p3.generalPurposeController6,64);si(p3.generalPurposeController8,64);si(B$+Mt.pitchWheel,64);si(B$+Mt.pitchWheelRange,2);var kC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},sy=Object.keys(kC).length,Yb=new Float32Array(sy);Yb[kC.modulationMultiplier]=1;var oy={velocityOverride:128};var Jb="spessasynth-worklet-system",Pp=350,Li=9,Vb=16;var hh=class{constructor(r,l,c=!0,f=void 0,Q=ry){Y5("%cInitializing SpessaSynth synthesizer...",D1.info),this.context=r.context,this.targetNode=r;let r0=f?.oneOutput===!0;this.eventHandler=new yC,this._voiceCap=Pp,this._outputsAmount=Vb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(a0=>this.resolveWhenReady=a0),this.channelProperties=[];for(let a0=0;a0this.handleMessage(a0.data),this.soundfontManager=new wC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,Q.reverbEnabled&&!r0&&(this.reverbProcessor=iy(this.context,Q.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),Q.chorusEnabled&&!r0&&(this.chorusProcessor=new wm(r,Q.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),r0)this.worklet.connect(r,0);else for(let a0=2;a0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(vm.voicesCap,r),this._voiceCap=r}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(r){this._highPerformanceMode=r}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(r,l,c,f){this.post({channelNumber:ri,messageType:g8.setLogLevel,messageData:[r,l,c,f]})}_setMasterParam(r,l){this.post({channelNumber:ri,messageType:g8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(vm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case p$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((c,f)=>c+f.voicesAmount,0);break;case p$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case p$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case p$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case p$.ready:this.resolveWhenReady();break;case p$.soundfontError:L4(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(r=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,r(l)},this.post({messageType:g8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:ri})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:g8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:g8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${r.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);c=Math.floor(c),l=Math.floor(l),this.post({channelNumber:r,messageType:g8.ccChange,messageData:[l,c,f]})}resetControllers(){this.post({channelNumber:ri,messageType:g8.ccReset,messageData:void 0})}channelPressure(r,l){this.post({channelNumber:r,messageType:g8.channelPressure,messageData:l})}polyPressure(r,l,c){this.post({channelNumber:r,messageType:g8.polyPressure,messageData:[l,c]})}post(r){this.worklet.port.postMessage(r)}pitchWheel(r,l,c){this.post({channelNumber:r,messageType:g8.pitchWheel,messageData:[l,c]})}transpose(r){this.transposeChannel(ri,r,!1)}transposeChannel(r,l,c=!1){this.post({channelNumber:r,messageType:g8.transpose,messageData:[l,c]})}setMainVolume(r){this._setMasterParam(vm.mainVolume,r)}setMasterPan(r){this._setMasterParam(vm.masterPan,r)}setPitchBendRange(r,l){this.controllerChange(r,p3.RPNMsb,0),this.controllerChange(r,p3.dataEntryMsb,l),this.controllerChange(r,p3.RPNMsb,127),this.controllerChange(r,p3.RPNLsb,127),this.controllerChange(r,p3.dataEntryMsb,0)}programChange(r,l,c=!1){this.post({channelNumber:r,messageType:g8.programChange,messageData:[l,c]})}velocityOverride(r,l){this.post({channelNumber:r,messageType:g8.ccChange,messageData:[oy.velocityOverride,l,!0]})}lockController(r,l,c){this.post({channelNumber:r,messageType:g8.lockController,messageData:[l,c]})}muteChannel(r,l){this.post({channelNumber:r,messageType:g8.muteChannel,messageData:l})}async reloadSoundFont(r){L4("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(r)}systemExclusive(r){this.post({channelNumber:ri,messageType:g8.systemExclusive,messageData:Array.from(r)})}setDrums(r,l){this.post({channelNumber:r,messageType:g8.setDrums,messageData:l})}sendMessage(r){let l=ty(r[0]);switch(l.status){case K3.noteOn:let c=r[2];c>0?this.noteOn(l.channel,r[1],c):this.noteOff(l.channel,r[1]);break;case K3.noteOff:this.noteOff(l.channel,r[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case K3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case K3.programChange:this.programChange(l.channel,r[1]);break;case K3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case K3.channelPressure:this.channelPressure(l.channel,r[1]);break;case K3.systemExclusive:this.systemExclusive(new V3(r.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(r){this.reverbProcessor.buffer=r}setChorusConfig(r){console.log(r),this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new wm(this.targetNode,r),this.worklet.connect(this.chorusProcessor.input,1)}reverbateEverythingBecauseWhyNot(){for(let r=0;r{this.pressedKeys.delete(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},r=(c,f)=>{let Q;if(_n)Q=127;else{let m0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let f0=f.clientX-m0.left,a0=m0.width;Q=Math.floor((a0-f0)/a0*127)}else{let f0=f.clientY-m0.top,a0=m0.height;Q=Math.floor(f0/a0*127)}}this.synth.noteOn(this.channel,c,Q,this.enableDebugging)},l=c=>{let f=c.touches?Array.from(c.touches):[c],Q=new Set;f.forEach(r0=>{let m0=document.elementFromPoint(r0.clientX,r0.clientY),f0=parseInt(m0.id.replace("note",""));Q.add(f0),!(isNaN(f0)||f0<0||this.pressedKeys.has(f0))&&(this.pressedKeys.add(f0),r(f0,r0))}),this.pressedKeys.forEach(r0=>{Q.has(r0)||o(r0)})};_n||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,l(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{o(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&l(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{o(c)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var ay=20,Sm=class{constructor(r,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,p3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,p3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=r,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",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 f=0;f<128;f++)this.releaseNote(f,c.channel)})}get shown(){return this._shown}set shown(r){r===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=r}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this.setKeyRange(r,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let r=this._keyRange.min;r=0&&(Q=l(r-1)),r<127&&(r0=l(r+1)),r0&&Q?c.classList.add("between_sharps"):Q?c.classList.add("left_sharp"):r0&&c.classList.add("right_sharp")}return c}toggleMode(r=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!r){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(r,l=!0){Math.abs(r.max-r.min)<12&&(r.min-=6,r.max=r.min+12);let f=900/(r.max-r.min+5),Q=document.styleSheets[0].cssRules,r0;for(let m0 of Q)if(m0.selectorText==="#keyboard .key"){r0=m0;break}if(r0.style.setProperty("--pressed-transform-skew",`${8e-4/(f/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let m0=getComputedStyle(this.keyboard),f0=parseFloat(m0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),a0=this.keyboard.getBoundingClientRect().height,f1=f/f0,R=a0*f1-a0,x0=(this._keyRange.min+this._keyRange.max)/2,k0=(r.min+r.max)/2;this._keyRange=r;let S1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,e2=(x0-k0)*S1,y1=parseFloat(m0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${R}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${f1}) translateX(${e2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/f1}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${f}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${f}`),this._keyRange=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,c){let f=this.keys[r-this._keyRange.min];if(f===void 0)return;f.classList.add("pressed");let Q=f.classList.contains("sharp_key"),r0=c/127,m0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),f0;if(!Q&&this.mode==="light"?f0=`rgba(${m0.slice(0,3).map(f1=>255-(255-f1)*r0).join(", ")}, ${m0[3]})`:f0=`rgba(${m0.slice(0,3).map(f1=>f1*r0).join(", ")}, ${m0[3]})`,f.style.background=f0,this.mode==="dark"){let a0=ay*r0;f.style.boxShadow=`${f0} 0px 0px ${a0}px ${a0/5}px`}this.keyColors[r-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(r,l){let c=this.keys[r-this._keyRange.min];if(c===void 0)return;l%=this.channelColors.length;let f=this.keyColors[r-this._keyRange.min];if(!f)return;let Q=f.findLastIndex(r0=>r0===this.channelColors[l]);Q!==-1&&(f.splice(Q,1),c.style.background=f[f.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${ay}px ${f[f.length-1]}`),f.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((r,l)=>{r.classList.remove("pressed"),r.style.background="",r.style.boxShadow="",this.keyColors[l]=[]})}};Sm.prototype._handlePointers=Ay;function Q$(o,r){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var zb="#000";function $y(o,r,l){o.forEach(c=>{if(c.pressedProgress===0)return;r.fillStyle=c.color;let f=c.pressedProgress*c.velocity;if(r.globalAlpha=.5*f,l){r.fillRect(c.xPos,c.yPos-c.height*f,c.width,c.height*(f*2+1)),r.globalAlpha=1;return}r.fillRect(c.xPos-c.width*f,c.yPos,c.width*(f*2+1),c.height),r.globalAlpha=1}),o.forEach(c=>{r.fillStyle=c.color,r.save(),r.translate(c.xPos,c.yPos),r.fillRect(0,0,c.width,c.height),r.restore(),r.strokeStyle=zb,r.lineWidth=c.stroke,r.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var Op=!1;function ly(o=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(Op){o&&requestAnimationFrame(this.render.bind(this));return}else Op=!0;else Op=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let Q=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||$y(Q,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let f=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${SC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,SC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(f).toString()+" FPS",this.canvas.width,SC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function cy(o=!1){this.notesOnScreen=0;let r=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,f=r/(c+1),Q=f-w$*2,r0=this.noteFallingTimeMs/1e3,m0=this.noteAfterTriggerTimeMs/1e3,f0=this.seq.currentHighResolutionTime,a0=f0-m0,f1=r0+m0,R=a0+f1,x0=hy/f1,k0=[];this.synth.channelProperties.forEach(e2=>{if(this.showVisualPitch){let y1=e2.pitchBend-8192+this.visualPitchBendOffset;k0.push(e2.pitchBendRangeSemitones*(y1/8192*f))}else k0.push(0)});let S1=[];return this.noteTimes.forEach((e2,y1)=>{if(e2.renderStartIndex>=e2.notes.length||!this.renderChannels[y1])return;let Y2=e2.renderStartIndex,T2=e2.notes,V2=T2[Y2],i3=-1;for(;V2.start<=R&&(Y2++,!(this.notesOnScreen>uy));){let r3=V2.start+V2.length;if(r3>a0&&V2.length>0){let A0=V2.length/f1*l-w$*2;if(this.notesOnScreen<1e3||A0>x0){i3===-1&&(i3=Y2-1);let y5=(V2.start-a0)/f1*l,T3;if(this._notesFall?T3=l-A0-y5+w$:T3=y5+w$,V2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;V2=T2[Y2];continue}let $3=V2.midiNote-this.keyRange.min,w6=f*$3+w$,s6,o9,K4,r4;if(this.sideways?(s6=T3,o9=w6,r4=Q,K4=A0):(o9=T3,s6=w6,K4=Q,r4=A0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+y$+w$,o9+y$,K4-y$*2,r4-y$*2);else{let V6;if(V2.start>f0||r3=T2.length)break;V2=T2[Y2]}i3>-1&&(e2.renderStartIndex=i3)}),S1.sort((e2,y1)=>y1.height-e2.height),S1}function fy(){let o=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,c)=>{let f=c%4,Q=Math.floor(c/4),r0=!1;for(let R=c;R0){r0=!0;break}if(!r0){let R=this.canvas.width/4,x0=this.canvas.height/4,k0=R*f,S1=x0*Q+x0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(k0,S1),this.drawingContext.lineTo(k0+R,S1),this.drawingContext.stroke();return}let m0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(m0);let f0=o*f,a0=r*Q+r/2,f1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let R=m0.length/4,x0=o/R,k0=Math.floor(R/2),S1=m0.length-k0;for(let T2=S1;T2>=1;T2--)if(m0[T2-1]<0&&m0[T2]>=0){S1=T2;break}let e2=f0,y1=S1-k0,Y2=S1+k0;for(let T2=y1;T2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function Ey(){for(let o=0;o4096?this.delayNode.delayTime.value=f/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function my(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{setTimeout(this.updateFftSize.bind(this),100)})}function Cy(){for(let o of this.channelAnalysers)o.disconnect();Y5("%cAnalysers disconnected!",D1.recognized)}function py(o){this.seq=o,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async r=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),r.RMIDInfo?.IPIC!==void 0){let l=new Blob([r.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(l),f=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${f}), rgba(0, 0, 0, ${f})), center center / cover url("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function By(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function qp(o,r){let l=0;for(let c=8*(r-1);c>=0;c-=8)l|=o[o.currentIndex++]<>>0}function bm(o,r){let l=new Array(r).fill(0);for(let c=r-1;c>=0;c--)l[c]=o&255,o>>=8;return l}var uh=.02;function Qy(o){function r(a0){return a0.messageData=new V3(a0.messageData.buffer),a0.messageData.currentIndex=0,6e7/qp(a0.messageData,3)}let l=[],f=o.tracks.flat();f.sort((a0,f1)=>a0.ticks-f1.ticks);for(let a0=0;a0<16;a0++)l.push({renderStartIndex:0,notes:[]});let Q=0,r0=60/(120*o.timeDivision),m0=0,f0=0;for(;m0>4,R=a0.messageStatusByte&15;if(f1===8){let x0=l[R].notes.findLast(k0=>k0.midiNote===a0.messageData[0]&&k0.length===-1);if(x0){let k0=Q-x0.start;x0.length=k0k0.midiNote===a0.messageData[0]&&k0.length===-1);if(x0){let k0=Q-x0.start;x0.length=k0=f.length)break;Q+=r0*(f[m0].ticks-a0.ticks)}f0>0&&l.forEach((a0,f1)=>a0.notes.filter(R=>R.length===-1).forEach(R=>{let x0=Q-R.start;R.length=x0r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this._keyRange=r}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,Q$(r,c=>c*DC)),l.addColorStop(1,r),l}),this.darkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,Q$(r,c=>c*DC*bC)),l.addColorStop(1,Q$(r,c=>c*bC)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,Q$(r,c=>c*DC)),l.addColorStop(1,r),l}),this.sidewaysDarkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,Q$(r,c=>c*DC*bC)),l.addColorStop(1,Q$(r,c=>c*bC)),l})}};xi.prototype.render=ly;xi.prototype.computeNotePositions=cy;xi.prototype.createChannelAnalysers=Iy;xi.prototype.updateFftSize=Ey;xi.prototype.connectChannelAnalysers=my;xi.prototype.disconnectChannelAnalysers=Cy;xi.prototype.connectSequencer=py;xi.prototype.calculateNoteTimes=Qy;xi.prototype.resetIndexes=By;xi.prototype.renderWaveforms=fy;function o3(o,r){let l=0;for(let c=0;c>>0}function c7(o,r,l){for(let c=0;c>c*8&255}function Q9(o,r){o[o.currentIndex++]=r&255,o[o.currentIndex++]=r>>8}function g7(o,r){c7(o,r,4)}function FA(o,r){let l=r<<8|o;return l>32767?l-65536:l}function yy(o){return o>127?o-256:o}function Ee(o,r,l=void 0,c=!0){if(l){let f=o.slice(o.currentIndex,o.currentIndex+r);return o.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(f.buffer)}else{let f=!1,Q="";for(let r0=0;r0127){if(c){f=!0;continue}else if(m0===0){f=!0;continue}}Q+=String.fromCharCode(m0)}}return Q}}function MA(o,r=0){let l=o.length;r>0&&(l=r);let c=new V3(l);return h7(c,o,r),c}function h7(o,r,l=0){l>0&&r.length>l&&(r=r.slice(0,l));for(let c=0;cr.length)for(let c=0;cl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ee(l.chunkData,4)===r))}function _C(o){let r=[o&127];for(o>>=7;o>0;)r.unshift(o&127|128),o>>=7;return r}function LC(o){let r=[];for(let f of o.tracks){let Q=[],r0=0,m0;for(let f0 of f){let a0=f0.ticks-r0,f1;f0.messageStatusByte<=K3.keySignature||f0.messageStatusByte===K3.sequenceSpecific?f1=[255,f0.messageStatusByte,..._C(f0.messageData.length),...f0.messageData]:f0.messageStatusByte===K3.systemExclusive?f1=[240,..._C(f0.messageData.length),...f0.messageData]:(f1=[],m0!==f0.messageStatusByte&&(m0=f0.messageStatusByte,f1.push(f0.messageStatusByte)),f1.push(...f0.messageData)),Q.push(..._C(a0)),Q.push(...f1),r0+=a0}r.push(new Uint8Array(Q))}function l(f,Q){for(let r0=0;r0{o.tracks.forEach((S1,e2)=>{if(o.midiPorts[e2]===k0)for(let y1=S1.length-1;y1>=0;y1--)S1[y1].messageStatusByte>=128&&S1[y1].messageStatusByte<240&&(S1[y1].messageStatusByte&15)===x0&&S1.splice(y1,1)})};c.forEach(x0=>{let k0=x0%16,S1=x0-k0,e2=o.midiPortChannelOffsets.findIndex(y1=>y1===S1);Q(k0,e2),Y5(`%cRemoving channel %c${x0}%c!`,D1.info,D1.recognized,D1.info)});let r0=!1,m0="gs",f0=[],a0=[];o.tracks.forEach((x0,k0)=>{x0.forEach(S1=>{let e2=S1.messageStatusByte&240;e2===K3.controllerChange?f0.push({track:k0,message:S1,channel:S1.messageStatusByte&15}):e2===K3.programChange?a0.push({track:k0,message:S1,channel:S1.messageStatusByte&15}):S1.messageStatusByte===K3.systemExclusive&&(S1.messageData[0]===67&&S1.messageData[2]===76&&S1.messageData[5]===126&&S1.messageData[6]===0?(Y5("%cXG system on detected",D1.info),m0="xg",r0=!0):S1.messageData[0]===67&&S1.messageData[2]===76&&S1.messageData[3]===8&&S1.messageData[5]===3&&a0.push({track:k0,message:S1,channel:S1.messageData[4]}))})});let f1=(x0,k0,S1)=>o.tracks.reduce((e2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(x0)&&o.midiPorts[Y2]===k0){let T2;S1?T2=y1.findIndex(V2=>(V2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(V2=>V2.messageStatusByte>128&&V2.messageStatusByte<240&&(V2.messageStatusByte&15)===x0&&!(V2.messageStatusByte&K3.controllerChange===240&&(V2.messageData[0]===p3.resetAllControllers||V2.messageData[0]===p3.allNotesOff||V2.messageData[0]===p3.allSoundOff))),T2!==-1&&e2.push({index:T2,track:Y2})}return e2},[]),R=(x0,k0,S1)=>{let e2=f0.filter(y1=>y1.channel===x0&&y1.message.messageData[0]===S1&&o.midiPorts[y1.track]===k0);for(let y1=0;y1{let k0=x0.channel,S1=k0%16,e2=k0-S1,y1=o.midiPortChannelOffsets.findIndex(A0=>A0===e2),Y2=x0.controllerValue,T2=x0.controllerNumber;R(S1,y1,T2),Y5(`%cNo controller %c${T2}%c on channel %c${k0}%c found. Adding it!`,D1.info,D1.unrecognized,D1.info,D1.value,D1.info);let V2=f1(S1,y1,!0);if(V2.length===0){L4("Program change but no notes... ignoring!");return}let i3=V2.reduce((A0,y5)=>o.tracks[y5.track][y5.index].ticks{let k0=x0.channel%16,S1=x0.channel-k0,e2=o.midiPortChannelOffsets.findIndex($3=>$3===S1),y1=x0.isDrum?0:x0.bank,Y2=x0.program,T2=a0.filter($3=>o.midiPorts[$3.track]===e2&&$3.channel===k0);if(R(k0,e2,p3.bankSelect),R(k0,e2,p3.lsbForControl0BankSelect),(x0.isDrum||y1>0)&&!r0&&(o.tracks.forEach($3=>{for(let w6=0;w6<$3.length;w6++){let s6=$3[w6];if(s6.messageStatusByte===K3.systemExclusive)if(s6.messageData[0]===65&&s6.messageData[2]===66&&s6.messageData[6]===127){r0=!0,Y5("%cGS on detected!",D1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(Y5("%cGM/2 on detected, removing!",D1.info),$3.splice(w6,1),w6--)}}),!r0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,Hp(0)),Y5("%cGS on not detected. Adding it.",D1.info),r0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let V2=f1(k0,e2,S1>0);if(V2.length===0){L4("Program change but no notes... ignoring!");return}let i3=V2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==S1||!o.usedChannelsOnTrack[T2].has(k0))return;let V2=K3.noteOn|k0,i3=K3.noteOff|k0,r3=K3.polyPressure|k0;Y2.forEach(A0=>{A0.messageStatusByte!==V2&&A0.messageStatusByte!==i3&&A0.messageStatusByte!==r3||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+e2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(x0.channel));if(Y2===void 0){L4(`Channel ${x0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|x0.channel%16,V2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(V2===-1){L4(`No notes on channel ${x0.channel} but transpose requested???`);continue}let i3=Y2[V2].ticks,r3=y1*64+64,A0=K3.controllerChange|x0.channel%16,y5=new Bi(i3,A0,new V3([p3.RPNMsb,0])),T3=new Bi(i3,A0,new V3([p3.RPNLsb,1])),$3=new Bi(i3,A0,new V3([p3.dataEntryMsb,r3])),w6=new Bi(i3,A0,new V3([p3.lsbForControl6DataEntry,0]));Y2.splice(V2,0,w6),Y2.splice(V2,0,$3),Y2.splice(V2,0,T3),Y2.splice(V2,0,y5)}}i4()}function fh(o,r){let l=[],c=[],f=[],Q=[];r.channelSnapshots.forEach((r0,m0)=>{if(r0.isMuted){c.push(m0);return}let f0=r0.channelTransposeKeyShift+r0.customControllers[kC.channelTransposeFine]/100;f0!==0&&l.push({channel:m0,keyShift:f0}),r0.lockPreset&&f.push({channel:m0,program:r0.program,bank:r0.bank,isDrum:r0.drumChannel}),r0.lockedControllers.forEach((a0,f1)=>{if(!a0||f1>127||f1===p3.bankSelect)return;let R=r0.midiControllers[f1]>>7;Q.push({channel:m0,controllerNumber:f1,controllerValue:R})})}),tD(o,f,Q,c,l)}var Tt={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"},TA="utf-8",iD="Created using SpessaSynth";function vy(o,r,l,c=0,f="Shift_JIS",Q={},r0=!0){if(hr("%cWriting the RMIDI File...",D1.info),Y5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${f}`,D1.info,D1.value,D1.info,D1.value),Y5("metadata",Q),Y5("Initial bank offset",r.bankOffset),r0){let Y2=function(){let r3=0,A0=1/0;return r.tracks.forEach((y5,T3)=>{e2[T3]>=y5.length||y5[e2[T3]].ticksA0>r3?A0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),A0=r.tracks[r3];if(e2[r3]>=A0.length){y1--;continue}let y5=A0[e2[r3]];e2[r3]++;let T3=r.midiPortChannelOffsets[T2[r3]];if(y5.messageStatusByte===K3.midiPort){T2[r3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?k0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?k0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(k0="gm",S1.push({tNum:r3,e:y5}));continue}let o9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+T3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+T3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank===128)?.program||0):l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-r.bankOffset),K4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(k0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===K4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(V6=>V6.program===y5.messageData[0])?.bank+c||c;s6.lastBank.messageData[1]=r4,Y5(`%cNo preset %c${K4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,D1.info,D1.recognized,D1.info)}else{let V6=(K4===128?k0==="xg"?127:0:o9)+c;s6.lastBank.messageData[1]=V6,Y5(`%cPreset %c${K4}:${y5.messageData[0]}%c exists. Changing bank to ${V6}.`,D1.info,D1.recognized,D1.info)}continue}y5.messageData[0]===p3.bankSelect&&(s6.hasBankSelect=!0,k0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,A0)=>{if(r3.hasBankSelect===!0)return;let y5=A0%16,T3=K3.programChange|y5,$3=Math.floor(A0/16)*16,w6=r.midiPortChannelOffsets.indexOf($3),s6=r.tracks.find((V6,je)=>r.midiPorts[je]===w6&&r.usedChannelsOnTrack[je].has(y5));if(s6===void 0)return;let o9=s6.findIndex(V6=>V6.messageStatusByte===T3);if(o9===-1){let V6=s6.findIndex(Ki=>Ki.messageStatusByte>128&&Ki.messageStatusByte<240&&(Ki.messageStatusByte&15)===y5);if(V6===-1)return;let je=s6[V6].ticks,Hr=l.getPreset(0,0).program;s6.splice(V6,0,new Bi(je,K3.programChange|y5,new V3([Hr]))),o9=V6}Y5(`%cAdding bank select for %c${A0}`,D1.info,D1.recognized);let K4=s6[o9].ticks,r4=l.getPreset(0,r3.program)?.bank+c||c;s6.splice(o9,0,new Bi(K4,K3.controllerChange|y5,new V3([p3.bankSelect,r4])))}),k0!=="gs"&&k0!=="xg"){for(let A0 of S1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let r3=0;r.tracks[0][0].messageStatusByte===K3.trackName&&r3++,r.tracks[0].splice(r3,0,Hp(0))}}let m0=new V3(LC(r).buffer),f0=[MA("INFO")],a0=new TextEncoder;if(f0.push(Ze(Tt.software,a0.encode("SpessaSynth"),!0)),Q.name!==void 0?(f0.push(Ze(Tt.name,a0.encode(Q.name),!0)),f=TA):f0.push(Ze(Tt.name,r.rawMidiName,!0)),Q.creationDate!==void 0)f=TA,f0.push(Ze(Tt.creationDate,a0.encode(Q.creationDate),!0));else{let k0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});f0.push(Ze(Tt.creationDate,MA(k0),!0))}if(Q.comment!==void 0&&(f=TA,f0.push(Ze(Tt.comment,a0.encode(Q.comment)))),Q.engineer!==void 0&&f0.push(Ze(Tt.engineer,a0.encode(Q.engineer),!0)),Q.album!==void 0&&(f=TA,f0.push(Ze(Tt.album,a0.encode(Q.album),!0))),Q.artist!==void 0&&(f=TA,f0.push(Ze(Tt.artist,a0.encode(Q.artist),!0))),Q.genre!==void 0&&(f=TA,f0.push(Ze(Tt.genre,a0.encode(Q.genre),!0))),Q.picture!==void 0&&f0.push(Ze(Tt.picture,new Uint8Array(Q.picture))),Q.copyright!==void 0)f=TA,f0.push(Ze(Tt.copyright,a0.encode(Q.copyright),!0));else{let k0=r.copyright.length>0?r.copyright:iD;f0.push(Ze(Tt.copyright,MA(k0)))}let f1=new V3(2);c7(f1,c,2),f0.push(Ze(Tt.bankOffset,f1)),Q.midiEncoding!==void 0&&(f0.push(Ze(Tt.midiEncoding,a0.encode(Q.midiEncoding))),f=TA),f0.push(Ze(Tt.encoding,MA(f)));let R=Dn(f0),x0=Dn([MA("RMID"),Ze("data",m0),Ze("LIST",R),o]);return Y5("%cFinished!",D1.info),i4(),Ze("RIFF",x0)}function Dm(o,r){let l=0;for(;o>0;){let c=r.tempoChanges.find(Q=>Q.ticks=128){this.MIDIout.send(c);return}break;case NA.songChange:let f=l[0];this.songIndex=l[1],this.midiData=f,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(m0=>m0[1](f)),l[2]===!0&&this.unpause();break;case NA.textEvent:let Q=l;this.onTextEvent&&this.onTextEvent(Q[0],Q[1]);break;case NA.timeChange:let r0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(m0=>m0[1](r0)),this._recalculateStartTime(r0),this.paused&&this._preservePlaybackState?this.pausedTime=r0:this.unpause();break;case NA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(m0=>m0[1]());break;case NA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case NA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}_recalculateStartTime(r){this.absoluteStartTime=this.synth.currentTime-r/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(r=>{this._getMIDIResolve=r,this._sendMessage(oi.getMIDI,void 0)})}loadNewSongList(r,l=!0){this.pause(),this.midiData=ky,this.hasDummyData=!0,this.duration=99999,this._sendMessage(oi.loadNewSongList,[r,l]),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1),l===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(oi.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){L4("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(oi.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(r=!1){this.isFinished&&(r=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(oi.play,r)}stop(){this._sendMessage(oi.stop)}};var _m=["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 Sy(o){return` +`}},Gp=960,Up=Or.concave;function Pr(o,i,l,c,u){return o<<10|i<<9|l<<8|c<<7|u}var vC=[new Ae({srcEnum:Pr(Up,0,1,0,Mt.noteOnVelocity),dest:k1.initialAttenuation,amt:Gp,secSrcEnum:0,transform:0}),new Ae({srcEnum:129,dest:k1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new Ae({srcEnum:Pr(Up,0,1,1,p3.mainVolume),dest:k1.initialAttenuation,amt:Gp,secSrcEnum:0,transform:0}),new Ae({srcEnum:13,dest:k1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new Ae({srcEnum:526,dest:k1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new Ae({srcEnum:650,dest:k1.pan,amt:500,secSrcEnum:0,transform:0}),new Ae({srcEnum:Pr(Up,0,1,1,p3.expressionController),dest:k1.initialAttenuation,amt:Gp,secSrcEnum:0,transform:0}),new Ae({srcEnum:219,dest:k1.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new Ae({srcEnum:221,dest:k1.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new Ae({srcEnum:Pr(Or.linear,0,0,0,Mt.polyPressure),dest:k1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new Ae({srcEnum:Pr(Or.linear,0,0,1,p3.tremoloDepth),dest:k1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new Ae({srcEnum:Pr(Or.linear,1,0,1,p3.releaseTime),dest:k1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new Ae({srcEnum:Pr(Or.linear,1,0,1,p3.brightness),dest:k1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new Ae({srcEnum:Pr(Or.linear,1,0,1,p3.timbreHarmonicContent),dest:k1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var B$=128,ny=147,Hb=new Int16Array(ny).fill(0),si=(o,i)=>Hb[o]=i<<7;si(p3.mainVolume,100);si(p3.balance,64);si(p3.expressionController,127);si(p3.pan,64);si(p3.timbreHarmonicContent,64);si(p3.releaseTime,64);si(p3.attackTime,64);si(p3.brightness,64);si(p3.soundController6,64);si(p3.soundController7,64);si(p3.soundController8,64);si(p3.soundController9,64);si(p3.generalPurposeController6,64);si(p3.generalPurposeController8,64);si(B$+Mt.pitchWheel,64);si(B$+Mt.pitchWheelRange,2);var kC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},sy=Object.keys(kC).length,Yb=new Float32Array(sy);Yb[kC.modulationMultiplier]=1;var oy={velocityOverride:128};var Jb="spessasynth-worklet-system",Pp=350,Li=9,Vb=16;var hh=class{constructor(i,l,c=!0,u=void 0,Q=ry){Y5("%cInitializing SpessaSynth synthesizer...",D1.info),this.context=i.context,this.targetNode=i;let i0=u?.oneOutput===!0;this.eventHandler=new yC,this._voiceCap=Pp,this._outputsAmount=Vb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(A0=>this.resolveWhenReady=A0),this.channelProperties=[];for(let A0=0;A0this.handleMessage(A0.data),this.soundfontManager=new wC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!i0&&(this.reverbProcessor=iy(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!i0&&(this.chorusProcessor=new wm(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),i0)this.worklet.connect(i,0);else for(let A0=2;A0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(vm.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,l,c,u){this.post({channelNumber:ri,messageType:c8.setLogLevel,messageData:[i,l,c,u]})}_setMasterParam(i,l){this.post({channelNumber:ri,messageType:c8.setMasterParameter,messageData:[i,l]})}setInterpolationType(i){this._setMasterParam(vm.interpolationType,i)}handleMessage(i){let l=i.messageData;switch(i.messageType){case p$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((c,u)=>c+u.voicesAmount,0);break;case p$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case p$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case p$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case p$.ready:this.resolveWhenReady();break;case p$.soundfontError:L4(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,l.effectsConfig=this.effectsConfig,i(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:ri})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(i,l){this.post({channelNumber:i,messageType:c8.setChannelVibrato,messageData:l})}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 l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);c=Math.floor(c),l=Math.floor(l),this.post({channelNumber:i,messageType:c8.ccChange,messageData:[l,c,u]})}resetControllers(){this.post({channelNumber:ri,messageType:c8.ccReset,messageData:void 0})}channelPressure(i,l){this.post({channelNumber:i,messageType:c8.channelPressure,messageData:l})}polyPressure(i,l,c){this.post({channelNumber:i,messageType:c8.polyPressure,messageData:[l,c]})}post(i){this.worklet.port.postMessage(i)}pitchWheel(i,l,c){this.post({channelNumber:i,messageType:c8.pitchWheel,messageData:[l,c]})}transpose(i){this.transposeChannel(ri,i,!1)}transposeChannel(i,l,c=!1){this.post({channelNumber:i,messageType:c8.transpose,messageData:[l,c]})}setMainVolume(i){this._setMasterParam(vm.mainVolume,i)}setMasterPan(i){this._setMasterParam(vm.masterPan,i)}setPitchBendRange(i,l){this.controllerChange(i,p3.RPNMsb,0),this.controllerChange(i,p3.dataEntryMsb,l),this.controllerChange(i,p3.RPNMsb,127),this.controllerChange(i,p3.RPNLsb,127),this.controllerChange(i,p3.dataEntryMsb,0)}programChange(i,l,c=!1){this.post({channelNumber:i,messageType:c8.programChange,messageData:[l,c]})}velocityOverride(i,l){this.post({channelNumber:i,messageType:c8.ccChange,messageData:[oy.velocityOverride,l,!0]})}lockController(i,l,c){this.post({channelNumber:i,messageType:c8.lockController,messageData:[l,c]})}muteChannel(i,l){this.post({channelNumber:i,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(i){L4("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:ri,messageType:c8.systemExclusive,messageData:Array.from(i)})}setDrums(i,l){this.post({channelNumber:i,messageType:c8.setDrums,messageData:l})}sendMessage(i){let l=ty(i[0]);switch(l.status){case K3.noteOn:let c=i[2];c>0?this.noteOn(l.channel,i[1],c):this.noteOff(l.channel,i[1]);break;case K3.noteOff:this.noteOff(l.channel,i[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,i[2],i[1]);break;case K3.controllerChange:this.controllerChange(l.channel,i[1],i[2]);break;case K3.programChange:this.programChange(l.channel,i[1]);break;case K3.polyPressure:this.polyPressure(l.channel,i[0],i[1]);break;case K3.channelPressure:this.channelPressure(l.channel,i[1]);break;case K3.systemExclusive:this.systemExclusive(new V3(i.slice(1)));break;case K3.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 wm(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}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 Q;if(xi)Q=127;else{let m0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let f0=u.clientX-m0.left,A0=m0.width;Q=Math.floor((A0-f0)/A0*127)}else{let f0=u.clientY-m0.top,A0=m0.height;Q=Math.floor(f0/A0*127)}}this.synth.noteOn(this.channel,c,Q,this.enableDebugging)},l=c=>{let u=c.touches?Array.from(c.touches):[c],Q=new Set;u.forEach(i0=>{let m0=document.elementFromPoint(i0.clientX,i0.clientY),f0=parseInt(m0.id.replace("note",""));Q.add(f0),!(isNaN(f0)||f0<0||this.pressedKeys.has(f0))&&(this.pressedKeys.add(f0),i(f0,i0))}),this.pressedKeys.forEach(i0=>{Q.has(i0)||o(i0)})};xi||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,l(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{o(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&l(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{o(c)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var ay=20,Sm=class{constructor(i,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,p3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,p3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,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 l=i.min;i.min=i.max,i.max=l}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&&(Q=l(i-1)),i<127&&(i0=l(i+1)),i0&&Q?c.classList.add("between_sharps"):Q?c.classList.add("left_sharp"):i0&&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,l=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let u=900/(i.max-i.min+5),Q=document.styleSheets[0].cssRules,i0;for(let m0 of Q)if(m0.selectorText==="#keyboard .key"){i0=m0;break}if(i0.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let m0=getComputedStyle(this.keyboard),f0=parseFloat(m0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),A0=this.keyboard.getBoundingClientRect().height,f1=u/f0,R=A0*f1-A0,x0=(this._keyRange.min+this._keyRange.max)/2,k0=(i.min+i.max)/2;this._keyRange=i;let S1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,e2=(x0-k0)*S1,y1=parseFloat(m0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${R}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${f1}) translateX(${e2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/f1}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,l,c){let u=this.keys[i-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let Q=u.classList.contains("sharp_key"),i0=c/127,m0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),f0;if(!Q&&this.mode==="light"?f0=`rgba(${m0.slice(0,3).map(f1=>255-(255-f1)*i0).join(", ")}, ${m0[3]})`:f0=`rgba(${m0.slice(0,3).map(f1=>f1*i0).join(", ")}, ${m0[3]})`,u.style.background=f0,this.mode==="dark"){let A0=ay*i0;u.style.boxShadow=`${f0} 0px 0px ${A0}px ${A0/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(i,l){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;l%=this.channelColors.length;let u=this.keyColors[i-this._keyRange.min];if(!u)return;let Q=u.findLastIndex(i0=>i0===this.channelColors[l]);Q!==-1&&(u.splice(Q,1),c.style.background=u[u.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${ay}px ${u[u.length-1]}`),u.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,l)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[l]=[]})}};Sm.prototype._handlePointers=Ay;function Q$(o,i){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(l[0]))}, ${i(parseInt(l[1]))}, ${i(parseInt(l[2]))})`}var zb="#000";function $y(o,i,l){o.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let u=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*u,l){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}),o.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=zb,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var Op=!1;function ly(o=!0,i=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||l)if(Op){o&&requestAnimationFrame(this.render.bind(this));return}else Op=!0;else Op=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let Q=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||$y(Q,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=`${SC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,SC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,SC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function cy(o=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,u=i/(c+1),Q=u-w$*2,i0=this.noteFallingTimeMs/1e3,m0=this.noteAfterTriggerTimeMs/1e3,f0=this.seq.currentHighResolutionTime,A0=f0-m0,f1=i0+m0,R=A0+f1,x0=hy/f1,k0=[];this.synth.channelProperties.forEach(e2=>{if(this.showVisualPitch){let y1=e2.pitchBend-8192+this.visualPitchBendOffset;k0.push(e2.pitchBendRangeSemitones*(y1/8192*u))}else k0.push(0)});let S1=[];return this.noteTimes.forEach((e2,y1)=>{if(e2.renderStartIndex>=e2.notes.length||!this.renderChannels[y1])return;let Y2=e2.renderStartIndex,T2=e2.notes,V2=T2[Y2],i3=-1;for(;V2.start<=R&&(Y2++,!(this.notesOnScreen>uy));){let r3=V2.start+V2.length;if(r3>A0&&V2.length>0){let a0=V2.length/f1*l-w$*2;if(this.notesOnScreen<1e3||a0>x0){i3===-1&&(i3=Y2-1);let y5=(V2.start-A0)/f1*l,T3;if(this._notesFall?T3=l-a0-y5+w$:T3=y5+w$,V2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;V2=T2[Y2];continue}let $3=V2.midiNote-this.keyRange.min,w6=u*$3+w$,s6,o9,K4,r4;if(this.sideways?(s6=T3,o9=w6,r4=Q,K4=a0):(o9=T3,s6=w6,K4=Q,r4=a0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+y$+w$,o9+y$,K4-y$*2,r4-y$*2);else{let V6;if(V2.start>f0||r3=T2.length)break;V2=T2[Y2]}i3>-1&&(e2.renderStartIndex=i3)}),S1.sort((e2,y1)=>y1.height-e2.height),S1}function fy(){let o=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((l,c)=>{let u=c%4,Q=Math.floor(c/4),i0=!1;for(let R=c;R0){i0=!0;break}if(!i0){let R=this.canvas.width/4,x0=this.canvas.height/4,k0=R*u,S1=x0*Q+x0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(k0,S1),this.drawingContext.lineTo(k0+R,S1),this.drawingContext.stroke();return}let m0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(m0);let f0=o*u,A0=i*Q+i/2,f1=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let R=m0.length/4,x0=o/R,k0=Math.floor(R/2),S1=m0.length-k0;for(let T2=S1;T2>=1;T2--)if(m0[T2-1]<0&&m0[T2]>=0){S1=T2;break}let e2=f0,y1=S1-k0,Y2=S1+k0;for(let T2=y1;T2{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function Ey(){for(let o=0;o4096?this.delayNode.delayTime.value=u/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function my(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{setTimeout(this.updateFftSize.bind(this),100)})}function Cy(){for(let o of this.channelAnalysers)o.disconnect();Y5("%cAnalysers disconnected!",D1.recognized)}function py(o){this.seq=o,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 l=new Blob([i.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(l),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 By(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function qp(o,i){let l=0;for(let c=8*(i-1);c>=0;c-=8)l|=o[o.currentIndex++]<>>0}function bm(o,i){let l=new Array(i).fill(0);for(let c=i-1;c>=0;c--)l[c]=o&255,o>>=8;return l}var uh=.02;function Qy(o){function i(A0){return A0.messageData=new V3(A0.messageData.buffer),A0.messageData.currentIndex=0,6e7/qp(A0.messageData,3)}let l=[],u=o.tracks.flat();u.sort((A0,f1)=>A0.ticks-f1.ticks);for(let A0=0;A0<16;A0++)l.push({renderStartIndex:0,notes:[]});let Q=0,i0=60/(120*o.timeDivision),m0=0,f0=0;for(;m0>4,R=A0.messageStatusByte&15;if(f1===8){let x0=l[R].notes.findLast(k0=>k0.midiNote===A0.messageData[0]&&k0.length===-1);if(x0){let k0=Q-x0.start;x0.length=k0k0.midiNote===A0.messageData[0]&&k0.length===-1);if(x0){let k0=Q-x0.start;x0.length=k0=u.length)break;Q+=i0*(u[m0].ticks-A0.ticks)}f0>0&&l.forEach((A0,f1)=>A0.notes.filter(R=>R.length===-1).forEach(R=>{let x0=Q-R.start;R.length=x0i.max){let l=i.min;i.min=i.max,i.max=l}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 l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,Q$(i,c=>c*DC)),l.addColorStop(1,i),l}),this.darkerColors=this.plainColors.map(i=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,Q$(i,c=>c*DC*bC)),l.addColorStop(1,Q$(i,c=>c*bC)),l}),this.sidewaysChannelColors=this.plainColors.map(i=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,Q$(i,c=>c*DC)),l.addColorStop(1,i),l}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,Q$(i,c=>c*DC*bC)),l.addColorStop(1,Q$(i,c=>c*bC)),l})}};Ri.prototype.render=ly;Ri.prototype.computeNotePositions=cy;Ri.prototype.createChannelAnalysers=Iy;Ri.prototype.updateFftSize=Ey;Ri.prototype.connectChannelAnalysers=my;Ri.prototype.disconnectChannelAnalysers=Cy;Ri.prototype.connectSequencer=py;Ri.prototype.calculateNoteTimes=Qy;Ri.prototype.resetIndexes=By;Ri.prototype.renderWaveforms=fy;function o3(o,i){let l=0;for(let c=0;c>>0}function c7(o,i,l){for(let c=0;c>c*8&255}function Q9(o,i){o[o.currentIndex++]=i&255,o[o.currentIndex++]=i>>8}function g7(o,i){c7(o,i,4)}function FA(o,i){let l=i<<8|o;return l>32767?l-65536:l}function yy(o){return o>127?o-256:o}function Ee(o,i,l=void 0,c=!0){if(l){let u=o.slice(o.currentIndex,o.currentIndex+i);return o.currentIndex+=i,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,Q="";for(let i0=0;i0127){if(c){u=!0;continue}else if(m0===0){u=!0;continue}}Q+=String.fromCharCode(m0)}}return Q}}function MA(o,i=0){let l=o.length;i>0&&(l=i);let c=new V3(l);return h7(c,o,i),c}function h7(o,i,l=0){l>0&&i.length>l&&(i=i.slice(0,l));for(let c=0;ci.length)for(let c=0;cl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ee(l.chunkData,4)===i))}function _C(o){let i=[o&127];for(o>>=7;o>0;)i.unshift(o&127|128),o>>=7;return i}function LC(o){let i=[];for(let u of o.tracks){let Q=[],i0=0,m0;for(let f0 of u){let A0=f0.ticks-i0,f1;f0.messageStatusByte<=K3.keySignature||f0.messageStatusByte===K3.sequenceSpecific?f1=[255,f0.messageStatusByte,..._C(f0.messageData.length),...f0.messageData]:f0.messageStatusByte===K3.systemExclusive?f1=[240,..._C(f0.messageData.length),...f0.messageData]:(f1=[],m0!==f0.messageStatusByte&&(m0=f0.messageStatusByte,f1.push(f0.messageStatusByte)),f1.push(...f0.messageData)),Q.push(..._C(A0)),Q.push(...f1),i0+=A0}i.push(new Uint8Array(Q))}function l(u,Q){for(let i0=0;i0{o.tracks.forEach((S1,e2)=>{if(o.midiPorts[e2]===k0)for(let y1=S1.length-1;y1>=0;y1--)S1[y1].messageStatusByte>=128&&S1[y1].messageStatusByte<240&&(S1[y1].messageStatusByte&15)===x0&&S1.splice(y1,1)})};c.forEach(x0=>{let k0=x0%16,S1=x0-k0,e2=o.midiPortChannelOffsets.findIndex(y1=>y1===S1);Q(k0,e2),Y5(`%cRemoving channel %c${x0}%c!`,D1.info,D1.recognized,D1.info)});let i0=!1,m0="gs",f0=[],A0=[];o.tracks.forEach((x0,k0)=>{x0.forEach(S1=>{let e2=S1.messageStatusByte&240;e2===K3.controllerChange?f0.push({track:k0,message:S1,channel:S1.messageStatusByte&15}):e2===K3.programChange?A0.push({track:k0,message:S1,channel:S1.messageStatusByte&15}):S1.messageStatusByte===K3.systemExclusive&&(S1.messageData[0]===67&&S1.messageData[2]===76&&S1.messageData[5]===126&&S1.messageData[6]===0?(Y5("%cXG system on detected",D1.info),m0="xg",i0=!0):S1.messageData[0]===67&&S1.messageData[2]===76&&S1.messageData[3]===8&&S1.messageData[5]===3&&A0.push({track:k0,message:S1,channel:S1.messageData[4]}))})});let f1=(x0,k0,S1)=>o.tracks.reduce((e2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(x0)&&o.midiPorts[Y2]===k0){let T2;S1?T2=y1.findIndex(V2=>(V2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(V2=>V2.messageStatusByte>128&&V2.messageStatusByte<240&&(V2.messageStatusByte&15)===x0&&!(V2.messageStatusByte&K3.controllerChange===240&&(V2.messageData[0]===p3.resetAllControllers||V2.messageData[0]===p3.allNotesOff||V2.messageData[0]===p3.allSoundOff))),T2!==-1&&e2.push({index:T2,track:Y2})}return e2},[]),R=(x0,k0,S1)=>{let e2=f0.filter(y1=>y1.channel===x0&&y1.message.messageData[0]===S1&&o.midiPorts[y1.track]===k0);for(let y1=0;y1{let k0=x0.channel,S1=k0%16,e2=k0-S1,y1=o.midiPortChannelOffsets.findIndex(a0=>a0===e2),Y2=x0.controllerValue,T2=x0.controllerNumber;R(S1,y1,T2),Y5(`%cNo controller %c${T2}%c on channel %c${k0}%c found. Adding it!`,D1.info,D1.unrecognized,D1.info,D1.value,D1.info);let V2=f1(S1,y1,!0);if(V2.length===0){L4("Program change but no notes... ignoring!");return}let i3=V2.reduce((a0,y5)=>o.tracks[y5.track][y5.index].ticks{let k0=x0.channel%16,S1=x0.channel-k0,e2=o.midiPortChannelOffsets.findIndex($3=>$3===S1),y1=x0.isDrum?0:x0.bank,Y2=x0.program,T2=A0.filter($3=>o.midiPorts[$3.track]===e2&&$3.channel===k0);if(R(k0,e2,p3.bankSelect),R(k0,e2,p3.lsbForControl0BankSelect),(x0.isDrum||y1>0)&&!i0&&(o.tracks.forEach($3=>{for(let w6=0;w6<$3.length;w6++){let s6=$3[w6];if(s6.messageStatusByte===K3.systemExclusive)if(s6.messageData[0]===65&&s6.messageData[2]===66&&s6.messageData[6]===127){i0=!0,Y5("%cGS on detected!",D1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(Y5("%cGM/2 on detected, removing!",D1.info),$3.splice(w6,1),w6--)}}),!i0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,Hp(0)),Y5("%cGS on not detected. Adding it.",D1.info),i0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let V2=f1(k0,e2,S1>0);if(V2.length===0){L4("Program change but no notes... ignoring!");return}let i3=V2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==S1||!o.usedChannelsOnTrack[T2].has(k0))return;let V2=K3.noteOn|k0,i3=K3.noteOff|k0,r3=K3.polyPressure|k0;Y2.forEach(a0=>{a0.messageStatusByte!==V2&&a0.messageStatusByte!==i3&&a0.messageStatusByte!==r3||(a0.messageData[0]=Math.max(0,Math.min(127,a0.messageData[0]+e2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(x0.channel));if(Y2===void 0){L4(`Channel ${x0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|x0.channel%16,V2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(V2===-1){L4(`No notes on channel ${x0.channel} but transpose requested???`);continue}let i3=Y2[V2].ticks,r3=y1*64+64,a0=K3.controllerChange|x0.channel%16,y5=new Bi(i3,a0,new V3([p3.RPNMsb,0])),T3=new Bi(i3,a0,new V3([p3.RPNLsb,1])),$3=new Bi(i3,a0,new V3([p3.dataEntryMsb,r3])),w6=new Bi(i3,a0,new V3([p3.lsbForControl6DataEntry,0]));Y2.splice(V2,0,w6),Y2.splice(V2,0,$3),Y2.splice(V2,0,T3),Y2.splice(V2,0,y5)}}i4()}function fh(o,i){let l=[],c=[],u=[],Q=[];i.channelSnapshots.forEach((i0,m0)=>{if(i0.isMuted){c.push(m0);return}let f0=i0.channelTransposeKeyShift+i0.customControllers[kC.channelTransposeFine]/100;f0!==0&&l.push({channel:m0,keyShift:f0}),i0.lockPreset&&u.push({channel:m0,program:i0.program,bank:i0.bank,isDrum:i0.drumChannel}),i0.lockedControllers.forEach((A0,f1)=>{if(!A0||f1>127||f1===p3.bankSelect)return;let R=i0.midiControllers[f1]>>7;Q.push({channel:m0,controllerNumber:f1,controllerValue:R})})}),tD(o,u,Q,c,l)}var Tt={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"},TA="utf-8",iD="Created using SpessaSynth";function vy(o,i,l,c=0,u="Shift_JIS",Q={},i0=!0){if(ur("%cWriting the RMIDI File...",D1.info),Y5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${u}`,D1.info,D1.value,D1.info,D1.value),Y5("metadata",Q),Y5("Initial bank offset",i.bankOffset),i0){let Y2=function(){let r3=0,a0=1/0;return i.tracks.forEach((y5,T3)=>{e2[T3]>=y5.length||y5[e2[T3]].ticksa0>r3?a0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),a0=i.tracks[r3];if(e2[r3]>=a0.length){y1--;continue}let y5=a0[e2[r3]];e2[r3]++;let T3=i.midiPortChannelOffsets[T2[r3]];if(y5.messageStatusByte===K3.midiPort){T2[r3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?k0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?k0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(k0="gm",S1.push({tNum:r3,e:y5}));continue}let o9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+T3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+T3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank===128)?.program||0):l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-i.bankOffset),K4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(k0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===K4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(V6=>V6.program===y5.messageData[0])?.bank+c||c;s6.lastBank.messageData[1]=r4,Y5(`%cNo preset %c${K4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,D1.info,D1.recognized,D1.info)}else{let V6=(K4===128?k0==="xg"?127:0:o9)+c;s6.lastBank.messageData[1]=V6,Y5(`%cPreset %c${K4}:${y5.messageData[0]}%c exists. Changing bank to ${V6}.`,D1.info,D1.recognized,D1.info)}continue}y5.messageData[0]===p3.bankSelect&&(s6.hasBankSelect=!0,k0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,a0)=>{if(r3.hasBankSelect===!0)return;let y5=a0%16,T3=K3.programChange|y5,$3=Math.floor(a0/16)*16,w6=i.midiPortChannelOffsets.indexOf($3),s6=i.tracks.find((V6,We)=>i.midiPorts[We]===w6&&i.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let o9=s6.findIndex(V6=>V6.messageStatusByte===T3);if(o9===-1){let V6=s6.findIndex(zi=>zi.messageStatusByte>128&&zi.messageStatusByte<240&&(zi.messageStatusByte&15)===y5);if(V6===-1)return;let We=s6[V6].ticks,Yr=l.getPreset(0,0).program;s6.splice(V6,0,new Bi(We,K3.programChange|y5,new V3([Yr]))),o9=V6}Y5(`%cAdding bank select for %c${a0}`,D1.info,D1.recognized);let K4=s6[o9].ticks,r4=l.getPreset(0,r3.program)?.bank+c||c;s6.splice(o9,0,new Bi(K4,K3.controllerChange|y5,new V3([p3.bankSelect,r4])))}),k0!=="gs"&&k0!=="xg"){for(let a0 of S1)i.tracks[a0.tNum].splice(i.tracks[a0.tNum].indexOf(a0.e),1);let r3=0;i.tracks[0][0].messageStatusByte===K3.trackName&&r3++,i.tracks[0].splice(r3,0,Hp(0))}}let m0=new V3(LC(i).buffer),f0=[MA("INFO")],A0=new TextEncoder;if(f0.push(Ze(Tt.software,A0.encode("SpessaSynth"),!0)),Q.name!==void 0?(f0.push(Ze(Tt.name,A0.encode(Q.name),!0)),u=TA):f0.push(Ze(Tt.name,i.rawMidiName,!0)),Q.creationDate!==void 0)u=TA,f0.push(Ze(Tt.creationDate,A0.encode(Q.creationDate),!0));else{let k0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});f0.push(Ze(Tt.creationDate,MA(k0),!0))}if(Q.comment!==void 0&&(u=TA,f0.push(Ze(Tt.comment,A0.encode(Q.comment)))),Q.engineer!==void 0&&f0.push(Ze(Tt.engineer,A0.encode(Q.engineer),!0)),Q.album!==void 0&&(u=TA,f0.push(Ze(Tt.album,A0.encode(Q.album),!0))),Q.artist!==void 0&&(u=TA,f0.push(Ze(Tt.artist,A0.encode(Q.artist),!0))),Q.genre!==void 0&&(u=TA,f0.push(Ze(Tt.genre,A0.encode(Q.genre),!0))),Q.picture!==void 0&&f0.push(Ze(Tt.picture,new Uint8Array(Q.picture))),Q.copyright!==void 0)u=TA,f0.push(Ze(Tt.copyright,A0.encode(Q.copyright),!0));else{let k0=i.copyright.length>0?i.copyright:iD;f0.push(Ze(Tt.copyright,MA(k0)))}let f1=new V3(2);c7(f1,c,2),f0.push(Ze(Tt.bankOffset,f1)),Q.midiEncoding!==void 0&&(f0.push(Ze(Tt.midiEncoding,A0.encode(Q.midiEncoding))),u=TA),f0.push(Ze(Tt.encoding,MA(u)));let R=_n(f0),x0=_n([MA("RMID"),Ze("data",m0),Ze("LIST",R),o]);return Y5("%cFinished!",D1.info),i4(),Ze("RIFF",x0)}function Dm(o,i){let l=0;for(;o>0;){let c=i.tempoChanges.find(Q=>Q.ticks=128){this.MIDIout.send(c);return}break;case NA.songChange:let u=l[0];this.songIndex=l[1],this.midiData=u,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(m0=>m0[1](u)),l[2]===!0&&this.unpause();break;case NA.textEvent:let Q=l;this.onTextEvent&&this.onTextEvent(Q[0],Q[1]);break;case NA.timeChange:let i0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(m0=>m0[1](i0)),this._recalculateStartTime(i0),this.paused&&this._preservePlaybackState?this.pausedTime=i0:this.unpause();break;case NA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(m0=>m0[1]());break;case NA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case NA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}_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(oi.getMIDI,void 0)})}loadNewSongList(i,l=!0){this.pause(),this.midiData=ky,this.hasDummyData=!0,this.duration=99999,this._sendMessage(oi.loadNewSongList,[i,l]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),l===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage(oi.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){L4("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(oi.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(oi.play,i)}stop(){this._sendMessage(oi.stop)}};var _m=["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 Sy(o){return` `}function v$(o){return` @@ -75,11 +75,11 @@ var QC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>( `}function Jp(o){return` -`}function Ih(o,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=o,l.innerHTML=r,l}var e7={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Gy(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",o=>{this.seq.currentTime-=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",o=>{this.seq.currentTime+=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",o=>{this.seq.currentTime=o.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Uy(o=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let r=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=Tp(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((c,f)=>c+f.length,0));let l=0;for(let c of r)this.currentLyrics.set(c,l),l+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),o&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var nD=parseFloat(getComputedStyle(document.body).fontSize);function Py(){this.lyricsElement={};let o=document.createElement("div");o.classList.add("lyrics");let r=document.createElement("div");r.classList.add("lyrics_title_wrapper"),o.append(r),this.lyricsElement.titleWrapper=r;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),r.appendChild(l),this.lyricsElement.title=l;let c=document.createElement("select");_m.forEach(f1=>{let R=document.createElement("option");R.innerText=f1,R.value=f1,c.appendChild(R)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,r.appendChild(c);let f=document.createElement("p");f.classList.add("lyrics_text"),o.appendChild(f);let Q=document.createElement("span");Q.classList.add("lyrics_text_highlight"),f.appendChild(Q);let r0=document.createElement("span");r0.classList.add("lyrics_text_gray"),f.appendChild(r0);let m0=document.createElement("details"),f0=document.createElement("summary");this.locale.bindObjectProperty(f0,"textContent","locale.sequencerController.lyrics.otherText.title"),m0.appendChild(f0);let a0=document.createElement("div");a0.innerText="",m0.appendChild(a0),o.appendChild(m0),this.lyricsElement.text={highlight:Q,gray:r0,main:f,other:a0},this.lyricsElement.mainDiv=o,this.lyricsElement.selector=c,this.controls.appendChild(o),this.requiresTextUpdate=!0}function Oy(o){let r=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(o,""),r.innerText=o,this.lyricsElement.text.main.scrollTo(0,r.offsetHeight-nD*5)}function qy(){let o="";for(let r of this.rawOtherTextEvents)o+=`
${Object.keys(K3).find(l=>K3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=o}var Or=32,Hy="#ccc",Yy="#555",sD="#333",oD="#ddd",AD="Shift_JIS",Ts=class{constructor(r,l,c){this.iconColor=Hy,this.iconDisabledColor=Yy,this.controls=r,this.encoding=AD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=sD,this.iconDisabledColor=oD):(this.mode="dark",this.iconColor=Hy,this.iconDisabledColor=Yy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(r=!0){r&&this.seq.play(),this.playPause.innerHTML=v$(Or),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=Sy(Or),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(r,l=!1){let c=0;for(;;)try{return this.decoder.decode(r)}catch{c++,this.changeEncoding(_m[c]),this.encodingSelector.value=_m[c]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,c)=>{let f=this.decodeTextFix(l.buffer);switch(c){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:c,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=f,this.rawLyrics.push(...l),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[Tt.encoding]!==void 0,l.isEmbedded){let c=(m0,f0,a0,f1="")=>this.seq.midiData.RMIDInfo?.[m0]===void 0?f0:f1+a0.decode(this.seq.midiData.RMIDInfo?.[m0]).replace(/\0$/,""),f=new TextDecoder,Q=c(Tt.midiEncoding,this.encoding,f),r0=c(Tt.encoding,"utf-8",f);this.infoDecoder=new TextDecoder(r0),this.changeEncoding(Q)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(r){this.encoding=r,this.decoder=new TextDecoder(r),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(r)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=r,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=R=>{R.preventDefault();let x0=r.getBoundingClientRect(),k0=R.clientX-x0.left,S1=x0.width;this.seq.currentTime=k0/S1*this.seq.duration,c.innerHTML=v$(Or)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),c=Ih("Play/Pause",v$(Or));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let f=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=f;let Q=Ih("Previous song",Ly(Or));this.locale.bindObjectProperty(Q,"title","locale.sequencerController.previousSong"),Q.onclick=()=>this.switchToPreviousSong();let r0=Ih("Next song",_y(Or));this.locale.bindObjectProperty(r0,"title","locale.sequencerController.nextSong"),r0.onclick=()=>this.switchToNextSong();let m0=Ih("Loop this",by(Or));this.locale.bindObjectProperty(m0,"title","locale.sequencerController.loopThis");let f0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),m0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};m0.onclick=f0,this.loopButton=m0;let a0=Ih("Show lyrics",Dy(Or));this.locale.bindObjectProperty(a0,"title","locale.sequencerController.lyrics.show"),a0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let f1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),a0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};a0.onclick=f1,document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.playPause:R.preventDefault(),f();break;case e7.toggleLoop:R.preventDefault(),f0();break;case e7.toggleLyrics:R.preventDefault(),f1();break;default:break}}),l.appendChild(Q),l.appendChild(m0),l.appendChild(c),l.appendChild(a0),l.appendChild(r0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.seekBackwards:R.preventDefault(),this.seq.currentTime-=5,c.innerHTML=v$(Or);break;case e7.seekForwards:R.preventDefault(),this.seq.currentTime+=5,c.innerHTML=v$(Or);break;case e7.previousSong:this.switchToPreviousSong();break;case e7.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(R.key))){R.preventDefault();let x0=parseInt(R.key);0<=x0&&x0<=9&&(this.seq.currentTime=this.seq.duration*(x0/10),c.innerHTML=v$(Or))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=C$(this.seq.currentTime),l=C$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Ts.prototype.createNavigatorHandler=Gy;Ts.prototype.updateTitleAndMediaStatus=Uy;Ts.prototype.createLyrics=Py;Ts.prototype.setLyricsText=Oy;Ts.prototype.updateOtherTextEvents=qy;function Jy(){this.controllers.forEach(o=>{o.voiceMeter.hide(),o.pitchWheel.hide(),o.pan.hide(),o.expression.hide(),o.volume.hide(),o.mod.hide(),o.chorus.hide(),o.reverb.hide(),o.brightness.hide()})}function Vy(){this.controllers.forEach(o=>{o.voiceMeter.show(),o.pitchWheel.show(),o.pan.show(),o.expression.show(),o.volume.show(),o.mod.show(),o.chorus.show(),o.reverb.show(),o.brightness.show()})}function Ky(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(o=>{o.classList.toggle("synthui_button"),o.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(o=>{o.toggleMode(!0)}),this.controllers.forEach(o=>{o.voiceMeter.toggleMode(),o.pitchWheel.toggleMode(),o.pan.toggleMode(),o.expression.toggleMode(),o.volume.toggleMode(),o.mod.toggleMode(),o.chorus.toggleMode(),o.reverb.toggleMode(),o.brightness.toggleMode(),o.preset.toggleMode(),o.drumsToggle.classList.toggle("mute_button_light"),o.muteButton.classList.toggle("mute_button_light")})}var ur=class{constructor(r="none",l,c,f,Q=0,r0=100,m0=!1,f0=void 0,a0=void 0,f1=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",l+".title"),this.min=Q,this.max=r0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=a0,this.unlockCallback=f1,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),r!=="none"&&r!==""&&(this.div.style.borderColor=r),c.bindObjectProperty(this.div,"title",l+".description",f),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=r,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,m0){if(f0===void 0)throw new Error("No editable function given!");this.div.onmousedown=R=>{R.preventDefault(),R.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=R=>{if(!this.isActive)return;let x0=R.currentTarget.getBoundingClientRect(),k0=x0.left,S1=x0.width,e2=R.clientX-k0,y1=Math.max(0,Math.min(1,e2/S1));f0(y1*(r0-Q)+Q)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=R=>{this.div.onmousemove(R),this.isActive=!1},this.text.oncontextmenu=R=>{R.preventDefault()},this.div.onclick=R=>{R.preventDefault(),this.isActive=!0,this.div.onmousemove(R),this.isActive=!1},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(r=!1){r&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let r=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${r*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(r,l=!1){if(!(r===this.currentValue&&l===!1))if(this.currentValue=r,this.isShown){let c=Math.max(0,Math.min((r-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(r*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var zy=["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 MC=class{constructor(r,l,c,f,Q=void 0,r0=void 0){this.elements=r.map(m0=>({name:m0.name,program:m0.program,bank:m0.bank,stringified:`${m0.bank.toString().padStart(3,"0")}:${m0.program.toString().padStart(3,"0")} ${m0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",c+".description",f),this.locale=l,this.localePath=c,this.localeArgs=f,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=Q,this.selectionMenu=void 0,this.lockCallback=r0,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let r=document.createElement("div");r.classList.add("voice_selector_window");let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),r.appendChild(l);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),r.appendChild(c);let f=document.createElement("input");f.type="text",this.locale.bindObjectProperty(f,"placeholder",this.localePath+".searchPrompt"),c.appendChild(f),f.onkeydown=a0=>a0.stopPropagation();let Q=document.createElement("div");Q.innerHTML=this.locked?xm(t7):Yp(t7),this.locale.bindObjectProperty(Q,"title",V4+"channelController.presetReset.description",this.localeArgs),Q.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&Q.classList.add("voice_reset_light"),Q.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?Q.innerHTML=xm(t7):Q.innerHTML=Yp(t7)},c.appendChild(Q),this.presetLock=Q;let r0=document.createElement("div");r0.classList.add("voice_selector_table_wrapper"),r.appendChild(r0);let f0=this.generateTable(r0,this.elements).querySelector(".voice_selector_selected");f.oninput=a0=>{a0.stopPropagation();let f1=f.value,R=this.elements.filter(e2=>e2.stringified.search(new RegExp(f1,"i"))>=0);if(R.length===this.elements.length)return;r0.replaceChildren();let x0=this.generateTable(r0,R),k0=x0.querySelector(".voice_selector_selected");if(k0){f0=k0;return}let S1=x0.querySelector(".voice_selector_option");S1.classList.add("voice_selector_selected"),f0=S1},f.addEventListener("keydown",a0=>{switch(a0.key){case"Enter":let f1=f0.getAttribute("bank"),R=f0.getAttribute("program"),x0=`${f1}:${R}`;if(this.value===x0){this.hideSelectionMenu();return}this.editCallback(x0),this.locked=!0,this.presetLock.innerHTML=xm(t7),this.hideSelectionMenu();break;case"ArrowDown":let k0=f0.nextElementSibling;for(;k0;){if(k0.classList.contains("voice_selector_option")){f0.classList.remove("voice_selector_selected"),k0.classList.add("voice_selector_selected"),f0=k0;return}k0=k0.nextElementSibling}break;case"ArrowUp":let S1=f0.previousElementSibling;for(;S1;){if(S1.classList.contains("voice_selector_option")){f0.classList.remove("voice_selector_selected"),S1.classList.add("voice_selector_selected"),f0=S1;return}S1=S1.previousElementSibling}break}}),r.onclick=a0=>{a0.stopPropagation()},this.selectionMenu.appendChild(r),this.selectionMenu.onclick=a0=>{a0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,f.focus()}generateTable(r,l){let c=document.createElement("table");c.classList.add("voice_selector_table");let f=parseInt(this.value.split(":")[0]),Q=parseInt(this.value.split(":")[1]),r0=-20;for(let m0 of l){let f0=document.createElement("tr"),a0=m0.program;if(f0.classList.add("voice_selector_option"),f0.setAttribute("program",a0.toString()),f0.setAttribute("bank",m0.bank.toString()),a0===Q&&m0.bank===f&&(f0.classList.add("voice_selector_selected"),setTimeout(()=>{f0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),f0.onclick=()=>{let e2=`${m0.bank}:${a0}`;if(this.value===e2){this.hideSelectionMenu();return}this.editCallback(e2),this.locked=!0,this.presetLock.innerHTML=xm(t7),this.hideSelectionMenu()},a0!==r0&&(r0=a0,m0.bank!==128)){let e2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=zy[r0],e2.appendChild(y1),c.appendChild(e2)}let f1=`${m0.program.toString().padStart(3,"0")}`,R=`${m0.bank.toString().padStart(3,"0")}`,x0=document.createElement("td");x0.classList.add("voice_selector_preset_name"),x0.textContent=m0.name;let k0=document.createElement("td");x0.classList.add("voice_selector_preset_program"),k0.textContent=f1;let S1=document.createElement("td");x0.classList.add("voice_selector_preset_program"),S1.textContent=R,f0.appendChild(S1),f0.appendChild(k0),f0.appendChild(x0),c.appendChild(f0)}return r.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(r=this.elements){if(this.elements=r.map(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),this.elements.length>0){let l=this.elements[0],c=l.bank,f=parseInt(this.value.split(":")[1]),Q=f;this.elements.find(r0=>r0.program===f)===void 0&&(Q=l.program),this.mainButton.textContent=this.getString(`${c}:${Q}`)}}set(r){if(this.value=r,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],f=parseInt(this.value.split(":")[0]),Q=parseInt(this.value.split(":")[1]);for(let r0 of c.rows){if(r0.cells.length===1)continue;let m0=parseInt(r0.cells[0].textContent),f0=parseInt(r0.cells[1].textContent);m0===f&&f0===Q&&(r0.classList.add("voice_selector_selected"),r0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(r){let l=r.split(":"),c=parseInt(l[0]),f=parseInt(l[1]),Q=this.elements.find(r0=>r0.bank===c&&r0.program===f);return Q?c===128||this.elements.filter(r0=>r0.program===f&&r0.bank!==128).length<2?`${f}. ${Q.name}`:`${c}:${f} ${Q.name}`:""}};var t7=32;function Zy(o){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new ur(this.channelColors[o%this.channelColors.length],V4+"channelController.voiceMeter",this.locale,[o+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let c=new ur(this.channelColors[o%this.channelColors.length],V4+"channelController.pitchBendMeter",this.locale,[o+1],-8192,8191,!0,T2=>{let V2=c.isLocked;V2&&this.synth.lockController(o,B$+Mt.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(o,i3,r3),V2&&this.synth.lockController(o,B$+Mt.pitchWheel,!0)},()=>this.synth.lockController(o,B$+Mt.pitchWheel,!0),()=>this.synth.lockController(o,B$+Mt.pitchWheel,!1));c.update(0),r.appendChild(c.div);let f=(T2,V2,i3)=>{i3.isLocked?(this.synth.lockController(o,T2,!1),this.synth.controllerChange(o,T2,V2),this.synth.lockController(o,T2,!0)):this.synth.controllerChange(o,T2,V2)},Q=(T2,V2,i3)=>{let r3=new ur(this.channelColors[o%this.channelColors.length],V4+V2,this.locale,[o+1],0,127,!0,A0=>f(T2,Math.round(A0),r3),()=>this.synth.lockController(o,T2,!0),()=>this.synth.lockController(o,T2,!1));return r3.update(i3),r3},r0=Q(p3.pan,"channelController.panMeter",64);r.appendChild(r0.div);let m0=Q(p3.expressionController,"channelController.expressionMeter",127);r.appendChild(m0.div);let f0=Q(p3.mainVolume,"channelController.volumeMeter",100);r.appendChild(f0.div);let a0=Q(p3.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(a0.div);let f1=Q(p3.chorusDepth,"channelController.chorusMeter",0);r.appendChild(f1.div);let R=Q(p3.reverbDepth,"channelController.reverbMeter",0);r.appendChild(R.div);let x0=Q(p3.brightness,"channelController.filterMeter",64);r.appendChild(x0.div);let k0=new ur(this.channelColors[o%this.channelColors.length],V4+"channelController.transposeMeter",this.locale,[o+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(o,T2,!0),k0.update(T2)});k0.update(0),r.appendChild(k0.div);let S1=new MC([],this.locale,V4+"channelController.presetSelector",[o+1],async T2=>{let V2=T2.split(":");this.synth.lockController(o,ri,!1),this.synth.controllerChange(o,p3.bankSelect,parseInt(V2[0]),!0),this.synth.programChange(o,parseInt(V2[1]),!0),S1.mainButton.classList.add("locked_selector"),this.synth.lockController(o,ri,!0)},T2=>this.synth.lockController(o,ri,T2));r.appendChild(S1.mainButton);let e2=document.createElement("div");e2.innerHTML=dh(t7),this.locale.bindObjectProperty(e2,"title",V4+"channelController.soloButton.description",[o+1]),e2.classList.add("controller_element"),e2.classList.add("mute_button"),e2.onclick=()=>{if(this.soloChannels.has(o)?this.soloChannels.delete(o):this.soloChannels.add(o),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let T2=0;T2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let T2=0;T2{if(y1.hasAttribute("is_muted")){y1.removeAttribute("is_muted");let T2=this.soloChannels.size===0||this.soloChannels.has(o);this.synth.muteChannel(o,!T2),y1.innerHTML=Lm(t7)}else this.synth.muteChannel(o,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=Ry(t7)},r.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=o===Li?RC(t7):FC(t7),this.locale.bindObjectProperty(Y2,"title",V4+"channelController.drumToggleButton.description",[o+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{S1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(o,ri,!1),S1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(o,!this.synth.channelProperties[o].isDrum)},r.appendChild(Y2),{controller:r,voiceMeter:l,pitchWheel:c,pan:r0,expression:m0,volume:f0,mod:a0,chorus:f1,reverb:R,brightness:x0,preset:S1,drumsToggle:Y2,soloButton:e2,muteButton:y1,transpose:k0}}function Wy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r0;)r[0].parentNode.removeChild(r[0])}function Vp(o,r=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let c=o.getAttribute("min"),f=o.getAttribute("max"),Q=o.getAttribute("value"),r0=o.getAttribute("units"),m0=o.getAttribute("input_id"),f0=document.createElement("input");f0.classList.add("settings_slider"),f0.type="range",f0.id=m0,f0.min=c,f0.max=f,f0.value=Q;let a0;r&&(a0=document.createElement("span"),a0.textContent=Q+r0);let f1=document.createElement("div");f1.classList.add("settings_visual_wrapper");let R=document.createElement("div");R.classList.add("settings_slider_progress"),f1.appendChild(R);let x0=document.createElement("div");return x0.classList.add("settings_slider_thumb"),f1.appendChild(x0),f1.appendChild(f0),f0.addEventListener("input",()=>{let k0=parseInt(f1.style.getPropertyValue("--visual-width").replace("%","")),S1=Math.round((f0.value-f0.min)/(f0.max-f0.min)*100);Math.abs((k0-S1)/100)>.05?f1.classList.add("settings_slider_transition"):f1.classList.remove("settings_slider_transition"),f1.style.setProperty("--visual-width",`${S1}%`)}),f1.style.setProperty("--visual-width",`${(f0.value-f0.min)/(f0.max-f0.min)*100}%`),l.appendChild(f1),r&&l.appendChild(a0),l}function GA(o,r,l){if(r.textContent&&(o.textContent=r.textContent),r.translatePathTitle){if(!l)throw new Error("Translate path title provided but no locale provided.");l.bindObjectProperty(o,"textContent",r.translatePathTitle+".title"),l.bindObjectProperty(o,"title",r.translatePathTitle+".description")}}function Xy(o,r){switch(o.type){case"button":let l=document.createElement("button");return GA(l,o,r),k$(o,[l]),l;case"text":let c=document.createElement("p");return GA(c,o,r),k$(o,[c]),c;case"input":let f=document.createElement("div");f.classList.add("notification_input_wrapper");let Q=document.createElement("input");GA(Q,o,r),Q.addEventListener("keydown",Y2=>Y2.stopPropagation());let r0=document.createElement("label");return GA(r0,o,r),k$(o,[Q,r0]),f.append(r0),f.appendChild(Q),f;case"file":let m0=document.createElement("label");m0.classList.add("notification_input_wrapper");let f0=document.createElement("input");f0.type="file";let a0=document.createElement("label");a0.classList.add("notification_file_button"),GA(a0,o,r);let f1=document.createElement("label");return GA(f1,o,r),k$(o,[a0,f0,f1]),a0.appendChild(f0),m0.append(f1),m0.appendChild(a0),m0;case"progress":let R=document.createElement("div");R.classList.add("notification_progress_background");let x0=document.createElement("div");return x0.classList.add("notification_progress"),k$(o,[x0,R]),R.appendChild(x0),R;case"toggle":return aD(o,r);case"range":let k0=document.createElement("input");k0.type="range";let S1=document.createElement("label");k$(o,[k0,S1]),GA(S1,o,r);let e2=Vp(k0,!1),y1=document.createElement("div");return y1.classList.add("notification_slider_wrapper"),y1.appendChild(S1),y1.appendChild(e2),y1}}function k$(o,r){if(o.attributes)for(let[l,c]of Object.entries(o.attributes))for(let f of r)f.setAttribute(l,c);if(o.listeners)for(let[l,c]of Object.entries(o.listeners))for(let f of r)f.addEventListener(l,c)}function aD(o,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let c=document.createElement("label");GA(c,o,r);let f=document.createElement("input");f.type="checkbox",k$(o,[c,f]);let Q=document.createElement("div");Q.classList.add("notification_switch"),Q.appendChild(f);let r0=document.createElement("div");return r0.classList.add("notification_switch_slider"),Q.appendChild(r0),l.appendChild(c),l.appendChild(Q),l}var $D=13,lD=0,Fm={};function F8(o,r,l=$D,c=!0,f=void 0,Q=void 0,r0=void 0){let m0=document.createElement("div"),f0=lD++;m0.classList.add("notification"),m0.innerHTML=` +`}function Ih(o,i){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=o,l.innerHTML=i,l}var e7={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Gy(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",o=>{this.seq.currentTime-=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",o=>{this.seq.currentTime+=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",o=>{this.seq.currentTime=o.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Uy(o=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=Tp(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,u)=>c+u.length,0));let l=0;for(let c of i)this.currentLyrics.set(c,l),l+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),o&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var nD=parseFloat(getComputedStyle(document.body).fontSize);function Py(){this.lyricsElement={};let o=document.createElement("div");o.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),o.append(i),this.lyricsElement.titleWrapper=i;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),i.appendChild(l),this.lyricsElement.title=l;let c=document.createElement("select");_m.forEach(f1=>{let R=document.createElement("option");R.innerText=f1,R.value=f1,c.appendChild(R)}),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"),o.appendChild(u);let Q=document.createElement("span");Q.classList.add("lyrics_text_highlight"),u.appendChild(Q);let i0=document.createElement("span");i0.classList.add("lyrics_text_gray"),u.appendChild(i0);let m0=document.createElement("details"),f0=document.createElement("summary");this.locale.bindObjectProperty(f0,"textContent","locale.sequencerController.lyrics.otherText.title"),m0.appendChild(f0);let A0=document.createElement("div");A0.innerText="",m0.appendChild(A0),o.appendChild(m0),this.lyricsElement.text={highlight:Q,gray:i0,main:u,other:A0},this.lyricsElement.mainDiv=o,this.lyricsElement.selector=c,this.controls.appendChild(o),this.requiresTextUpdate=!0}function Oy(o){let i=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(o,""),i.innerText=o,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-nD*5)}function qy(){let o="";for(let i of this.rawOtherTextEvents)o+=`
${Object.keys(K3).find(l=>K3[l]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=o}var qr=32,Hy="#ccc",Yy="#555",sD="#333",oD="#ddd",AD="Shift_JIS",Ts=class{constructor(i,l,c){this.iconColor=Hy,this.iconDisabledColor=Yy,this.controls=i,this.encoding=AD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=sD,this.iconDisabledColor=oD):(this.mode="dark",this.iconColor=Hy,this.iconDisabledColor=Yy),!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=v$(qr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=Sy(qr),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,l=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(_m[c]),this.encodingSelector.value=_m[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,c)=>{let u=this.decodeTextFix(l.buffer);switch(c){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:c,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=u,this.rawLyrics.push(...l),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[Tt.encoding]!==void 0,l.isEmbedded){let c=(m0,f0,A0,f1="")=>this.seq.midiData.RMIDInfo?.[m0]===void 0?f0:f1+A0.decode(this.seq.midiData.RMIDInfo?.[m0]).replace(/\0$/,""),u=new TextDecoder,Q=c(Tt.midiEncoding,this.encoding,u),i0=c(Tt.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(i0),this.changeEncoding(Q)}},"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=R=>{R.preventDefault();let x0=i.getBoundingClientRect(),k0=R.clientX-x0.left,S1=x0.width;this.seq.currentTime=k0/S1*this.seq.duration,c.innerHTML=v$(qr)},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 l=document.createElement("div"),c=Ih("Play/Pause",v$(qr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=u;let Q=Ih("Previous song",Ly(qr));this.locale.bindObjectProperty(Q,"title","locale.sequencerController.previousSong"),Q.onclick=()=>this.switchToPreviousSong();let i0=Ih("Next song",_y(qr));this.locale.bindObjectProperty(i0,"title","locale.sequencerController.nextSong"),i0.onclick=()=>this.switchToNextSong();let m0=Ih("Loop this",by(qr));this.locale.bindObjectProperty(m0,"title","locale.sequencerController.loopThis");let f0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),m0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};m0.onclick=f0,this.loopButton=m0;let A0=Ih("Show lyrics",Dy(qr));this.locale.bindObjectProperty(A0,"title","locale.sequencerController.lyrics.show"),A0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let f1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),A0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};A0.onclick=f1,document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.playPause:R.preventDefault(),u();break;case e7.toggleLoop:R.preventDefault(),f0();break;case e7.toggleLyrics:R.preventDefault(),f1();break;default:break}}),l.appendChild(Q),l.appendChild(m0),l.appendChild(c),l.appendChild(A0),l.appendChild(i0),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.seekBackwards:R.preventDefault(),this.seq.currentTime-=5,c.innerHTML=v$(qr);break;case e7.seekForwards:R.preventDefault(),this.seq.currentTime+=5,c.innerHTML=v$(qr);break;case e7.previousSong:this.switchToPreviousSong();break;case e7.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(R.key))){R.preventDefault();let x0=parseInt(R.key);0<=x0&&x0<=9&&(this.seq.currentTime=this.seq.duration*(x0/10),c.innerHTML=v$(qr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=C$(this.seq.currentTime),l=C$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Ts.prototype.createNavigatorHandler=Gy;Ts.prototype.updateTitleAndMediaStatus=Uy;Ts.prototype.createLyrics=Py;Ts.prototype.setLyricsText=Oy;Ts.prototype.updateOtherTextEvents=qy;function Jy(){this.controllers.forEach(o=>{o.voiceMeter.hide(),o.pitchWheel.hide(),o.pan.hide(),o.expression.hide(),o.volume.hide(),o.mod.hide(),o.chorus.hide(),o.reverb.hide(),o.brightness.hide()})}function Vy(){this.controllers.forEach(o=>{o.voiceMeter.show(),o.pitchWheel.show(),o.pan.show(),o.expression.show(),o.volume.show(),o.mod.show(),o.chorus.show(),o.reverb.show(),o.brightness.show()})}function Ky(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(o=>{o.classList.toggle("synthui_button"),o.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(o=>{o.toggleMode(!0)}),this.controllers.forEach(o=>{o.voiceMeter.toggleMode(),o.pitchWheel.toggleMode(),o.pan.toggleMode(),o.expression.toggleMode(),o.volume.toggleMode(),o.mod.toggleMode(),o.chorus.toggleMode(),o.reverb.toggleMode(),o.brightness.toggleMode(),o.preset.toggleMode(),o.drumsToggle.classList.toggle("mute_button_light"),o.muteButton.classList.toggle("mute_button_light")})}var fr=class{constructor(i="none",l,c,u,Q=0,i0=100,m0=!1,f0=void 0,A0=void 0,f1=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",l+".title"),this.min=Q,this.max=i0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=A0,this.unlockCallback=f1,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",l+".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,m0){if(f0===void 0)throw new Error("No editable function given!");this.div.onmousedown=R=>{R.preventDefault(),R.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=R=>{if(!this.isActive)return;let x0=R.currentTarget.getBoundingClientRect(),k0=x0.left,S1=x0.width,e2=R.clientX-k0,y1=Math.max(0,Math.min(1,e2/S1));f0(y1*(i0-Q)+Q)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=R=>{this.div.onmousemove(R),this.isActive=!1},this.text.oncontextmenu=R=>{R.preventDefault()},this.div.onclick=R=>{R.preventDefault(),this.isActive=!0,this.div.onmousemove(R),this.isActive=!1,xi&&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,l=!1){if(!(i===this.currentValue&&l===!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 zy=["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 MC=class{constructor(i,l,c,u,Q=void 0,i0=void 0){this.elements=i.map(m0=>({name:m0.name,program:m0.program,bank:m0.bank,stringified:`${m0.bank.toString().padStart(3,"0")}:${m0.program.toString().padStart(3,"0")} ${m0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",c+".description",u),this.locale=l,this.localePath=c,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=Q,this.selectionMenu=void 0,this.lockCallback=i0,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 l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(l);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=A0=>A0.stopPropagation();let Q=document.createElement("div");Q.innerHTML=this.locked?xm(t7):Yp(t7),this.locale.bindObjectProperty(Q,"title",V4+"channelController.presetReset.description",this.localeArgs),Q.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&Q.classList.add("voice_reset_light"),Q.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?Q.innerHTML=xm(t7):Q.innerHTML=Yp(t7)},c.appendChild(Q),this.presetLock=Q;let i0=document.createElement("div");i0.classList.add("voice_selector_table_wrapper"),i.appendChild(i0);let f0=this.generateTable(i0,this.elements).querySelector(".voice_selector_selected");u.oninput=A0=>{A0.stopPropagation();let f1=u.value,R=this.elements.filter(e2=>e2.stringified.search(new RegExp(f1,"i"))>=0);if(R.length===this.elements.length)return;i0.replaceChildren();let x0=this.generateTable(i0,R),k0=x0.querySelector(".voice_selector_selected");if(k0){f0=k0;return}let S1=x0.querySelector(".voice_selector_option");S1.classList.add("voice_selector_selected"),f0=S1},u.addEventListener("keydown",A0=>{switch(A0.key){case"Enter":let f1=f0.getAttribute("bank"),R=f0.getAttribute("program"),x0=`${f1}:${R}`;if(this.value===x0){this.hideSelectionMenu();return}this.editCallback(x0),this.locked=!0,this.presetLock.innerHTML=xm(t7),this.hideSelectionMenu();break;case"ArrowDown":let k0=f0.nextElementSibling;for(;k0;){if(k0.classList.contains("voice_selector_option")){f0.classList.remove("voice_selector_selected"),k0.classList.add("voice_selector_selected"),f0=k0;return}k0=k0.nextElementSibling}break;case"ArrowUp":let S1=f0.previousElementSibling;for(;S1;){if(S1.classList.contains("voice_selector_option")){f0.classList.remove("voice_selector_selected"),S1.classList.add("voice_selector_selected"),f0=S1;return}S1=S1.previousElementSibling}break}}),i.onclick=A0=>{A0.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=A0=>{A0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,xi||u.focus()}generateTable(i,l){let c=document.createElement("table");c.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),Q=parseInt(this.value.split(":")[1]),i0=-20;for(let m0 of l){let f0=document.createElement("tr"),A0=m0.program;if(f0.classList.add("voice_selector_option"),f0.setAttribute("program",A0.toString()),f0.setAttribute("bank",m0.bank.toString()),A0===Q&&m0.bank===u&&(f0.classList.add("voice_selector_selected"),setTimeout(()=>{f0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),f0.onclick=()=>{let e2=`${m0.bank}:${A0}`;if(this.value===e2){this.hideSelectionMenu();return}this.editCallback(e2),this.locked=!0,this.presetLock.innerHTML=xm(t7),this.hideSelectionMenu()},A0!==i0&&(i0=A0,m0.bank!==128)){let e2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=zy[i0],e2.appendChild(y1),c.appendChild(e2)}let f1=`${m0.program.toString().padStart(3,"0")}`,R=`${m0.bank.toString().padStart(3,"0")}`,x0=document.createElement("td");x0.classList.add("voice_selector_preset_name"),x0.textContent=m0.name;let k0=document.createElement("td");x0.classList.add("voice_selector_preset_program"),k0.textContent=f1;let S1=document.createElement("td");x0.classList.add("voice_selector_preset_program"),S1.textContent=R,f0.appendChild(S1),f0.appendChild(k0),f0.appendChild(x0),c.appendChild(f0)}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(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),this.elements.length>0){let l=this.elements[0],c=l.bank,u=parseInt(this.value.split(":")[1]),Q=u;this.elements.find(i0=>i0.program===u)===void 0&&(Q=l.program),this.mainButton.textContent=this.getString(`${c}:${Q}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),Q=parseInt(this.value.split(":")[1]);for(let i0 of c.rows){if(i0.cells.length===1)continue;let m0=parseInt(i0.cells[0].textContent),f0=parseInt(i0.cells[1].textContent);m0===u&&f0===Q&&(i0.classList.add("voice_selector_selected"),i0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let l=i.split(":"),c=parseInt(l[0]),u=parseInt(l[1]),Q=this.elements.find(i0=>i0.bank===c&&i0.program===u);return Q?c===128||this.elements.filter(i0=>i0.program===u&&i0.bank!==128).length<2?`${u}. ${Q.name}`:`${c}:${u} ${Q.name}`:""}};var t7=32;function Zy(o){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let l=new fr(this.channelColors[o%this.channelColors.length],V4+"channelController.voiceMeter",this.locale,[o+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(l.div);let c=new fr(this.channelColors[o%this.channelColors.length],V4+"channelController.pitchBendMeter",this.locale,[o+1],-8192,8191,!0,T2=>{let V2=c.isLocked;V2&&this.synth.lockController(o,B$+Mt.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(o,i3,r3),V2&&this.synth.lockController(o,B$+Mt.pitchWheel,!0)},()=>this.synth.lockController(o,B$+Mt.pitchWheel,!0),()=>this.synth.lockController(o,B$+Mt.pitchWheel,!1));c.update(0),i.appendChild(c.div);let u=(T2,V2,i3)=>{i3.isLocked?(this.synth.lockController(o,T2,!1),this.synth.controllerChange(o,T2,V2),this.synth.lockController(o,T2,!0)):this.synth.controllerChange(o,T2,V2)},Q=(T2,V2,i3)=>{let r3=new fr(this.channelColors[o%this.channelColors.length],V4+V2,this.locale,[o+1],0,127,!0,a0=>u(T2,Math.round(a0),r3),()=>this.synth.lockController(o,T2,!0),()=>this.synth.lockController(o,T2,!1));return r3.update(i3),r3},i0=Q(p3.pan,"channelController.panMeter",64);i.appendChild(i0.div);let m0=Q(p3.expressionController,"channelController.expressionMeter",127);i.appendChild(m0.div);let f0=Q(p3.mainVolume,"channelController.volumeMeter",100);i.appendChild(f0.div);let A0=Q(p3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(A0.div);let f1=Q(p3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(f1.div);let R=Q(p3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(R.div);let x0=Q(p3.brightness,"channelController.filterMeter",64);i.appendChild(x0.div);let k0=new fr(this.channelColors[o%this.channelColors.length],V4+"channelController.transposeMeter",this.locale,[o+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(o,T2,!0),k0.update(T2)});k0.update(0),i.appendChild(k0.div);let S1=new MC([],this.locale,V4+"channelController.presetSelector",[o+1],async T2=>{let V2=T2.split(":");this.synth.lockController(o,ri,!1),this.synth.controllerChange(o,p3.bankSelect,parseInt(V2[0]),!0),this.synth.programChange(o,parseInt(V2[1]),!0),S1.mainButton.classList.add("locked_selector"),this.synth.lockController(o,ri,!0)},T2=>this.synth.lockController(o,ri,T2));i.appendChild(S1.mainButton);let e2=document.createElement("div");e2.innerHTML=dh(t7),this.locale.bindObjectProperty(e2,"title",V4+"channelController.soloButton.description",[o+1]),e2.classList.add("controller_element"),e2.classList.add("mute_button"),e2.onclick=()=>{if(this.soloChannels.has(o)?this.soloChannels.delete(o):this.soloChannels.add(o),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let T2=0;T2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let T2=0;T2{if(y1.hasAttribute("is_muted")){y1.removeAttribute("is_muted");let T2=this.soloChannels.size===0||this.soloChannels.has(o);this.synth.muteChannel(o,!T2),y1.innerHTML=Lm(t7)}else this.synth.muteChannel(o,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=Ry(t7)},i.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=o===Li?RC(t7):FC(t7),this.locale.bindObjectProperty(Y2,"title",V4+"channelController.drumToggleButton.description",[o+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{S1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(o,ri,!1),S1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(o,!this.synth.channelProperties[o].isDrum)},i.appendChild(Y2),{controller:i,voiceMeter:l,pitchWheel:c,pan:i0,expression:m0,volume:f0,mod:A0,chorus:f1,reverb:R,brightness:x0,preset:S1,drumsToggle:Y2,soloButton:e2,muteButton:y1,transpose:k0}}function Wy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function Vp(o,i=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let c=o.getAttribute("min"),u=o.getAttribute("max"),Q=o.getAttribute("value"),i0=o.getAttribute("units"),m0=o.getAttribute("input_id"),f0=document.createElement("input");f0.classList.add("settings_slider"),f0.type="range",f0.id=m0,f0.min=c,f0.max=u,f0.value=Q;let A0;i&&(A0=document.createElement("span"),A0.textContent=Q+i0);let f1=document.createElement("div");f1.classList.add("settings_visual_wrapper");let R=document.createElement("div");R.classList.add("settings_slider_progress"),f1.appendChild(R);let x0=document.createElement("div");return x0.classList.add("settings_slider_thumb"),f1.appendChild(x0),f1.appendChild(f0),f0.addEventListener("input",()=>{let k0=parseInt(f1.style.getPropertyValue("--visual-width").replace("%","")),S1=Math.round((f0.value-f0.min)/(f0.max-f0.min)*100);Math.abs((k0-S1)/100)>.05?f1.classList.add("settings_slider_transition"):f1.classList.remove("settings_slider_transition"),f1.style.setProperty("--visual-width",`${S1}%`)}),f1.style.setProperty("--visual-width",`${(f0.value-f0.min)/(f0.max-f0.min)*100}%`),l.appendChild(f1),i&&l.appendChild(A0),l}function GA(o,i,l){if(i.textContent&&(o.textContent=i.textContent),i.translatePathTitle){if(!l)throw new Error("Translate path title provided but no locale provided.");l.bindObjectProperty(o,"textContent",i.translatePathTitle+".title"),l.bindObjectProperty(o,"title",i.translatePathTitle+".description")}}function Xy(o,i){switch(o.type){case"button":let l=document.createElement("button");return GA(l,o,i),k$(o,[l]),l;case"text":let c=document.createElement("p");return GA(c,o,i),k$(o,[c]),c;case"input":let u=document.createElement("div");u.classList.add("notification_input_wrapper");let Q=document.createElement("input");GA(Q,o,i),Q.addEventListener("keydown",Y2=>Y2.stopPropagation());let i0=document.createElement("label");return GA(i0,o,i),k$(o,[Q,i0]),u.append(i0),u.appendChild(Q),u;case"file":let m0=document.createElement("label");m0.classList.add("notification_input_wrapper");let f0=document.createElement("input");f0.type="file";let A0=document.createElement("label");A0.classList.add("notification_file_button"),GA(A0,o,i);let f1=document.createElement("label");return GA(f1,o,i),k$(o,[A0,f0,f1]),A0.appendChild(f0),m0.append(f1),m0.appendChild(A0),m0;case"progress":let R=document.createElement("div");R.classList.add("notification_progress_background");let x0=document.createElement("div");return x0.classList.add("notification_progress"),k$(o,[x0,R]),R.appendChild(x0),R;case"toggle":return aD(o,i);case"range":let k0=document.createElement("input");k0.type="range";let S1=document.createElement("label");k$(o,[k0,S1]),GA(S1,o,i);let e2=Vp(k0,!1),y1=document.createElement("div");return y1.classList.add("notification_slider_wrapper"),y1.appendChild(S1),y1.appendChild(e2),y1}}function k$(o,i){if(o.attributes)for(let[l,c]of Object.entries(o.attributes))for(let u of i)u.setAttribute(l,c);if(o.listeners)for(let[l,c]of Object.entries(o.listeners))for(let u of i)u.addEventListener(l,c)}function aD(o,i){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let c=document.createElement("label");GA(c,o,i);let u=document.createElement("input");u.type="checkbox",k$(o,[c,u]);let Q=document.createElement("div");Q.classList.add("notification_switch"),Q.appendChild(u);let i0=document.createElement("div");return i0.classList.add("notification_switch_slider"),Q.appendChild(i0),l.appendChild(c),l.appendChild(Q),l}var $D=13,lD=0,Fm={};function F8(o,i,l=$D,c=!0,u=void 0,Q=void 0,i0=void 0){let m0=document.createElement("div"),f0=lD++;m0.classList.add("notification"),m0.innerHTML=`

${o}

\xD7 -
`;let a0=document.createElement("div");if(a0.classList.add("notification_content"),Q)for(let[R,x0]of Object.entries(Q))a0.style[R]=x0;m0.appendChild(a0);for(let R of r){let x0=Xy(R,f);R.onClick&&(x0.onclick=()=>R.onClick({div:m0,id:f0},x0)),a0.appendChild(x0)}c?m0.getElementsByClassName("close_btn")[0].onclick=()=>{We(f0)}:m0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{m0.classList.add("drop")},75);let f1=setTimeout(()=>{We(f0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(m0),Fm[f0]={div:m0,timeout:f1,onclose:r0},{div:m0,id:f0}}function We(o){if(Fm[o]===void 0)return;let r=Fm[o],l=r.div;clearTimeout(Fm[o].timeout),l.classList.remove("drop"),setTimeout(()=>l.parentElement.removeChild(l),500),r.onclose&&r.onclose(),Fm[o]=void 0}var Ai={nodesAmount:Gr.nodesAmount,defaultDelay:Gr.defaultDelay,delayVariation:Gr.delayVariation,stereoDifference:Gr.stereoDifference,oscillatorFrequency:Gr.oscillatorFrequency,oscillatorFrequencyVariation:Gr.oscillatorFrequencyVariation,oscillatorGain:Gr.oscillatorGain};function ew(o,r,l){let c=r+"effectsConfig.",f=F8(o.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:r+"disableCustomVibrato",onClick:(Q,r0)=>{l.disableGSNRPparams(),r0.parentNode.removeChild(r0)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async Q=>{if(Q.target.files.length===0)return;Q.stopImmediatePropagation(),Q.preventDefault();let r0=Q.target.parentElement.parentElement;r0.textContent=o.getLocaleString("locale.synthInit.genericLoading");let m0=await l.context.decodeAudioData(await Q.target.files[0].arrayBuffer());l.setReverbResponse(m0),r0.textContent=o.getLocaleString("locale.synthInit.done"),Y5("%cReverb response set!",D1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:Ai.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:Ai.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:Ai.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:Ai.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:Ai.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:Ai.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:Ai.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:Q=>{Ai.nodesAmount=parseFloat(Q.div.querySelector("input[setting='nodes']").value),Ai.defaultDelay=parseFloat(Q.div.querySelector("input[setting='delay']").value),Ai.delayVariation=parseFloat(Q.div.querySelector("input[setting='delay-var']").value),Ai.stereoDifference=parseFloat(Q.div.querySelector("input[setting='stereo']").value),Ai.oscillatorFrequency=parseFloat(Q.div.querySelector("input[setting='osc-freq']").value),Ai.defaultDelay=parseFloat(Q.div.querySelector("input[setting='delay']").value),Ai.oscillatorFrequencyVariation=parseFloat(Q.div.querySelector("input[setting='freq-var']").value),Ai.oscillatorGain=parseFloat(Q.div.querySelector("input[setting='osc-gain']").value),l.setChorusConfig(Ai),We(Q.id)}}],999999,!0,o);return f.div.onclick=Q=>Q.stopImmediatePropagation(),f}function tw(){let o=document.createElement("div");o.classList.add("controls_wrapper"),this.voiceMeter=new ur("",V4+"mainVoiceMeter",this.locale,[],0,Pp),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new ur("",V4+"mainVolumeMeter",this.locale,[],0,200,!0,a0=>{this.synth.setMainVolume(Math.round(a0)/100),this.volumeController.update(a0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new ur("",V4+"mainPanMeter",this.locale,[],-1,1,!0,a0=>{this.synth.setMasterPan(a0),this.panController.update(a0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new ur("",V4+"mainTransposeMeter",this.locale,[],-12,12,!0,a0=>{this.synth.transpose(Math.round(a0*2)/2),this.transposeController.update(Math.round(a0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let r=document.createElement("button");this.locale.bindObjectProperty(r,"textContent",V4+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",V4+"midiPanic.description"),r.classList.add("synthui_button"),r.classList.add("main_controller_element"),r.onclick=()=>this.synth.stopAll(!0);let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",V4+"systemReset.title"),this.locale.bindObjectProperty(l,"title",V4+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((a0,f1)=>{a0.pitchWheel.isLocked&&a0.pitchWheel.lockMeter(),a0.pan.isLocked&&a0.pan.lockMeter(),a0.expression.isLocked&&a0.expression.lockMeter(),a0.volume.isLocked&&a0.volume.lockMeter(),a0.mod.isLocked&&a0.mod.lockMeter(),a0.chorus.isLocked&&a0.chorus.lockMeter(),a0.reverb.isLocked&&a0.reverb.lockMeter(),a0.brightness.isLocked&&a0.brightness.lockMeter(),a0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(f1,ri,!1),a0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(f1,0,!0),a0.transpose.update(0),a0.soloButton.innerHTML=dh(t7),a0.muteButton.innerHTML=Lm(t7),this.synth.muteChannel(f1,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",V4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",V4+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let f=document.createElement("button");this.locale.bindObjectProperty(f,"textContent",V4+"effectsConfig.button.title"),this.locale.bindObjectProperty(f,"title",V4+"effectsConfig.button.description"),f.classList.add("synthui_button"),f.classList.add("main_controller_element"),f.onclick=()=>{if(this.effectsConfigWindow!==void 0){We(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=ew(this.locale,V4,this.synth).id};let Q=document.createElement("a");Q.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",Q.target="#",Q.classList.add("main_controller_element"),Q.classList.add("synthui_button"),this.locale.bindObjectProperty(Q,"textContent",V4+"helpButton.title"),this.locale.bindObjectProperty(Q,"title",V4+"helpButton.description");let r0=document.createElement("select");r0.classList.add("main_controller_element"),r0.classList.add("synthui_button"),this.locale.bindObjectProperty(r0,"title",V4+"interpolation.description");{let a0=document.createElement("option");a0.value="0",this.locale.bindObjectProperty(a0,"textContent",V4+"interpolation.linear"),r0.appendChild(a0);let f1=document.createElement("option");f1.value="1",this.locale.bindObjectProperty(f1,"textContent",V4+"interpolation.nearestNeighbor"),r0.appendChild(f1);let R=document.createElement("option");R.value="2",R.selected=!0,this.locale.bindObjectProperty(R,"textContent",V4+"interpolation.cubic"),r0.appendChild(R),r0.onchange=()=>{this.synth.setInterpolationType(parseInt(r0.value))}}let m0=document.createElement("div");m0.classList.add("synthui_controller"),this.uiDiv.appendChild(m0);let f0=document.createElement("button");this.locale.bindObjectProperty(f0,"textContent",V4+"toggleButton.title"),this.locale.bindObjectProperty(f0,"title",V4+"toggleButton.description"),f0.classList.add("synthui_button"),f0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},o.appendChild(this.volumeController.div),o.appendChild(this.panController.div),o.appendChild(this.transposeController.div),o.appendChild(r),o.appendChild(l),o.appendChild(c),o.appendChild(f),o.appendChild(Q),o.appendChild(r0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,c,f,f0,Q,r0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(f0),m0.appendChild(o),this.mainControllerDiv=m0,this.mainControllerDiv.onclick=a0=>a0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(We(this.effectsConfigWindow),this.effectsConfigWindow=void 0),m0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function iw(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",r=>{this.controllers[r.channel].preset.set(`${r.bank}:${r.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let r of this.controllers)r.pan.update(64),r.mod.update(0),r.chorus.update(0),r.pitchWheel.update(0),r.expression.update(127),r.volume.update(100),r.reverb.update(0),r.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,c=r.channel,f=r.controllerValue;switch(l){default:break;case p3.expressionController:this.controllers[c].expression.update(f);break;case p3.mainVolume:this.controllers[c].volume.update(f);break;case p3.pan:this.controllers[c].pan.update(f);break;case p3.modulationWheel:this.controllers[c].mod.update(f);break;case p3.chorusDepth:this.controllers[c].chorus.update(f);break;case p3.reverbDepth:this.controllers[c].reverb.update(f);break;case p3.brightness:this.controllers[c].brightness.update(f)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",r=>{let l=r.MSB<<7|r.LSB;this.controllers[r.channel].pitchWheel.update(l-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",r=>{this.controllers[r.channel].drumsToggle.innerHTML=r.isDrumChannel?RC(32):FC(32),this.controllers[r.channel].preset.reload(r.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let r=this.createChannelController(this.controllers.length);this.controllers.push(r),o.appendChild(r.controller),this.hideControllers()})}var V4="locale.synthesizerController.",qr=class{constructor(r,l,c){this.channelColors=r;let f=l;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),f.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectSynth(r){this.synth=r,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case e7.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case e7.settingsShow:this.isShown=!0,this.toggleVisibility();break;case e7.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case e7.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let r=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(r.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{r.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(We(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),r.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{r.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((r,l)=>{let c=this.synth.channelProperties[l].voicesAmount;r.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?r.controller.classList.add("no_voices"):r.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",r=>{let l=r;this.instrumentList=l.filter(c=>c.bank!==128).sort((c,f)=>c.program===f.program?c.bank-f.bank:c.program-f.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=l.filter(c=>c.bank===128).sort((c,f)=>c.program-f.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,f)=>{let Q=this.synth.channelProperties[f].isDrum?this.percussionList:this.instrumentList;c.preset.reload(Q),c.preset.set(`${Q[0].bank}:${Q[0].program}`)})})}};qr.prototype.hideControllers=Jy;qr.prototype.showControllers=Vy;qr.prototype.toggleDarkMode=Ky;qr.prototype.createChannelController=Zy;qr.prototype.createChannelControllers=Wy;qr.prototype.createMainSynthController=tw;qr.prototype.setEventListeners=iw;var Mm=null,TC=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Mm,this.selectedOutput=Mm,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,Y5("%cMIDI handler created!",D1.recognized),!0}catch(r){return L4("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return L4("Web MIDI Api not supported!",D1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),Y5(`%cPlaying MIDI to %c${r.name}`,D1.info,D1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=Mm,r.connectMidiOutput(void 0),Y5("%cDisconnected from MIDI out.",D1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=c=>{l.sendMessage(c.data)},Y5(`%cListening for messages on %c${r.name}`,D1.info,D1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=Mm,r.onmidimessage=void 0,Y5(`%cDisconnected from %c${r.name}`,D1.info,D1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Mm;for(let r of this.inputs)r[1].onmidimessage=void 0}};var NC=class{constructor(r){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let c=l.data.split(",");if(c[0]!=="midi")return;c.shift();let f=c.map(Q=>parseInt(Q,16));r.sendMessage(f)}),Y5("%cWeb MIDI Link handler created!",D1.recognized)}};var UA="midi range";function rw(o,r,l){let c=0,f=this.htmlControls.keyboard,Q=()=>{let r0=document.createElement("option");r0.value=c.toString(),this.locale.bindObjectProperty(r0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]),r0.style.background=r.channelColors[c%r.channelColors.length],r0.style.color="rgb(0, 0, 0)",f.channelSelector.appendChild(r0),c++};for(let r0=0;r0{o.selectChannel(parseInt(f.channelSelector.value))},f.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{f.sizeSelector.value===UA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},600);return}f.sizeSelector.value===UA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},this.addSequencer=r0=>{r0.addOnSongChangeEvent(m0=>{this.autoKeyRange&&(o.keyRange=m0.keyRange,l.keyRange=m0.keyRange),m0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{Q()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",r0=>{r0.userCalled&&(o.selectChannel(r0.channel),f.channelSelector.value=r0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",r0=>{if(r0.isMuted&&r0.channel===o.channel){let m0=0;for(;r.synth.channelProperties[m0].isMuted;)m0++;m0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{o.toggleMode(),this._saveSettings()},600);return}o.toggleMode(),this._saveSettings()},f.showSelector.onclick=()=>{o.shown=!o.shown,this._saveSettings()}}var nw=` + `;let A0=document.createElement("div");if(A0.classList.add("notification_content"),Q)for(let[R,x0]of Object.entries(Q))A0.style[R]=x0;m0.appendChild(A0);for(let R of i){let x0=Xy(R,u);R.onClick&&(x0.onclick=()=>R.onClick({div:m0,id:f0},x0)),A0.appendChild(x0)}c?m0.getElementsByClassName("close_btn")[0].onclick=()=>{y8(f0)}:m0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{m0.classList.add("drop")},75);let f1=setTimeout(()=>{y8(f0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(m0),Fm[f0]={div:m0,timeout:f1,onclose:i0},{div:m0,id:f0}}function y8(o){if(Fm[o]===void 0)return;let i=Fm[o],l=i.div;clearTimeout(Fm[o].timeout),l.classList.remove("drop"),setTimeout(()=>l.parentElement.removeChild(l),500),i.onclose&&i.onclose(),Fm[o]=void 0}var Ai={nodesAmount:Ur.nodesAmount,defaultDelay:Ur.defaultDelay,delayVariation:Ur.delayVariation,stereoDifference:Ur.stereoDifference,oscillatorFrequency:Ur.oscillatorFrequency,oscillatorFrequencyVariation:Ur.oscillatorFrequencyVariation,oscillatorGain:Ur.oscillatorGain};function ew(o,i,l){let c=i+"effectsConfig.",u=F8(o.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(Q,i0)=>{l.disableGSNRPparams(),i0.parentNode.removeChild(i0)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async Q=>{if(Q.target.files.length===0)return;Q.stopImmediatePropagation(),Q.preventDefault();let i0=Q.target.parentElement.parentElement;i0.textContent=o.getLocaleString("locale.synthInit.genericLoading");let m0=await l.context.decodeAudioData(await Q.target.files[0].arrayBuffer());l.setReverbResponse(m0),i0.textContent=o.getLocaleString("locale.synthInit.done"),Y5("%cReverb response set!",D1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:Ai.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:Ai.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:Ai.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:Ai.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:Ai.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:Ai.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:Ai.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:Q=>{Ai.nodesAmount=parseFloat(Q.div.querySelector("input[setting='nodes']").value),Ai.defaultDelay=parseFloat(Q.div.querySelector("input[setting='delay']").value),Ai.delayVariation=parseFloat(Q.div.querySelector("input[setting='delay-var']").value),Ai.stereoDifference=parseFloat(Q.div.querySelector("input[setting='stereo']").value),Ai.oscillatorFrequency=parseFloat(Q.div.querySelector("input[setting='osc-freq']").value),Ai.defaultDelay=parseFloat(Q.div.querySelector("input[setting='delay']").value),Ai.oscillatorFrequencyVariation=parseFloat(Q.div.querySelector("input[setting='freq-var']").value),Ai.oscillatorGain=parseFloat(Q.div.querySelector("input[setting='osc-gain']").value),l.setChorusConfig(Ai)}}],999999,!0,o);return u.div.onclick=Q=>Q.stopImmediatePropagation(),u}function tw(){let o=document.createElement("div");o.classList.add("controls_wrapper"),this.voiceMeter=new fr("",V4+"mainVoiceMeter",this.locale,[],0,Pp),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new fr("",V4+"mainVolumeMeter",this.locale,[],0,200,!0,A0=>{this.synth.setMainVolume(Math.round(A0)/100),this.volumeController.update(A0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new fr("",V4+"mainPanMeter",this.locale,[],-1,1,!0,A0=>{this.synth.setMasterPan(A0),this.panController.update(A0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new fr("",V4+"mainTransposeMeter",this.locale,[],-12,12,!0,A0=>{this.synth.transpose(Math.round(A0*2)/2),this.transposeController.update(Math.round(A0*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",V4+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",V4+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",V4+"systemReset.title"),this.locale.bindObjectProperty(l,"title",V4+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((A0,f1)=>{A0.pitchWheel.isLocked&&A0.pitchWheel.lockMeter(),A0.pan.isLocked&&A0.pan.lockMeter(),A0.expression.isLocked&&A0.expression.lockMeter(),A0.volume.isLocked&&A0.volume.lockMeter(),A0.mod.isLocked&&A0.mod.lockMeter(),A0.chorus.isLocked&&A0.chorus.lockMeter(),A0.reverb.isLocked&&A0.reverb.lockMeter(),A0.brightness.isLocked&&A0.brightness.lockMeter(),A0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(f1,ri,!1),A0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(f1,0,!0),A0.transpose.update(0),A0.soloButton.innerHTML=dh(t7),A0.muteButton.innerHTML=Lm(t7),this.synth.muteChannel(f1,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",V4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",V4+"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",V4+"effectsConfig.button.title"),this.locale.bindObjectProperty(u,"title",V4+"effectsConfig.button.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{if(this.effectsConfigWindow!==void 0){y8(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=ew(this.locale,V4,this.synth).id};let Q=document.createElement("a");Q.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",Q.target="#",Q.classList.add("main_controller_element"),Q.classList.add("synthui_button"),this.locale.bindObjectProperty(Q,"textContent",V4+"helpButton.title"),this.locale.bindObjectProperty(Q,"title",V4+"helpButton.description");let i0=document.createElement("select");i0.classList.add("main_controller_element"),i0.classList.add("synthui_button"),this.locale.bindObjectProperty(i0,"title",V4+"interpolation.description");{let A0=document.createElement("option");A0.value="0",this.locale.bindObjectProperty(A0,"textContent",V4+"interpolation.linear"),i0.appendChild(A0);let f1=document.createElement("option");f1.value="1",this.locale.bindObjectProperty(f1,"textContent",V4+"interpolation.nearestNeighbor"),i0.appendChild(f1);let R=document.createElement("option");R.value="2",R.selected=!0,this.locale.bindObjectProperty(R,"textContent",V4+"interpolation.cubic"),i0.appendChild(R),i0.onchange=()=>{this.synth.setInterpolationType(parseInt(i0.value))}}let m0=document.createElement("div");m0.classList.add("synthui_controller"),this.uiDiv.appendChild(m0);let f0=document.createElement("button");this.locale.bindObjectProperty(f0,"textContent",V4+"toggleButton.title"),this.locale.bindObjectProperty(f0,"title",V4+"toggleButton.description"),f0.classList.add("synthui_button"),f0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},o.appendChild(this.volumeController.div),o.appendChild(this.panController.div),o.appendChild(this.transposeController.div),o.appendChild(i),o.appendChild(l),o.appendChild(c),o.appendChild(u),o.appendChild(Q),o.appendChild(i0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,l,c,u,f0,Q,i0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(f0),m0.appendChild(o),this.mainControllerDiv=m0,this.mainControllerDiv.onclick=A0=>A0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(y8(this.effectsConfigWindow),this.effectsConfigWindow=void 0),m0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function iw(){let o=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 l=i.controllerNumber,c=i.channel,u=i.controllerValue;switch(l){default:break;case p3.expressionController:this.controllers[c].expression.update(u);break;case p3.mainVolume:this.controllers[c].volume.update(u);break;case p3.pan:this.controllers[c].pan.update(u);break;case p3.modulationWheel:this.controllers[c].mod.update(u);break;case p3.chorusDepth:this.controllers[c].chorus.update(u);break;case p3.reverbDepth:this.controllers[c].reverb.update(u);break;case p3.brightness:this.controllers[c].brightness.update(u)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let l=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(l-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?RC(32):FC(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),o.appendChild(i.controller),this.hideControllers()})}var V4="locale.synthesizerController.",Hr=class{constructor(i,l,c){this.channelColors=i;let u=l;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}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case e7.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case e7.settingsShow:this.isShown=!0,this.toggleVisibility();break;case e7.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case e7.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let 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&&(y8(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,l)=>{let c=this.synth.channelProperties[l].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 l=i;this.instrumentList=l.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=l.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 Q=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;c.preset.reload(Q),c.preset.set(`${Q[0].bank}:${Q[0].program}`)})})}};Hr.prototype.hideControllers=Jy;Hr.prototype.showControllers=Vy;Hr.prototype.toggleDarkMode=Ky;Hr.prototype.createChannelController=Zy;Hr.prototype.createChannelControllers=Wy;Hr.prototype.createMainSynthController=tw;Hr.prototype.setEventListeners=iw;var Mm=null,TC=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Mm,this.selectedOutput=Mm,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,Y5("%cMIDI handler created!",D1.recognized),!0}catch(i){return L4("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return L4("Web MIDI Api not supported!",D1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,l){this.selectedOutput=i,l.connectMidiOutput(i),Y5(`%cPlaying MIDI to %c${i.name}`,D1.info,D1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Mm,i.connectMidiOutput(void 0),Y5("%cDisconnected from MIDI out.",D1.info)}connectDeviceToSynth(i,l){this.selectedInput=i,i.onmidimessage=c=>{l.sendMessage(c.data)},Y5(`%cListening for messages on %c${i.name}`,D1.info,D1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Mm,i.onmidimessage=void 0,Y5(`%cDisconnected from %c${i.name}`,D1.info,D1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Mm;for(let i of this.inputs)i[1].onmidimessage=void 0}};var NC=class{constructor(i){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let c=l.data.split(",");if(c[0]!=="midi")return;c.shift();let u=c.map(Q=>parseInt(Q,16));i.sendMessage(u)}),Y5("%cWeb MIDI Link handler created!",D1.recognized)}};var UA="midi range";function rw(o,i,l){let c=0,u=this.htmlControls.keyboard,Q=()=>{let i0=document.createElement("option");i0.value=c.toString(),this.locale.bindObjectProperty(i0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]),i0.style.background=i.channelColors[c%i.channelColors.length],i0.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(i0),c++};for(let i0=0;i0{o.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===UA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[u.sizeSelector.value],l.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},600);return}u.sizeSelector.value===UA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[u.sizeSelector.value],l.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},this.addSequencer=i0=>{i0.addOnSongChangeEvent(m0=>{this.autoKeyRange&&(o.keyRange=m0.keyRange,l.keyRange=m0.keyRange),m0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{Q()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",i0=>{i0.userCalled&&(o.selectChannel(i0.channel),u.channelSelector.value=i0.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",i0=>{if(i0.isMuted&&i0.channel===o.channel){let m0=0;for(;i.synth.channelProperties[m0].isMuted;)m0++;m0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{o.toggleMode(),this._saveSettings()},600);return}o.toggleMode(),this._saveSettings()},u.showSelector.onclick=()=>{o.shown=!o.shown,this._saveSettings()}}var nw=`

@@ -164,7 +164,7 @@ var QC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(
@@ -197,6 +197,7 @@ var QC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>( @@ -209,7 +210,7 @@ var QC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(
-`;async function sw(){let o=await window.savedSettings;if(!o.interface)return;Y5("Loading saved settings...",o);let r=this.htmlControls.renderer,l=this.renderer,c=o.renderer;l.noteFallingTimeMs=c.noteFallingTimeMs,r.noteTimeSlider.value=c.noteFallingTimeMs,r.noteTimeSlider.dispatchEvent(new Event("input")),Ln(r.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,r.analyserThicknessSlider.value=c.waveformThickness,r.analyserThicknessSlider.dispatchEvent(new Event("input")),l.lineThickness=c.waveformThickness,Ln(r.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let f=c.sampleSize;r.analyserFftSlider.value=Math.log2(f),r.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=f,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(f)+2)),l.updateFftSize(),Ln(r.analyserFftSlider).innerText=`${f}`,l.waveMultiplier=c.amplifier,r.waveMultiplierSlizer.value=c.amplifier,r.waveMultiplierSlizer.dispatchEvent(new Event("input")),Ln(r.waveMultiplierSlizer).innerText=c.amplifier.toString();let Q=this.htmlControls.renderer;l.renderAnalysers=c.renderWaveforms,Q.analyserToggler.checked=c.renderWaveforms,l.renderNotes=c.renderNotes,Q.noteToggler.checked=c.renderNotes,l.drawActiveNotes=c.drawActiveNotes,Q.activeNoteToggler.checked=c.drawActiveNotes,l.showVisualPitch=c.showVisualPitch,Q.visualPitchToggler.checked=c.showVisualPitch,l.stabilizeWaveforms=c.stabilizeWaveforms,Q.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,l.keyRange=c.keyRange;let r0=this.htmlControls.keyboard,m0=this.midiKeyboard,f0=o.keyboard;m0.setKeyRange(f0.keyRange,!1),f0.autoRange?(r0.sizeSelector.value=UA,this.autoKeyRange=!0):(this.autoKeyRange=!1,r0.sizeSelector.value=Object.keys(this.keyboardSizes).find(a0=>this.keyboardSizes[a0].min===f0.keyRange.min&&this.keyboardSizes[a0].max===f0.keyRange.max)),f0.mode==="dark"&&(m0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),f0.show===!1&&(m0.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(o.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=o.interface.language},100),o.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=o.interface.layout||"downwards",this._changeLayout(o.interface.layout||"downwards")}function ow(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Aw(){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===UA,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 aw(){let o=this.htmlControls.interface.themeSelector;o.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let r=this.htmlControls.interface.languageSelector;for(let[c,f]of Object.entries(this.locales)){let Q=document.createElement("option");Q.value=c,Q.textContent=f.localeName,r.appendChild(Q)}r.onchange=()=>{this.locale.changeGlobalLocale(r.value),this._saveSettings()};let l=this.htmlControls.interface.layoutSelector;l.onchange=()=>{this._changeLayout(l.value),this._saveSettings(),l.blur()}}function $w(o){let r=document.getElementById("keyboard_canvas_wrapper"),l=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(o){case"downwards":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":r.classList.add("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":r.classList.remove("upwards"),r.classList.add("left_to_right"),r.classList.remove("right_to_left"),l.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.add("right_to_left"),l.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var GC={start:"#101010",end:"#212121"},UC={start:"#bbb",end:"#f0f0f0"},lw="#eee",cw="#333",PC={start:"#222",end:"#333"},OC={start:"#ccc",end:"#fff"},xn=.2;function gw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let o=document.styleSheets[0].cssRules;for(let r of o)if(r.selectorText==="*"){this.mode==="dark"?(Rn(cw,lw,xn,r,"--font-color"),Rn(OC.start,PC.start,xn,r,"--top-buttons-color-start"),Rn(OC.end,PC.end,xn,r,"--top-buttons-color-end"),Rn(UC.start,GC.start,xn,r,"--top-color-start"),Rn(UC.end,GC.end,xn,r,"--top-color-end")):(Rn(lw,cw,xn,r,"--font-color"),Rn(PC.start,OC.start,xn,r,"--top-buttons-color-start"),Rn(PC.end,OC.end,xn,r,"--top-buttons-color-end"),Rn(GC.start,UC.start,xn,r,"--top-color-start"),Rn(GC.end,UC.end,xn,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Eh={};function Rn(o,r,l,c,f){Eh[f]&&(clearInterval(Eh[f]),Eh[f]=void 0);function Q(R){R.length===4&&(R=`#${R[1]}${R[1]}${R[2]}${R[2]}${R[3]}${R[3]}`);let x0=parseInt(R.slice(1),16);return{r:x0>>16&255,g:x0>>8&255,b:x0&255}}function r0(R,x0,k0){return R+(x0-R)*k0}let m0=Q(o),f0=Q(r),a0=performance.now()/1e3;function f1(){let x0=performance.now()/1e3-a0,k0=Math.min(x0/l,1),S1=Math.round(r0(m0.r,f0.r,k0)),e2=Math.round(r0(m0.g,f0.g,k0)),y1=Math.round(r0(m0.b,f0.b,k0));c.style.setProperty(f,`rgb(${S1}, ${e2}, ${y1})`),k0>=1&&(clearInterval(Eh[f]),Eh[f]=void 0)}Eh[f]=setInterval(f1,1e3/60)}function hw(o){let r=this.htmlControls.renderer;r.noteTimeSlider.addEventListener("input",()=>{o.noteFallingTimeMs=r.noteTimeSlider.value,Ln(r.noteTimeSlider).innerText=`${r.noteTimeSlider.value}ms`}),r.noteTimeSlider.onchange=()=>{this._saveSettings()},r.analyserThicknessSlider.addEventListener("input",()=>{o.lineThickness=parseInt(r.analyserThicknessSlider.value),Ln(r.analyserThicknessSlider).innerText=`${r.analyserThicknessSlider.value}px`}),r.analyserThicknessSlider.onchange=()=>{this._saveSettings()},r.analyserFftSlider.addEventListener("input",()=>{let l=Math.pow(2,parseInt(r.analyserFftSlider.value));o.normalAnalyserFft=l,o.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(r.analyserFftSlider.value)+2)),o.updateFftSize(),Ln(r.analyserFftSlider).innerText=`${l}`}),r.analyserFftSlider.onchange=()=>{this._saveSettings()},r.waveMultiplierSlizer.addEventListener("input",()=>{o.waveMultiplier=parseInt(r.waveMultiplierSlizer.value),Ln(r.waveMultiplierSlizer).innerText=r.waveMultiplierSlizer.value}),r.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},r.analyserToggler.onclick=()=>{o.renderAnalysers=!o.renderAnalysers,this._saveSettings()},r.noteToggler.onclick=()=>{o.renderNotes=!o.renderNotes,this._saveSettings()},r.activeNoteToggler.onclick=()=>{o.drawActiveNotes=!o.drawActiveNotes,this._saveSettings()},r.visualPitchToggler.onclick=()=>{o.showVisualPitch=!o.showVisualPitch,this._saveSettings()},r.stabilizeWaveformsToggler.onclick=()=>{o.stabilizeWaveforms=!o.stabilizeWaveforms,this._saveSettings()}}function uw(o,r,l){o.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(o,l.synth),this._createMidiOutputHandler(o,r)):(_n||F8(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function fw(o,r){if(o.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let c of o.inputs){let f=document.createElement("option");f.value=c[0],f.innerText=c[1].name,l.appendChild(f)}l.onchange=()=>{l.value==="-1"?o.disconnectAllDevicesFromSynth():o.connectDeviceToSynth(o.inputs.get(l.value),r),this._saveSettings()}}function dw(o,r){if(!o.outputs){setTimeout(()=>{this._createMidiOutputHandler(o,r)},1e3);return}if(o.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let c of o.outputs){let f=document.createElement("option");f.value=c[0],f.innerText=c[1].name,l.appendChild(f)}l.onchange=()=>{r.seq&&(l.value==="-1"?o.disconnectSeqFromMIDI(r.seq):o.connectMIDIOutputToSeq(o.outputs.get(l.value),r.seq),this._saveSettings())}}var Iw={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 Ew={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 mw={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 Cw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Iw,keyboardSettings:Ew,midiSettings:mw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var 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 Bw={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 yw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:Bw,effectsConfig:Qw};var ww={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var vw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var kw={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:vw,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:Cw,synthesizerController:yw,sequencerController:ww};var Sw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var bw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var Dw={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 _w={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Sw,keyboardSettings:bw,midiSettings:Dw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var Lw={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 xw={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 Rw={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 Fw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:xw,effectsConfig:Rw};var Mw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Tw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Nw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Tw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Lw,settings:_w,synthesizerController:Fw,sequencerController:Mw};var Gw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Uw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var Pw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Ow={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Gw,keyboardSettings:Uw,midiSettings:Pw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var qw={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Hw={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var Yw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Hw};var Jw={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var Vw={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var Kw={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:Vw,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +`;async function sw(){let o=await window.savedSettings;if(!o.interface)return;Y5("Loading saved settings...",o);let i=this.htmlControls.renderer,l=this.renderer,c=o.renderer;l.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Ln(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),l.lineThickness=c.waveformThickness,Ln(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let u=c.sampleSize;i.analyserFftSlider.value=Math.log2(u),i.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=u,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(u)+2)),l.updateFftSize(),Ln(i.analyserFftSlider).innerText=`${u}`,l.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Ln(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let Q=this.htmlControls.renderer;l.renderAnalysers=c.renderWaveforms,Q.analyserToggler.checked=c.renderWaveforms,l.renderNotes=c.renderNotes,Q.noteToggler.checked=c.renderNotes,l.drawActiveNotes=c.drawActiveNotes,Q.activeNoteToggler.checked=c.drawActiveNotes,l.showVisualPitch=c.showVisualPitch,Q.visualPitchToggler.checked=c.showVisualPitch,l.stabilizeWaveforms=c.stabilizeWaveforms,Q.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,l.keyRange=c.keyRange;let i0=this.htmlControls.keyboard,m0=this.midiKeyboard,f0=o.keyboard;m0.setKeyRange(f0.keyRange,!1),f0.autoRange?(i0.sizeSelector.value=UA,this.autoKeyRange=!0):(this.autoKeyRange=!1,i0.sizeSelector.value=Object.keys(this.keyboardSizes).find(A0=>this.keyboardSizes[A0].min===f0.keyRange.min&&this.keyboardSizes[A0].max===f0.keyRange.max)),f0.mode==="dark"&&(m0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),f0.show===!1&&(m0.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(o.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=o.interface.language},100),o.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=o.interface.layout||"downwards",this._changeLayout(o.interface.layout||"downwards")}function ow(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Aw(){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===UA,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 aw(){let o=this.htmlControls.interface.themeSelector;o.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,u]of Object.entries(this.locales)){let Q=document.createElement("option");Q.value=c,Q.textContent=u.localeName,i.appendChild(Q)}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 l=this.htmlControls.interface.layoutSelector;l.onchange=()=>{this._changeLayout(l.value),this._saveSettings(),l.blur()}}function $w(o){let i=document.getElementById("keyboard_canvas_wrapper"),l=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(o){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),l.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"),l.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"),l.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"),l.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var GC={start:"#101010",end:"#212121"},UC={start:"#bbb",end:"#f0f0f0"},lw="#eee",cw="#333",PC={start:"#222",end:"#333"},OC={start:"#ccc",end:"#fff"},xn=.2;function gw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let o=document.styleSheets[0].cssRules;for(let i of o)if(i.selectorText==="*"){this.mode==="dark"?(Rn(cw,lw,xn,i,"--font-color"),Rn(OC.start,PC.start,xn,i,"--top-buttons-color-start"),Rn(OC.end,PC.end,xn,i,"--top-buttons-color-end"),Rn(UC.start,GC.start,xn,i,"--top-color-start"),Rn(UC.end,GC.end,xn,i,"--top-color-end")):(Rn(lw,cw,xn,i,"--font-color"),Rn(PC.start,OC.start,xn,i,"--top-buttons-color-start"),Rn(PC.end,OC.end,xn,i,"--top-buttons-color-end"),Rn(GC.start,UC.start,xn,i,"--top-color-start"),Rn(GC.end,UC.end,xn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Eh={};function Rn(o,i,l,c,u){Eh[u]&&(clearInterval(Eh[u]),Eh[u]=void 0);function Q(R){R.length===4&&(R=`#${R[1]}${R[1]}${R[2]}${R[2]}${R[3]}${R[3]}`);let x0=parseInt(R.slice(1),16);return{r:x0>>16&255,g:x0>>8&255,b:x0&255}}function i0(R,x0,k0){return R+(x0-R)*k0}let m0=Q(o),f0=Q(i),A0=performance.now()/1e3;function f1(){let x0=performance.now()/1e3-A0,k0=Math.min(x0/l,1),S1=Math.round(i0(m0.r,f0.r,k0)),e2=Math.round(i0(m0.g,f0.g,k0)),y1=Math.round(i0(m0.b,f0.b,k0));c.style.setProperty(u,`rgb(${S1}, ${e2}, ${y1})`),k0>=1&&(clearInterval(Eh[u]),Eh[u]=void 0)}Eh[u]=setInterval(f1,1e3/60)}function hw(o){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{o.noteFallingTimeMs=i.noteTimeSlider.value,Ln(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{o.lineThickness=parseInt(i.analyserThicknessSlider.value),Ln(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let l=Math.pow(2,parseInt(i.analyserFftSlider.value));o.normalAnalyserFft=l,o.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),o.updateFftSize(),Ln(i.analyserFftSlider).innerText=`${l}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{o.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Ln(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{o.renderAnalysers=!o.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{o.renderNotes=!o.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{o.drawActiveNotes=!o.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{o.showVisualPitch=!o.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{o.stabilizeWaveforms=!o.stabilizeWaveforms,this._saveSettings()}}function uw(o,i,l){o.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(o,l.synth),this._createMidiOutputHandler(o,i)):(xi||F8(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function fw(o,i){if(o.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let c of o.inputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[1].name,l.appendChild(u)}l.onchange=()=>{l.value==="-1"?o.disconnectAllDevicesFromSynth():o.connectDeviceToSynth(o.inputs.get(l.value),i),this._saveSettings()}}function dw(o,i){if(!o.outputs){setTimeout(()=>{this._createMidiOutputHandler(o,i)},1e3);return}if(o.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let c of o.outputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[1].name,l.appendChild(u)}l.onchange=()=>{i.seq&&(l.value==="-1"?o.disconnectSeqFromMIDI(i.seq):o.connectMIDIOutputToSeq(o.outputs.get(l.value),i.seq),this._saveSettings())}}var Iw={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 Ew={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 mw={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 Cw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Iw,keyboardSettings:Ew,midiSettings:mw,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"}}}};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 Bw={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 yw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:Bw,effectsConfig:Qw};var ww={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var vw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var kw={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:vw,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:Cw,synthesizerController:yw,sequencerController:ww};var Sw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var bw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var Dw={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 _w={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Sw,keyboardSettings:bw,midiSettings:Dw,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"}}}};var Lw={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 xw={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 Rw={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 Fw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:xw,effectsConfig:Rw};var Mw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Tw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Nw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Tw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Lw,settings:_w,synthesizerController:Fw,sequencerController:Mw};var Gw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Uw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var Pw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Ow={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Gw,keyboardSettings:Uw,midiSettings:Pw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var qw={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Hw={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var Yw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Hw};var Jw={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var Vw={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var Kw={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:Vw,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 \uFF08\u30A8\u30E9\u30FC\u306B\u3064\u3044\u3066\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`,chromeMobile:`SpessaSynth\u306FChrome Mobile\u3067\u306E\u52D5\u4F5C\u304C\u826F\u304F\u3042\u308A\u307E\u305B\u3093\u3002 @@ -220,7 +221,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 nv={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:rv,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:Xw,settings:jw,synthesizerController:tv,sequencerController:iv};var Kp="en",S$={en:kw,pl:Nw,ja:Kw,fr:nv};var cD=.2,Qi=class{addSequencer;constructor(r,l,c,f,Q,r0,m0,f0){this.mode="dark",this.autoKeyRange=!1,this.renderer=f,this.midiKeyboard=Q,this.midiDeviceHandler=r0,this.synthui=l,this.sequi=c,this.locale=f0,this.musicMode=m0,this.locales=S$,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 a0=document.createElement("div");a0.style.position="relative",a0.classList.add("seamless_button"),a0.classList.add("settings_button"),r.appendChild(a0);let f1=document.createElement("div");f1.classList.add("seamless_button"),this.locale.bindObjectProperty(f1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(f1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(f1);let R=document.createElement("div");R.classList.add("seamless_button"),this.locale.bindObjectProperty(R,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(R,"title","locale.hideTopBar.description"),r.appendChild(R);let x0=document.getElementsByClassName("show_top_button")[0];x0.innerHTML=Ty(20);let k0=document.createElement("span");this.locale.bindObjectProperty(k0,"innerText","locale.settings.toggleButton"),a0.appendChild(k0);let S1=document.createElement("div");S1.innerHTML=Fy(24),S1.classList.add("gear"),a0.appendChild(S1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,a0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),f1.onclick=this.toggleMusicPlayerMode.bind(this),R.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=nw,jy(this.mainDiv);for(let y1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(y1,"textContent",y1.getAttribute("translate-path"));for(let y1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Y2=y1.getAttribute("translate-path-title");this.locale.bindObjectProperty(y1,"textContent",Y2+".title"),this.locale.bindObjectProperty(y1,"title",Y2+".description")}this.getHtmlControls(),document.addEventListener("keydown",y1=>{switch(y1.key.toLowerCase()){case e7.settingsShow:this.setVisibility(!this.visible);break;case e7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(f,Q,r0,c,l)}):this.createHandlers(f,Q,r0,c,l),this.topPartVisible=!0;let e2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,V2=window.outerWidth,i3;i3=Y2===V2&&y1===T2,i3!==e2&&(e2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let r=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];r.style.display="",setTimeout(()=>{r.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let r=document.getElementsByClassName("top_part")[0];r.classList.add("top_part_hidden"),setTimeout(()=>{r.style.display="none"},200);let l=document.getElementsByClassName("show_top_button")[0];l.style.display="flex",setTimeout(()=>{l.classList.add("shown")},75),l.onclick=this.showTopPart.bind(this)}setVisibility(r){this.animationId&&clearTimeout(this.animationId),r?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},cD*1e3)),this.visible=r}createHandlers(r,l,c,f,Q){this._createRendererHandler(r),this._createMidiSettingsHandler(c,f,Q),this._createKeyboardHandler(l,Q,r),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};Qi.prototype._toggleDarkMode=gw;Qi.prototype._createInterfaceSettingsHandler=aw;Qi.prototype._changeLayout=$w;Qi.prototype._createRendererHandler=hw;Qi.prototype._createMidiSettingsHandler=uw;Qi.prototype._createMidiInputHandler=fw;Qi.prototype._createMidiOutputHandler=dw;Qi.prototype._createKeyboardHandler=rw;Qi.prototype._loadSettings=sw;Qi.prototype._serializeSettings=Aw;Qi.prototype._saveSettings=ow;var sv=.5,qC=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=` +(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var nv={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:rv,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:Xw,settings:jw,synthesizerController:tv,sequencerController:iv};var Kp="en",S$={en:kw,pl:Nw,ja:Kw,fr:nv};var cD=.2,Qi=class{addSequencer;constructor(i,l,c,u,Q,i0,m0,f0){this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=Q,this.midiDeviceHandler=i0,this.synthui=l,this.sequi=c,this.locale=f0,this.musicMode=m0,this.locales=S$,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 A0=document.createElement("div");A0.style.position="relative",A0.classList.add("seamless_button"),A0.classList.add("settings_button"),i.appendChild(A0);let f1=document.createElement("div");f1.classList.add("seamless_button"),this.locale.bindObjectProperty(f1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(f1,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(f1);let R=document.createElement("div");R.classList.add("seamless_button"),this.locale.bindObjectProperty(R,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(R,"title","locale.hideTopBar.description"),i.appendChild(R);let x0=document.getElementsByClassName("show_top_button")[0];x0.innerHTML=Ty(20);let k0=document.createElement("span");this.locale.bindObjectProperty(k0,"innerText","locale.settings.toggleButton"),A0.appendChild(k0);let S1=document.createElement("div");S1.innerHTML=Fy(24),S1.classList.add("gear"),A0.appendChild(S1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,A0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),f1.onclick=this.toggleMusicPlayerMode.bind(this),R.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=nw,jy(this.mainDiv);for(let y1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(y1,"textContent",y1.getAttribute("translate-path"));for(let y1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Y2=y1.getAttribute("translate-path-title");this.locale.bindObjectProperty(y1,"textContent",Y2+".title"),this.locale.bindObjectProperty(y1,"title",Y2+".description")}this.getHtmlControls(),document.addEventListener("keydown",y1=>{switch(y1.key.toLowerCase()){case e7.settingsShow:this.setVisibility(!this.visible);break;case e7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(u,Q,i0,c,l)}):this.createHandlers(u,Q,i0,c,l),this.topPartVisible=!0;let e2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,V2=window.outerWidth,i3;i3=Y2===V2&&y1===T2,i3!==e2&&(e2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let i=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.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 l=document.getElementsByClassName("show_top_button")[0];l.style.display="flex",setTimeout(()=>{l.classList.add("shown")},75),l.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"},cD*1e3)),this.visible=i}createHandlers(i,l,c,u,Q){this._createRendererHandler(i),this._createMidiSettingsHandler(c,u,Q),this._createKeyboardHandler(l,Q,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")}}}};Qi.prototype._toggleDarkMode=gw;Qi.prototype._createInterfaceSettingsHandler=aw;Qi.prototype._changeLayout=$w;Qi.prototype._createRendererHandler=hw;Qi.prototype._createMidiSettingsHandler=uw;Qi.prototype._createMidiInputHandler=fw;Qi.prototype._createMidiOutputHandler=dw;Qi.prototype._createKeyboardHandler=rw;Qi.prototype._loadSettings=sw;Qi.prototype._serializeSettings=Aw;Qi.prototype._saveSettings=ow;var sv=.5,qC=class{constructor(i,l){this.mainDiv=i,this.mainDiv.innerHTML=`
@@ -263,24 +264,24 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand

                 
- `;for(let c of this.mainDiv.querySelectorAll("*[translate-path]"))l.bindObjectProperty(c,"textContent",c.getAttribute("translate-path"));for(let c of this.mainDiv.querySelectorAll("*[translate-path-title]"))l.bindObjectProperty(c,"textContent",c.getAttribute("translate-path-title")+".title"),l.bindObjectProperty(c,"title",c.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=l}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(r){document.getElementById("player_info_title").textContent=r}connectSequencer(r){this.seq=r,this.seq.addOnSongChangeEvent(l=>{let c=l.copyright.replaceAll(` -`,""),f=(k0,S1,e2=!0)=>{let y1=document.getElementById(k0);if(S1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",S1.length>30&&e2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=S1,y1.appendChild(Y2)}else y1.textContent=S1;else y1.parentElement.classList.add("hidden")};f("player_info_detail",c),f("player_info_time",C$(this.seq.duration).time),f("player_info_file_name",l.fileName,!1);let Q=(k0,S1,e2,y1="")=>this.seq.midiData.RMIDInfo?.[k0]===void 0?S1:y1+e2.decode(this.seq.midiData.RMIDInfo?.[k0]).replace(/\0$/,""),r0=Q("IENC","ascii",new TextDecoder),m0=new TextDecoder(r0);f("player_info_album",Q("IPRD","",m0)),f("player_info_artist",Q("IART","",m0)),f("player_info_genre",Q("IGNR","",m0)),f("player_info_creation",Q("ICRD","",m0)+Q("ICRT","",m0,` -`)),f("player_info_comment",Q("ICMT","",m0));let f0=this.mainDiv.getElementsByTagName("svg")[0],a0=this.mainDiv.getElementsByTagName("img")[0],f1=document.getElementById("player_info_background_image");if(!l.isEmbedded){f0.style.display="",a0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){f0.style.display="",a0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}f0.style.display="none",a0.style.display="";let R=new Blob([l.RMIDInfo.IPIC.buffer]),x0=URL.createObjectURL(R);a0.src=x0,f1.style.setProperty("--bg-image",`url('${x0}')`)},"player-js-song-change")}setVisibility(r,l){if(r===this.visible)return;this.visible=r,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(r){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let f=l.clientHeight,Q=l.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${Q}px`,c.style.height=`${f}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},sv*1e3)}else{let f=c.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${f}px`,l.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},sv*1e3)}}};var HC=class{onLocaleChanged=[];constructor(r){this.locale=S$[r]||S$[Kp],this.fallbackLocale=S$[Kp],this.localeCode=r,this._boundObjectProperties=[]}getLocaleString(r,l=[]){let c=this._resolveLocalePath(r);return l.length>0?this._formatLocale(c,l):c}_applyPropertyInternal(r){if(r.isEdited)return;let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]=l}_validatePropertyIntegrity(r){let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]!==l&&(r.isEdited=!0)}_formatLocale(r,l){return r.replace(/{(\d+)}/g,(c,f)=>typeof l[f]<"u"?l[f]:c)}bindObjectProperty(r,l,c,f=[]){let Q={object:r,propertyName:l,localePath:c,formattingArguments:f,isEdited:!1};this._applyPropertyInternal(Q),this._boundObjectProperties.push(Q)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let c=r.split("."),f=l?this.fallbackLocale:this.locale;for(let Q=1;Q{this._validatePropertyIntegrity(f)}),this.locale=c,this._boundObjectProperties.forEach(f=>{this._applyPropertyInternal(f)}),this.onLocaleChanged.forEach(f=>f())}};function zp(o,r=!0,l=0,c={},f=void 0){let Q=o.getChannelData(l),r0=o.getChannelData(l+1),m0=Q.length,f0=2,a0=new V3(0),f1=Object.keys(c).length>0;if(f1){let A0=new TextEncoder,y5=[MA("INFO"),Ze("ICMT",A0.encode("Created with SpessaSynth"),!0)];c.artist&&y5.push(Ze("IART",A0.encode(c.artist),!0)),c.album&&y5.push(Ze("IPRD",A0.encode(c.album),!0)),c.genre&&y5.push(Ze("IGNR",A0.encode(c.genre),!0)),c.title&&y5.push(Ze("INAM",A0.encode(c.title),!0)),a0=Ze("LIST",Dn(y5))}let R=new V3(0),x0=f?.end!==void 0&&f?.start!==void 0;if(x0){let A0=Math.floor(f.start*o.sampleRate),y5=Math.floor(f.end*o.sampleRate),T3=new V3(24);c7(T3,0,4),c7(T3,0,4),h7(T3,"data"),c7(T3,0,4),c7(T3,0,4),c7(T3,A0,4);let $3=new V3(24);c7($3,1,4),c7($3,0,4),h7($3,"data"),c7($3,0,4),c7($3,0,4),c7($3,y5,4);let w6=Dn([new V3([2,0,0,0]),T3,$3]);R=Ze("cue ",w6)}let k0=44,S1=m0*2*f0,e2=k0+S1+a0.length+R.length-8,y1=new Uint8Array(k0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([e2&255,e2>>8&255,e2>>16&255,e2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*f0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),40);let V2=new Uint8Array(e2+8),i3=k0;V2.set(y1,0);let r3=32767;if(r){let A0=Q.map((y5,T3)=>Math.max(Math.abs(y5),Math.abs(r0[T3]))).reduce((y5,T3)=>Math.max(y5,T3));r3=A0>0?32767/A0:1}for(let A0=0;A0>8&255,V2[i3++]=T3&255,V2[i3++]=T3>>8&255}return f1&&(V2.set(a0,i3),i3+=a0.length),x0&&V2.set(R,i3),new Blob([V2.buffer],{type:"audio/wav"})}var YC="synthetizer/worklet_processor.min.js";var ov=1e3;async function Av(o=!0,r=2,l=!1,c={},f=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let Q=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),r0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),m0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),f0=F8(Q,[{type:"text",textContent:m0},{type:"progress"}],9999999,!1),a0=await this.seq.getMIDI(),f1=Dm(a0.loop.start,a0),R=Dm(a0.loop.end,a0),x0=R-f1,k0=a0.duration+r+x0*f,S1=this.context.sampleRate,e2=S1*k0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:S1,length:e2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+YC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,V2;try{V2=new hh(y1.destination,T2,!1,{parsedMIDI:a0,snapshot:Y2,oneOutput:l,loopCount:f},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw F8(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=f0.div.getElementsByTagName("p")[0],r3=f0.div.getElementsByClassName("notification_progress")[0],A0=ov/1e3,y5=V2.currentTime,T3=k0,$3=.1,w6=setInterval(()=>{let o9=V2.currentTime-y5;y5=V2.currentTime;let K4=V2.currentTime/k0;r3.style.width=`${K4*100}%`;let r4=o9/A0,V6=(1-K4)/r4*k0;V6!==1/0&&(T3=$3*V6+(1-$3)*T3,i3.innerText=`${r0} ${C$(T3).time}`)},ov),s6=await y1.startRendering();if(r3.style.width="100%",clearInterval(w6),i3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(o9=>setTimeout(o9,75)),l){let o9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",K4=[],r4=new Set;for(let je of a0.usedChannelsOnTrack)je.forEach(Hr=>r4.add(Hr));for(let je=0;je<16;je++){let Hr=!0;for(let Ki=je;Ki{let Gs=HA.textContent;HA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(tp=>setTimeout(tp,75));let Gm=zp(s6,!1,je*2),x$=`${je+1} - ${Y2.channelSnapshots[je].patchName}.wav`;this.saveBlob(Gm,x$),HA.classList.add("green_button"),HA.textContent=Gs}})}let V6=F8(this.localeManager.getLocaleString(o9+"title"),K4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});V6.div.style.width="30rem"}else{let o9=Dm(a0.firstNoteOn,a0),K4=f1-o9,r4=R-o9,V6;f===0&&(V6={start:K4,end:r4});let je=zp(s6,o,0,c,V6);this.saveBlob(je,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}We(f0.id),this.isExporting=!1}async function av(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(a0,f1,R)=>this.seq.midiData.RMIDInfo?.[a0]===void 0?f1:R.decode(this.seq.midiData.RMIDInfo?.[a0]).replace(/\0$/,""),c=l("IENC","ascii",new TextDecoder),f=new TextDecoder(c),Q=l("IPRD","",f),r0=l("IART","",f),m0=l("IGNR","",f),f0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:r+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:r+"album",attributes:{value:Q,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:r0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:m0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:a0=>{We(a0.id);let f1=a0.div.querySelector("input[normalize-volume-toggle]").checked,R=a0.div.querySelector("input[additional-time]").value,x0=a0.div.querySelector("input[loop-count]").value,k0=a0.div.querySelector("input[separate-channels-toggle]").checked,S1=a0.div.querySelector("input[name='artist']").value,e2=a0.div.querySelector("input[name='album']").value,y1=a0.div.querySelector("input[name='song_title']").value,Y2=a0.div.querySelector("input[name='genre']").value,T2={artist:S1.length>0?S1:void 0,album:e2.length>0?e2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(f1,parseInt(R),k0,T2,parseInt(x0))}}];F8(this.localeManager.getLocaleString(o+"title"),f0,9999999,!0,this.localeManager)}async function $v(){let o=await this.seq.getMIDI();fh(o,await this.synth.getSynthesizerSnapshot());let r=LC(o),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function lv(o,r){ni("%cSearching for all used programs and keys...",D1.info);let l=16+o.midiPortChannelOffsets.reduce((R,x0)=>x0>R?x0:R),c=[];for(let R=0;R{r0[S1]>=k0.length||k0[r0[S1]].ticks0;){let R=f0(),x0=o.tracks[R];if(r0[R]>=x0.length){m0--;continue}let k0=x0[r0[R]];if(r0[R]++,k0.messageStatusByte===K3.midiPort){a0[R]=k0.messageData[0];continue}let S1=k0.messageStatusByte&240;if(S1!==K3.noteOn&&S1!==K3.controllerChange&&S1!==K3.programChange&&S1!==K3.systemExclusive)continue;let e2=(k0.messageStatusByte&15)+o.midiPortChannelOffsets[a0[R]]||0,y1=c[e2];switch(S1){case K3.programChange:y1.program=k0.messageData[0],f(y1);break;case K3.controllerChange:if(k0.messageData[0]!==p3.bankSelect||f1==="gs"&&y1.drums)continue;let Y2=k0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(f1==="xg"){let r3=Y2===120||Y2===126||Y2===127;r3!==y1.drums?(y1.drums=r3,y1.bank=y1.drums?128:T2,f(y1)):y1.bank=y1.drums?128:T2;continue}c[e2].bank=T2;break;case K3.noteOn:if(k0.messageData[1]===0)continue;f(y1),Q[y1.string].add(`${k0.messageData[0]}-${k0.messageData[1]}`);break;case K3.systemExclusive:if(k0.messageData[0]!==65||k0.messageData[2]!==66||k0.messageData[3]!==18||k0.messageData[4]!==64||!(k0.messageData[5]&16)||k0.messageData[6]!==21){k0.messageData[0]===67&&k0.messageData[2]===76&&k0.messageData[5]===126&&k0.messageData[6]===0&&(f1="xg");continue}let V2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][k0.messageData[5]&15]+o.midiPortChannelOffsets[a0[R]],i3=!!(k0.messageData[7]>0&&k0.messageData[5]>>4);y1=c[V2],y1.drums=i3,y1.bank=i3?128:0,f(y1);break}}for(let R of Object.keys(Q))Q[R].size===0&&(Y5(`%cDetected change but no keys for %c${R}`,D1.info,D1.value),delete Q[R]);return i4(),Q}function JC(o,r){function l(f,Q){let r0=0;for(let m0=0;m0=a0.min&&x0.key<=a0.max&&x0.velocity>=f1.min&&x0.velocity<=f1.max){R=!0;break}R||(Y5(`%c${f0.sample.sampleName} %cremoved from %c${f.instrumentName}%c. Use count: %c${f0.useCount-1}`,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized),f.safeDeleteZone(m0)&&(r0++,m0--,Y5(`%c${f0.sample.sampleName} %cdeleted`,D1.recognized,D1.info)),f0.sample.useCount<1&&o.deleteSample(f0.sample))}return r0}hr("%cTrimming soundfont...",D1.info);let c=lv(r,o);ni("%cModifying soundfont...",D1.info),Y5("Detected keys for midi:",c);for(let f=0;f{let R=f1.split("-");return{key:parseInt(R[0]),velocity:parseInt(R[1])}});ni(`%cTrimming %c${Q.presetName}`,D1.info,D1.recognized),Y5(`Keys for ${Q.presetName}:`,f0);let a0=0;for(let f1=0;f1=x0.min&&e2.key<=x0.max&&e2.velocity>=k0.min&&e2.velocity<=k0.max){S1=!0;let y1=l(R.instrument,f0);Y5(`%cTrimmed off %c${y1}%c zones from %c${R.instrument.instrumentName}`,D1.info,D1.recognized,D1.info,D1.recognized);break}S1||(a0++,Q.deleteZone(f1),R.instrument.useCount<1&&o.deleteInstrument(R.instrument),f1--)}Y5(`%cTrimmed off %c${a0}%c zones from %c${Q.presetName}`,D1.info,D1.recognized,D1.info,D1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" + `;for(let c of this.mainDiv.querySelectorAll("*[translate-path]"))l.bindObjectProperty(c,"textContent",c.getAttribute("translate-path"));for(let c of this.mainDiv.querySelectorAll("*[translate-path-title]"))l.bindObjectProperty(c,"textContent",c.getAttribute("translate-path-title")+".title"),l.bindObjectProperty(c,"title",c.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=l}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(i){document.getElementById("player_info_title").textContent=i}connectSequencer(i){this.seq=i,this.seq.addOnSongChangeEvent(l=>{let c=l.copyright.replaceAll(` +`,""),u=(k0,S1,e2=!0)=>{let y1=document.getElementById(k0);if(S1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",S1.length>30&&e2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=S1,y1.appendChild(Y2)}else y1.textContent=S1;else y1.parentElement.classList.add("hidden")};u("player_info_detail",c),u("player_info_time",C$(this.seq.duration).time),u("player_info_file_name",l.fileName,!1);let Q=(k0,S1,e2,y1="")=>this.seq.midiData.RMIDInfo?.[k0]===void 0?S1:y1+e2.decode(this.seq.midiData.RMIDInfo?.[k0]).replace(/\0$/,""),i0=Q("IENC","ascii",new TextDecoder),m0=new TextDecoder(i0);u("player_info_album",Q("IPRD","",m0)),u("player_info_artist",Q("IART","",m0)),u("player_info_genre",Q("IGNR","",m0)),u("player_info_creation",Q("ICRD","",m0)+Q("ICRT","",m0,` +`)),u("player_info_comment",Q("ICMT","",m0));let f0=this.mainDiv.getElementsByTagName("svg")[0],A0=this.mainDiv.getElementsByTagName("img")[0],f1=document.getElementById("player_info_background_image");if(!l.isEmbedded){f0.style.display="",A0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){f0.style.display="",A0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}f0.style.display="none",A0.style.display="";let R=new Blob([l.RMIDInfo.IPIC.buffer]),x0=URL.createObjectURL(R);A0.src=x0,f1.style.setProperty("--bg-image",`url('${x0}')`)},"player-js-song-change")}setVisibility(i,l){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let u=l.clientHeight,Q=l.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${Q}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()=>{l.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},sv*1e3)}else{let u=c.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${u}px`,l.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},sv*1e3)}}};var HC=class{onLocaleChanged=[];constructor(i){this.locale=S$[i]||S$[Kp],this.fallbackLocale=S$[Kp],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,l=[]){let c=this._resolveLocalePath(i);return l.length>0?this._formatLocale(c,l):c}_applyPropertyInternal(i){if(i.isEdited)return;let l=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(l=this._formatLocale(l,i.formattingArguments)),i.object[i.propertyName]=l}_validatePropertyIntegrity(i){let l=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(l=this._formatLocale(l,i.formattingArguments)),i.object[i.propertyName]!==l&&(i.isEdited=!0)}_formatLocale(i,l){return i.replace(/{(\d+)}/g,(c,u)=>typeof l[u]<"u"?l[u]:c)}bindObjectProperty(i,l,c,u=[]){let Q={object:i,propertyName:l,localePath:c,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(Q),this._boundObjectProperties.push(Q)}_resolveLocalePath(i,l=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),u=l?this.fallbackLocale:this.locale;for(let Q=1;Q{this._validatePropertyIntegrity(u)}),this.locale=c,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function zp(o,i=!0,l=0,c={},u=void 0){let Q=o.getChannelData(l),i0=o.getChannelData(l+1),m0=Q.length,f0=2,A0=new V3(0),f1=Object.keys(c).length>0;if(f1){let a0=new TextEncoder,y5=[MA("INFO"),Ze("ICMT",a0.encode("Created with SpessaSynth"),!0)];c.artist&&y5.push(Ze("IART",a0.encode(c.artist),!0)),c.album&&y5.push(Ze("IPRD",a0.encode(c.album),!0)),c.genre&&y5.push(Ze("IGNR",a0.encode(c.genre),!0)),c.title&&y5.push(Ze("INAM",a0.encode(c.title),!0)),A0=Ze("LIST",_n(y5))}let R=new V3(0),x0=u?.end!==void 0&&u?.start!==void 0;if(x0){let a0=Math.floor(u.start*o.sampleRate),y5=Math.floor(u.end*o.sampleRate),T3=new V3(24);c7(T3,0,4),c7(T3,0,4),h7(T3,"data"),c7(T3,0,4),c7(T3,0,4),c7(T3,a0,4);let $3=new V3(24);c7($3,1,4),c7($3,0,4),h7($3,"data"),c7($3,0,4),c7($3,0,4),c7($3,y5,4);let w6=_n([new V3([2,0,0,0]),T3,$3]);R=Ze("cue ",w6)}let k0=44,S1=m0*2*f0,e2=k0+S1+A0.length+R.length-8,y1=new Uint8Array(k0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([e2&255,e2>>8&255,e2>>16&255,e2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*f0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),40);let V2=new Uint8Array(e2+8),i3=k0;V2.set(y1,0);let r3=32767;if(i){let a0=Q.map((y5,T3)=>Math.max(Math.abs(y5),Math.abs(i0[T3]))).reduce((y5,T3)=>Math.max(y5,T3));r3=a0>0?32767/a0:1}for(let a0=0;a0>8&255,V2[i3++]=T3&255,V2[i3++]=T3>>8&255}return f1&&(V2.set(A0,i3),i3+=A0.length),x0&&V2.set(R,i3),new Blob([V2.buffer],{type:"audio/wav"})}var YC="synthetizer/worklet_processor.min.js";var ov=1e3;async function Av(o=!0,i=2,l=!1,c={},u=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let Q=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),i0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),m0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),f0=F8(Q,[{type:"text",textContent:m0},{type:"progress"}],9999999,!1),A0=await this.seq.getMIDI(),f1=Dm(A0.loop.start,A0),R=Dm(A0.loop.end,A0),x0=R-f1,k0=A0.duration+i+x0*u,S1=this.context.sampleRate,e2=S1*k0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:S1,length:e2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+YC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,V2;try{V2=new hh(y1.destination,T2,!1,{parsedMIDI:A0,snapshot:Y2,oneOutput:l,loopCount:u},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw F8(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=f0.div.getElementsByTagName("p")[0],r3=f0.div.getElementsByClassName("notification_progress")[0],a0=ov/1e3,y5=V2.currentTime,T3=k0,$3=.1,w6=setInterval(()=>{let o9=V2.currentTime-y5;y5=V2.currentTime;let K4=V2.currentTime/k0;r3.style.width=`${K4*100}%`;let r4=o9/a0,V6=(1-K4)/r4*k0;V6!==1/0&&(T3=$3*V6+(1-$3)*T3,i3.innerText=`${i0} ${C$(T3).time}`)},ov),s6=await y1.startRendering();if(r3.style.width="100%",clearInterval(w6),i3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(o9=>setTimeout(o9,75)),l){let o9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",K4=[],r4=new Set;for(let We of A0.usedChannelsOnTrack)We.forEach(Yr=>r4.add(Yr));for(let We=0;We<16;We++){let Yr=!0;for(let zi=We;zi{let Gs=HA.textContent;HA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(tp=>setTimeout(tp,75));let Gm=zp(s6,!1,We*2),x$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(Gm,x$),HA.classList.add("green_button"),HA.textContent=Gs}})}let V6=F8(this.localeManager.getLocaleString(o9+"title"),K4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});V6.div.style.width="30rem"}else{let o9=Dm(A0.firstNoteOn,A0),K4=f1-o9,r4=R-o9,V6;u===0&&(V6={start:K4,end:r4});let We=zp(s6,o,0,c,V6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}y8(f0.id),this.isExporting=!1}async function av(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",l=(A0,f1,R)=>this.seq.midiData.RMIDInfo?.[A0]===void 0?f1:R.decode(this.seq.midiData.RMIDInfo?.[A0]).replace(/\0$/,""),c=l("IENC","ascii",new TextDecoder),u=new TextDecoder(c),Q=l("IPRD","",u),i0=l("IART","",u),m0=l("IGNR","",u),f0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:Q,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:i0,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:m0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:A0=>{y8(A0.id);let f1=A0.div.querySelector("input[normalize-volume-toggle]").checked,R=A0.div.querySelector("input[additional-time]").value,x0=A0.div.querySelector("input[loop-count]").value,k0=A0.div.querySelector("input[separate-channels-toggle]").checked,S1=A0.div.querySelector("input[name='artist']").value,e2=A0.div.querySelector("input[name='album']").value,y1=A0.div.querySelector("input[name='song_title']").value,Y2=A0.div.querySelector("input[name='genre']").value,T2={artist:S1.length>0?S1:void 0,album:e2.length>0?e2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(f1,parseInt(R),k0,T2,parseInt(x0))}}];F8(this.localeManager.getLocaleString(o+"title"),f0,9999999,!0,this.localeManager)}async function $v(){let o=await this.seq.getMIDI();fh(o,await this.synth.getSynthesizerSnapshot());let i=LC(o),l=new Blob([i],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function lv(o,i){ni("%cSearching for all used programs and keys...",D1.info);let l=16+o.midiPortChannelOffsets.reduce((R,x0)=>x0>R?x0:R),c=[];for(let R=0;R{i0[S1]>=k0.length||k0[i0[S1]].ticks0;){let R=f0(),x0=o.tracks[R];if(i0[R]>=x0.length){m0--;continue}let k0=x0[i0[R]];if(i0[R]++,k0.messageStatusByte===K3.midiPort){A0[R]=k0.messageData[0];continue}let S1=k0.messageStatusByte&240;if(S1!==K3.noteOn&&S1!==K3.controllerChange&&S1!==K3.programChange&&S1!==K3.systemExclusive)continue;let e2=(k0.messageStatusByte&15)+o.midiPortChannelOffsets[A0[R]]||0,y1=c[e2];switch(S1){case K3.programChange:y1.program=k0.messageData[0],u(y1);break;case K3.controllerChange:if(k0.messageData[0]!==p3.bankSelect||f1==="gs"&&y1.drums)continue;let Y2=k0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(f1==="xg"){let r3=Y2===120||Y2===126||Y2===127;r3!==y1.drums?(y1.drums=r3,y1.bank=y1.drums?128:T2,u(y1)):y1.bank=y1.drums?128:T2;continue}c[e2].bank=T2;break;case K3.noteOn:if(k0.messageData[1]===0)continue;u(y1),Q[y1.string].add(`${k0.messageData[0]}-${k0.messageData[1]}`);break;case K3.systemExclusive:if(k0.messageData[0]!==65||k0.messageData[2]!==66||k0.messageData[3]!==18||k0.messageData[4]!==64||!(k0.messageData[5]&16)||k0.messageData[6]!==21){k0.messageData[0]===67&&k0.messageData[2]===76&&k0.messageData[5]===126&&k0.messageData[6]===0&&(f1="xg");continue}let V2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][k0.messageData[5]&15]+o.midiPortChannelOffsets[A0[R]],i3=!!(k0.messageData[7]>0&&k0.messageData[5]>>4);y1=c[V2],y1.drums=i3,y1.bank=i3?128:0,u(y1);break}}for(let R of Object.keys(Q))Q[R].size===0&&(Y5(`%cDetected change but no keys for %c${R}`,D1.info,D1.value),delete Q[R]);return i4(),Q}function JC(o,i){function l(u,Q){let i0=0;for(let m0=0;m0=A0.min&&x0.key<=A0.max&&x0.velocity>=f1.min&&x0.velocity<=f1.max){R=!0;break}R||(Y5(`%c${f0.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${f0.useCount-1}`,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized),u.safeDeleteZone(m0)&&(i0++,m0--,Y5(`%c${f0.sample.sampleName} %cdeleted`,D1.recognized,D1.info)),f0.sample.useCount<1&&o.deleteSample(f0.sample))}return i0}ur("%cTrimming soundfont...",D1.info);let c=lv(i,o);ni("%cModifying soundfont...",D1.info),Y5("Detected keys for midi:",c);for(let u=0;u{let R=f1.split("-");return{key:parseInt(R[0]),velocity:parseInt(R[1])}});ni(`%cTrimming %c${Q.presetName}`,D1.info,D1.recognized),Y5(`Keys for ${Q.presetName}:`,f0);let A0=0;for(let f1=0;f1=x0.min&&e2.key<=x0.max&&e2.velocity>=k0.min&&e2.velocity<=k0.max){S1=!0;let y1=l(R.instrument,f0);Y5(`%cTrimmed off %c${y1}%c zones from %c${R.instrument.instrumentName}`,D1.info,D1.recognized,D1.info,D1.recognized);break}S1||(A0++,Q.deleteZone(f1),R.instrument.useCount<1&&o.deleteInstrument(R.instrument),f1--)}Y5(`%cTrimmed off %c${A0}%c zones from %c${Q.presetName}`,D1.info,D1.recognized,D1.info,D1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" -`+o.soundFontInfo.ICMT,Y5("%cSoundfont modified!",D1.recognized),i4(),i4()}function cv(){let o=4;for(let c of this.instruments)o+=c.instrumentZones.reduce((f,Q)=>(Q.generators=Q.generators.filter(r0=>r0.generatorType!==k1.sampleID&&r0.generatorType!==k1.keyRange&&r0.generatorType!==k1.velRange),(Q.velRange.max!==127||Q.velRange.min!==0)&&Q.generators.unshift({generatorType:k1.velRange,generatorValue:Q.velRange.max<<8|Q.velRange.min}),(Q.keyRange.max!==127||Q.keyRange.min!==0)&&Q.generators.unshift({generatorType:k1.keyRange,generatorValue:Q.keyRange.max<<8|Q.keyRange.min}),Q.isGlobal||Q.generators.push({generatorType:k1.sampleID,generatorValue:this.samples.indexOf(Q.sample)}),Q.generators.length*4+f),0);let r=new V3(o),l=0;for(let c of this.instruments)for(let f of c.instrumentZones){f.generatorZoneStartIndex=l;for(let Q of f.generators)Q9(r,Q.generatorType),Q9(r,Q.generatorValue),l++}return g7(r,0),ze(new me("igen",r.length,r))}function gv(o,r,l,c,f){let Q=this.samples.map((a0,f1)=>{l&&a0.compressSample(c,f);let R=a0.getRawData();return Y5(`%cEncoded sample %c${f1}. ${a0.sampleName}%c of %c${this.samples.length}`,D1.info,D1.recognized,D1.info,D1.recognized),R}),r0=this.samples.reduce((a0,f1,R)=>a0+Q[R].length+46,0),m0=new V3(r0);this.samples.forEach((a0,f1)=>{let R=Q[f1],x0,k0,S1=R.length;a0.isCompressed?(x0=m0.currentIndex,k0=x0+R.length):(x0=m0.currentIndex/2,k0=x0+R.length/2,S1+=46),o.push(x0),m0.set(R,m0.currentIndex),m0.currentIndex+=S1,r.push(k0)});let f0=ze(new me("smpl",m0.length,m0),new V3([115,100,116,97]));return ze(new me("LIST",f0.length,f0))}function hv(o,r){let c=new V3(46*(this.samples.length+1));return this.samples.forEach((f,Q)=>{h7(c,f.sampleName,20);let r0=o[Q];g7(c,r0);let m0=r[Q];g7(c,m0);let f0=f.sampleLoopStartIndex+r0,a0=f.sampleLoopEndIndex+r0;f.isCompressed&&(f0-=r0,a0-=r0),g7(c,f0),g7(c,a0),g7(c,f.sampleRate),c[c.currentIndex++]=f.samplePitch,c[c.currentIndex++]=f.samplePitchCorrection,Q9(c,f.sampleLink),Q9(c,f.sampleType)}),h7(c,"EOS",46),ze(new me("shdr",c.length,c))}function uv(){let o=10;for(let c of this.instruments)o+=c.instrumentZones.reduce((f,Q)=>Q.modulators.length*10+f,0);let r=new V3(o),l=0;for(let c of this.instruments)for(let f of c.instrumentZones){f.modulatorZoneStartIndex=l;for(let Q of f.modulators)Q9(r,Q.sourceEnum),Q9(r,Q.modulatorDestination),Q9(r,Q.transformAmount),Q9(r,Q.secondarySourceEnum),Q9(r,Q.transformType),l++}return c7(r,0,10),ze(new me("imod",r.length,r))}function fv(){let o=this.instruments.reduce((Q,r0)=>r0.instrumentZones.length*4+Q,4),r=new V3(o),l=0,c=0,f=0;for(let Q of this.instruments){Q.instrumentZoneIndex=l;for(let r0 of Q.instrumentZones)r0.zoneID=l,Q9(r,c),Q9(r,f),c+=r0.generators.length,f+=r0.modulators.length,l++}return Q9(r,c),Q9(r,f),ze(new me("ibag",r.length,r))}function dv(){let o=this.instruments.length*22+22,r=new V3(o),l=0,c=0;for(let f of this.instruments)h7(r,f.instrumentName,20),Q9(r,l),l+=f.instrumentZones.length,f.instrumentID=c,c++;return h7(r,"EOI",20),Q9(r,l),ze(new me("inst",r.length,r))}function Iv(){let o=4;for(let c of this.presets)o+=c.presetZones.reduce((f,Q)=>(Q.generators=Q.generators.filter(r0=>r0.generatorType!==k1.instrument&&r0.generatorType!==k1.keyRange&&r0.generatorType!==k1.velRange),(Q.velRange.max!==127||Q.velRange.min!==0)&&Q.generators.unshift({generatorType:k1.velRange,generatorValue:Q.velRange.max<<8|Q.velRange.min}),(Q.keyRange.max!==127||Q.keyRange.min!==0)&&Q.generators.unshift({generatorType:k1.keyRange,generatorValue:Q.keyRange.max<<8|Q.keyRange.min}),Q.isGlobal||Q.generators.push({generatorType:k1.instrument,generatorValue:this.instruments.indexOf(Q.instrument)}),Q.generators.length*4+f),0);let r=new V3(o),l=0;for(let c of this.presets)for(let f of c.presetZones){f.generatorZoneStartIndex=l;for(let Q of f.generators)Q9(r,Q.generatorType),Q9(r,Q.generatorValue);l+=f.generators.length}return Q9(r,0),Q9(r,0),ze(new me("pgen",r.length,r))}function Ev(){let o=10;for(let c of this.presets)o+=c.presetZones.reduce((f,Q)=>Q.modulators.length*10+f,0);let r=new V3(o),l=0;for(let c of this.presets)for(let f of c.presetZones){f.modulatorZoneStartIndex=l;for(let Q of f.modulators)Q9(r,Q.sourceEnum),Q9(r,Q.modulatorDestination),Q9(r,Q.transformAmount),Q9(r,Q.secondarySourceEnum),Q9(r,Q.transformType),l++}return c7(r,0,10),ze(new me("pmod",r.length,r))}function mv(){let o=this.presets.reduce((Q,r0)=>r0.presetZones.length*4+Q,4),r=new V3(o),l=0,c=0,f=0;for(let Q of this.presets){Q.presetZoneStartIndex=l;for(let r0 of Q.presetZones)r0.zoneID=l,Q9(r,c),Q9(r,f),c+=r0.generators.length,f+=r0.modulators.length,l++}return Q9(r,c),Q9(r,f),ze(new me("pbag",r.length,r))}function Cv(){let o=this.presets.length*38+38,r=new V3(o),l=0;for(let c of this.presets)h7(r,c.presetName,20),Q9(r,c.program),Q9(r,c.bank),Q9(r,l),g7(r,c.library),g7(r,c.genre),g7(r,c.morphology),l+=c.presetZones.length;return h7(r,"EOP",20),Q9(r,0),Q9(r,0),Q9(r,l),g7(r,0),g7(r,0),g7(r,0),ze(new me("phdr",r.length,r))}var gD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function pv(o=gD){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ni("%cSaving soundfont...",D1.info),Y5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,D1.info,D1.recognized,D1.info,D1.recognized),Y5("%cWriting INFO...",D1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let A0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),T3=new V3(4);Q9(T3,A0),Q9(T3,y5),r.push(ze(new me(i3,4,T3)))}else if(i3==="DMOD")r.push(ze(new me(i3,r3.length,r3)));else{let A0=new V3(r3.length);h7(A0,r3),r.push(ze(new me(i3,r3.length,A0)))}let l=Dn([new V3([73,78,70,79]),...r]),c=ze(new me("LIST",l.length,l));Y5("%cWriting SDTA...",D1.info);let f=[],Q=[],r0=gv.call(this,f,Q,o?.compress,o?.compressionQuality||.5,o.compressionFunction);Y5("%cWriting PDTA...",D1.info),Y5("%cWriting SHDR...",D1.info);let m0=hv.call(this,f,Q);Y5("%cWriting IGEN...",D1.info);let f0=cv.call(this);Y5("%cWriting IMOD...",D1.info);let a0=uv.call(this);Y5("%cWriting IBAG...",D1.info);let f1=fv.call(this);Y5("%cWriting INST...",D1.info);let R=dv.call(this),x0=Iv.call(this);Y5("%cWriting PMOD...",D1.info);let k0=Ev.call(this);Y5("%cWriting PBAG...",D1.info);let S1=mv.call(this);Y5("%cWriting PHDR...",D1.info);let e2=Cv.call(this),y1=Dn([new V3([112,100,116,97]),e2,S1,k0,x0,R,f1,a0,f0,m0]),Y2=ze(new me("LIST",y1.length,y1));Y5("%cWriting the output file...",D1.info);let T2=Dn([new V3([115,102,98,107]),c,r0,Y2]),V2=ze(new me("RIFF",T2.length,T2));return Y5(`%cSaved succesfully! Final file size: %c${V2.length}`,D1.info,D1.recognized),i4(),V2}var b$=class o{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=vC.map(l=>Ae.copy(l)),r?.presets&&(this.presets.push(...r.presets),this.soundFontInfo=r.info)}static mergeSoundfonts(...r){let l=r.shift(),c=l.presets;for(;r.length;)r.shift().presets.forEach(Q=>{c.find(r0=>r0.bank===Q.bank&&r0.program===Q.program)===void 0&&c.push(Q)});return new o({presets:c,info:l.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(r=>{r.useCount<1&&r.instrumentZones.forEach(l=>{l.isGlobal||l.sample.useCount--})}),this.instruments=this.instruments.filter(r=>r.useCount>0),this.samples=this.samples.filter(r=>r.useCount>0)}deleteInstrument(r){if(r.useCount>0)throw new Error(`Cannot delete an instrument that has ${r.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(r),1),r.deleteInstrument(),this.removeUnusedElements()}deletePreset(r){r.deletePreset(),this.presets.splice(this.presets.indexOf(r),1),this.removeUnusedElements()}deleteSample(r){if(r.useCount>0)throw new Error(`Cannot delete sample that has ${r.useCount} usages.`);this.samples.splice(this.samples.indexOf(r),1),this.removeUnusedElements()}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPresetNoFallback(r,l,c=!1){let f=this.presets.find(Q=>Q.bank===r&&Q.program===l);if(f)return f;if(c!==!1)return r===128?this.presets.find(Q=>Q.bank===128):this.presets.find(Q=>Q.program===l)}getPreset(r,l){let c=this.presets.find(f=>f.bank===r&&f.program===l);return c||(r===128?(c=this.presets.find(f=>f.bank===128&&f.program===l),c||(c=this.presets.find(f=>f.bank===128))):c=this.presets.find(f=>f.program===l&&f.bank!==128),c&&L4(`%cPreset ${r}.${l} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,D1.warn,D1.recognized)),c||(L4(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(r){let l=this.presets.find(c=>c.presetName===r);return l||(L4("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}};b$.prototype.write=pv;function Bv(o){ni("%cLoading instruments...",D1.info);for(let r=0;rr.deleteZone()),this.presetZones.length=0}deleteZone(r){this.presetZones[r].deleteZone(),this.presetZones.splice(r,1)}preload(r,l){for(let c=r;c{Q.sample.isSampleLoaded||Q.sample.getAudioData()})}preloadSpecific(r,l){this.getSamplesAndGenerators(r,l).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(r,l){let c=this.foundSamplesAndGenerators[r][l];if(c)return c;if(this.presetZones.length<1)return[];function f(R,x0,k0){return k0>=R&&k0<=x0}function Q(R,x0){R.push(...x0.filter(k0=>!R.find(S1=>S1.generatorType===k0.generatorType)))}function r0(R,x0){R.push(...x0.filter(k0=>!R.find(S1=>Ae.isIdentical(k0,S1))))}let m0=[],f0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],a0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(R=>f(R.keyRange.min,R.keyRange.max,r)&&f(R.velRange.min,R.velRange.max,l)&&!R.isGlobal).forEach(R=>{if(R.instrument.instrumentZones.length<1)return;let x0=R.generators,k0=R.modulators,S1=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].generators]:[],e2=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].modulators]:[];R.instrument.instrumentZones.filter(Y2=>f(Y2.keyRange.min,Y2.keyRange.max,r)&&f(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],V2=[...Y2.modulators];Q(x0,f0),Q(T2,S1),r0(k0,a0),r0(V2,e2),r0(V2,this.defaultModulators);let i3=[...V2];for(let r3=0;r3Ae.isIdentical(A0,T3));y5!==-1?i3[y5]=i3[y5].sumTransform(A0):i3.push(A0)}m0.push({instrumentGenerators:T2,presetGenerators:x0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===k1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=m0,m0}};var Tm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var PA=class extends Tm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ch=class extends Tm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var ph=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(r=>r.useCount++)}removeUseCount(){this._useCount--;for(let r=0;rr.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(r){return this.instrumentZones[r].useCount--,this.instrumentZones[r].useCount<1?(this.deleteZone(r),!0):!1}deleteZone(r){this.instrumentZones[r].deleteZone(),this.instrumentZones.splice(r,1)}};var VC=class extends mh{constructor(r,l){super(vC),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new ph,this.DLSInstrument.addUseCount();let f=new Ch;f.instrument=this.DLSInstrument,this.presetZones=[f]}};function Qv(o){this.verifyHeader(o,"LIST"),this.verifyText(Ee(o.chunkData,4),"ins ");let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(k0=>k0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let c=o3(l.chunkData,4),f=o3(l.chunkData,4),Q=o3(l.chunkData,4),r0=new VC(f,Q),m0="unnamedPreset",f0=Ri(r,"INFO");if(f0){let k0=d4(f0.chunkData);for(;k0.header!=="INAM";)k0=d4(f0.chunkData);m0=Ee(k0.chunkData,k0.chunkData.length).trim()}r0.presetName=m0,r0.DLSInstrument.instrumentName=m0,hr(`%cParsing %c"${m0}"%c...`,D1.info,D1.recognized,D1.info);let a0=Ri(r,"lrgn");if(!a0)throw i4(),new Error("No region list!");let f1=new PA;f1.isGlobal=!0;let R=Ri(r,"lart"),x0=Ri(r,"lar2");this.readLart(R,x0,f1),r0.DLSInstrument.instrumentZones.push(f1);for(let k0=0;k0>10&15;Y2===Pr.linear&&y1!==Pr.linear&&(Y2=y1);let T2=c>>14&1,V2=c>>15&1;r0===k1.initialAttenuation&&(V2=!V2),R=Ur(Y2,T2,V2,m0.isCC,m0.enum)}let x0=c>>4&15,k0=c>>8&1,S1=c>>9&1,e2=Ur(x0,k0,S1,f1.isCC,f1.enum);if(f0){let y1=e2;e2=R,R=y1}return new Ae({srcEnum:R,secSrcEnum:e2,dest:r0,transform:0,amt:f})}function Zp(o,r){let l=o.chunkData,c=[],f=[];o3(l,4);let Q=o3(l,4);for(let r0=0;r0>16;if(m0===0&&f0===0&&f1===0){let k0;switch(a0){case m6.pan:k0=new W6(k1.pan,x0);break;case m6.gain:k0=new W6(k1.initialAttenuation,-x0*10/.4);break;case m6.filterCutoff:k0=new W6(k1.initialFilterFc,x0);break;case m6.filterQ:k0=new W6(k1.initialFilterQ,x0);break;case m6.modLfoFreq:k0=new W6(k1.freqModLFO,x0);break;case m6.modLfoDelay:k0=new W6(k1.delayModLFO,x0);break;case m6.vibLfoFreq:k0=new W6(k1.freqVibLFO,x0);break;case m6.vibLfoDelay:k0=new W6(k1.delayVibLFO,x0);break;case m6.volEnvDelay:k0=new W6(k1.delayVolEnv,x0);break;case m6.volEnvAttack:k0=new W6(k1.attackVolEnv,x0);break;case m6.volEnvHold:k0=new W6(k1.holdVolEnv,x0);break;case m6.volEnvDecay:k0=new W6(k1.decayVolEnv,x0);break;case m6.volEnvRelease:k0=new W6(k1.releaseVolEnv,x0);break;case m6.volEnvSustain:let S1=(1e3-x0)/10;k0=new W6(k1.sustainVolEnv,S1*10);break;case m6.modEnvDelay:k0=new W6(k1.delayModEnv,x0);break;case m6.modEnvAttack:k0=new W6(k1.attackModEnv,x0);break;case m6.modEnvHold:k0=new W6(k1.holdModEnv,x0);break;case m6.modEnvDecay:k0=new W6(k1.decayModEnv,x0);break;case m6.modEnvRelease:k0=new W6(k1.releaseModEnv,x0);break;case m6.modEnvSustain:let e2=1e3-x0;k0=new W6(k1.sustainModEnv,e2);break;case m6.reverbSend:k0=new W6(k1.reverbEffectsSend,x0);break;case m6.chorusSend:k0=new W6(k1.chorusEffectsSend,x0);break;case m6.pitch:let y1=Math.floor(x0/100),Y2=Math.floor(x0-y1*100);k0=new W6(k1.fineTune,Y2),c.push(new W6(k1.coarseTune,y1));break}k0&&c.push(k0)}else{let k0=!0;if(f0===w4.none)if(m0===w4.modLfo&&a0===m6.pitch)c.push(new W6(k1.modLfoToPitch,x0));else if(m0===w4.modLfo&&a0===m6.gain)c.push(new W6(k1.modLfoToVolume,x0));else if(m0===w4.modLfo&&a0===m6.filterCutoff)c.push(new W6(k1.modLfoToFilterFc,x0));else if(m0===w4.vibratoLfo&&a0===m6.pitch)c.push(new W6(k1.vibLfoToPitch,x0));else if(m0===w4.modEnv&&a0===m6.pitch)c.push(new W6(k1.modEnvToPitch,x0));else if(m0===w4.modEnv&&a0===m6.filterCutoff)c.push(new W6(k1.modEnvToFilterFc,x0));else if(m0===w4.keyNum&&a0===m6.volEnvHold){c.push(new W6(k1.keyNumToVolEnvHold,x0/-128));let S1=Math.round(60/128*x0);c.forEach(e2=>{e2.generatorType===k1.holdVolEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&a0===m6.volEnvDecay){c.push(new W6(k1.keyNumToVolEnvDecay,x0/-128));let S1=Math.round(60/128*x0);c.forEach(e2=>{e2.generatorType===k1.decayVolEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&a0===m6.modEnvHold){c.push(new W6(k1.keyNumToModEnvHold,x0/-128));let S1=Math.round(60/128*x0);c.forEach(e2=>{e2.generatorType===k1.holdModEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&a0===m6.modEnvDecay){c.push(new W6(k1.keyNumToModEnvDecay,x0/-128));let S1=Math.round(60/128*x0);c.forEach(e2=>{e2.generatorType===k1.decayModEnv&&(e2.generatorValue+=S1)})}else k0=!1;else k0=!1;if(k0===!1){let S1=wv(m0,f0,a0,f1,x0);S1?(f.push(S1),Y5("%cSucceeded converting to SF2 Modulator!",D1.recognized)):L4("Failed converting to SF2 Modulator!")}}}return f.find(r0=>r0.modulatorDestination===k1.reverbEffectsSend)===void 0&&f.push(new Ae({srcEnum:219,dest:k1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),f.find(r0=>r0.modulatorDestination===k1.chorusEffectsSend)===void 0&&f.push(new Ae({srcEnum:221,dest:k1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&f.push(new Ae({srcEnum:129,dest:k1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new Ae({srcEnum:13,dest:k1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:f,generators:c}}function vv(o,r,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(T3=>T3.header==="rgnh"),c=o3(l.chunkData,2),f=o3(l.chunkData,2),Q=o3(l.chunkData,2),r0=o3(l.chunkData,2),m0=new KC({min:c,max:f},{min:Q,max:r0});o3(l.chunkData,2);let f0=o3(l.chunkData,2);f0!==0&&m0.generators.push(new W6(k1.exclusiveClass,f0));let a0=Ri(r,"lart"),f1=Ri(r,"lar2");this.readLart(a0,f1,m0),m0.isGlobal=!1;let R=r.find(T3=>T3.header==="wsmp");o3(R.chunkData,4);let x0=o3(R.chunkData,2),k0=FA(R.chunkData[R.chunkData.currentIndex++],R.chunkData[R.chunkData.currentIndex++]),e2=(o3(R.chunkData,4)|0)/-655360;o3(R.chunkData,4);let y1=o3(R.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{o3(R.chunkData,4),o3(R.chunkData,4)===0?Y2=1:Y2=3,T2.start=o3(R.chunkData,4);let $3=o3(R.chunkData,4);T2.end=T2.start+$3}let V2=r.find(T3=>T3.header==="wlnk");if(V2===void 0)return;o3(V2.chunkData,2),o3(V2.chunkData,2),o3(V2.chunkData,4);let i3=o3(V2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(e2||r3.sampleDbAttenuation)*10/.4;return m0.setWavesample(y5,Y2,T2,x0,r3,i3,k0),m0}var Bh=class{constructor(r,l,c,f,Q,r0,m0,f0){this.sampleName=r,this.sampleRate=l,this.samplePitch=c,this.samplePitchCorrection=f,this.sampleLink=Q,this.sampleType=r0,this.sampleLoopStartIndex=m0,this.sampleLoopEndIndex=f0,this.isCompressed=(r0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}compressSample(r,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,r),this.sampleType|=16,this.isCompressed=!0}catch{L4(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}};var zC=class extends Bh{sampleDbAttenuation;sampleData;constructor(r,l,c,f,Q,r0,m0,f0){super(r,l,c,f,0,1,Q,r0-1),this.sampleData=m0,this.sampleDbAttenuation=f0}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let r=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return r}};function Sv(o){ni("%cLoading Wave samples...",D1.recognized);let r=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!f)throw new Error("No fmt chunk in the wave file!");if(o3(f.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(o3(f.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let m0=o3(f.chunkData,4);o3(f.chunkData,4),o3(f.chunkData,2);let f0=o3(f.chunkData,2),a0=f0/8,f1=Math.pow(2,a0*8-1),R=Math.pow(2,a0*8),x0,k0=!1;f0===8?(x0=255,k0=!0):x0=f1;let S1=c.find($3=>$3.header==="data");if(!S1)throw new Error("No data chunk in the wave chunk!");let e2=S1.size/a0,y1=new Float32Array(e2);for(let $3=0;$3=f1&&(w6-=R),y1[$3]=w6/x0)}let Y2=60,T2=0,V2=0,i3=y1.length-1,r3=0,A0=c.find($3=>$3.header==="wsmp");if(A0){if(o3(A0.chunkData,4),Y2=o3(A0.chunkData,2),T2=FA(A0.chunkData[A0.chunkData.currentIndex++],A0.chunkData[A0.chunkData.currentIndex++]),r3=(o3(A0.chunkData,4)|0)/-655360,o3(A0.chunkData,4),o3(A0.chunkData,4)===1){o3(A0.chunkData,8),V2=o3(A0.chunkData,4);let s6=o3(A0.chunkData,4);i3=V2+s6}}else L4("No wsmp chunk in wave... using sane defaults.");let y5=Ri(c,"INFO"),T3=`Unnamed ${r}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndex(Q.generators=Q.generators.filter(i0=>i0.generatorType!==k1.sampleID&&i0.generatorType!==k1.keyRange&&i0.generatorType!==k1.velRange),(Q.velRange.max!==127||Q.velRange.min!==0)&&Q.generators.unshift({generatorType:k1.velRange,generatorValue:Q.velRange.max<<8|Q.velRange.min}),(Q.keyRange.max!==127||Q.keyRange.min!==0)&&Q.generators.unshift({generatorType:k1.keyRange,generatorValue:Q.keyRange.max<<8|Q.keyRange.min}),Q.isGlobal||Q.generators.push({generatorType:k1.sampleID,generatorValue:this.samples.indexOf(Q.sample)}),Q.generators.length*4+u),0);let i=new V3(o),l=0;for(let c of this.instruments)for(let u of c.instrumentZones){u.generatorZoneStartIndex=l;for(let Q of u.generators)Q9(i,Q.generatorType),Q9(i,Q.generatorValue),l++}return g7(i,0),ze(new me("igen",i.length,i))}function gv(o,i,l,c,u){let Q=this.samples.map((A0,f1)=>{l&&A0.compressSample(c,u);let R=A0.getRawData();return Y5(`%cEncoded sample %c${f1}. ${A0.sampleName}%c of %c${this.samples.length}`,D1.info,D1.recognized,D1.info,D1.recognized),R}),i0=this.samples.reduce((A0,f1,R)=>A0+Q[R].length+46,0),m0=new V3(i0);this.samples.forEach((A0,f1)=>{let R=Q[f1],x0,k0,S1=R.length;A0.isCompressed?(x0=m0.currentIndex,k0=x0+R.length):(x0=m0.currentIndex/2,k0=x0+R.length/2,S1+=46),o.push(x0),m0.set(R,m0.currentIndex),m0.currentIndex+=S1,i.push(k0)});let f0=ze(new me("smpl",m0.length,m0),new V3([115,100,116,97]));return ze(new me("LIST",f0.length,f0))}function hv(o,i){let c=new V3(46*(this.samples.length+1));return this.samples.forEach((u,Q)=>{h7(c,u.sampleName,20);let i0=o[Q];g7(c,i0);let m0=i[Q];g7(c,m0);let f0=u.sampleLoopStartIndex+i0,A0=u.sampleLoopEndIndex+i0;u.isCompressed&&(f0-=i0,A0-=i0),g7(c,f0),g7(c,A0),g7(c,u.sampleRate),c[c.currentIndex++]=u.samplePitch,c[c.currentIndex++]=u.samplePitchCorrection,Q9(c,u.sampleLink),Q9(c,u.sampleType)}),h7(c,"EOS",46),ze(new me("shdr",c.length,c))}function uv(){let o=10;for(let c of this.instruments)o+=c.instrumentZones.reduce((u,Q)=>Q.modulators.length*10+u,0);let i=new V3(o),l=0;for(let c of this.instruments)for(let u of c.instrumentZones){u.modulatorZoneStartIndex=l;for(let Q of u.modulators)Q9(i,Q.sourceEnum),Q9(i,Q.modulatorDestination),Q9(i,Q.transformAmount),Q9(i,Q.secondarySourceEnum),Q9(i,Q.transformType),l++}return c7(i,0,10),ze(new me("imod",i.length,i))}function fv(){let o=this.instruments.reduce((Q,i0)=>i0.instrumentZones.length*4+Q,4),i=new V3(o),l=0,c=0,u=0;for(let Q of this.instruments){Q.instrumentZoneIndex=l;for(let i0 of Q.instrumentZones)i0.zoneID=l,Q9(i,c),Q9(i,u),c+=i0.generators.length,u+=i0.modulators.length,l++}return Q9(i,c),Q9(i,u),ze(new me("ibag",i.length,i))}function dv(){let o=this.instruments.length*22+22,i=new V3(o),l=0,c=0;for(let u of this.instruments)h7(i,u.instrumentName,20),Q9(i,l),l+=u.instrumentZones.length,u.instrumentID=c,c++;return h7(i,"EOI",20),Q9(i,l),ze(new me("inst",i.length,i))}function Iv(){let o=4;for(let c of this.presets)o+=c.presetZones.reduce((u,Q)=>(Q.generators=Q.generators.filter(i0=>i0.generatorType!==k1.instrument&&i0.generatorType!==k1.keyRange&&i0.generatorType!==k1.velRange),(Q.velRange.max!==127||Q.velRange.min!==0)&&Q.generators.unshift({generatorType:k1.velRange,generatorValue:Q.velRange.max<<8|Q.velRange.min}),(Q.keyRange.max!==127||Q.keyRange.min!==0)&&Q.generators.unshift({generatorType:k1.keyRange,generatorValue:Q.keyRange.max<<8|Q.keyRange.min}),Q.isGlobal||Q.generators.push({generatorType:k1.instrument,generatorValue:this.instruments.indexOf(Q.instrument)}),Q.generators.length*4+u),0);let i=new V3(o),l=0;for(let c of this.presets)for(let u of c.presetZones){u.generatorZoneStartIndex=l;for(let Q of u.generators)Q9(i,Q.generatorType),Q9(i,Q.generatorValue);l+=u.generators.length}return Q9(i,0),Q9(i,0),ze(new me("pgen",i.length,i))}function Ev(){let o=10;for(let c of this.presets)o+=c.presetZones.reduce((u,Q)=>Q.modulators.length*10+u,0);let i=new V3(o),l=0;for(let c of this.presets)for(let u of c.presetZones){u.modulatorZoneStartIndex=l;for(let Q of u.modulators)Q9(i,Q.sourceEnum),Q9(i,Q.modulatorDestination),Q9(i,Q.transformAmount),Q9(i,Q.secondarySourceEnum),Q9(i,Q.transformType),l++}return c7(i,0,10),ze(new me("pmod",i.length,i))}function mv(){let o=this.presets.reduce((Q,i0)=>i0.presetZones.length*4+Q,4),i=new V3(o),l=0,c=0,u=0;for(let Q of this.presets){Q.presetZoneStartIndex=l;for(let i0 of Q.presetZones)i0.zoneID=l,Q9(i,c),Q9(i,u),c+=i0.generators.length,u+=i0.modulators.length,l++}return Q9(i,c),Q9(i,u),ze(new me("pbag",i.length,i))}function Cv(){let o=this.presets.length*38+38,i=new V3(o),l=0;for(let c of this.presets)h7(i,c.presetName,20),Q9(i,c.program),Q9(i,c.bank),Q9(i,l),g7(i,c.library),g7(i,c.genre),g7(i,c.morphology),l+=c.presetZones.length;return h7(i,"EOP",20),Q9(i,0),Q9(i,0),Q9(i,l),g7(i,0),g7(i,0),g7(i,0),ze(new me("phdr",i.length,i))}var gD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function pv(o=gD){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ni("%cSaving soundfont...",D1.info),Y5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,D1.info,D1.recognized,D1.info,D1.recognized),Y5("%cWriting INFO...",D1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let a0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),T3=new V3(4);Q9(T3,a0),Q9(T3,y5),i.push(ze(new me(i3,4,T3)))}else if(i3==="DMOD")i.push(ze(new me(i3,r3.length,r3)));else{let a0=new V3(r3.length);h7(a0,r3),i.push(ze(new me(i3,r3.length,a0)))}let l=_n([new V3([73,78,70,79]),...i]),c=ze(new me("LIST",l.length,l));Y5("%cWriting SDTA...",D1.info);let u=[],Q=[],i0=gv.call(this,u,Q,o?.compress,o?.compressionQuality||.5,o.compressionFunction);Y5("%cWriting PDTA...",D1.info),Y5("%cWriting SHDR...",D1.info);let m0=hv.call(this,u,Q);Y5("%cWriting IGEN...",D1.info);let f0=cv.call(this);Y5("%cWriting IMOD...",D1.info);let A0=uv.call(this);Y5("%cWriting IBAG...",D1.info);let f1=fv.call(this);Y5("%cWriting INST...",D1.info);let R=dv.call(this),x0=Iv.call(this);Y5("%cWriting PMOD...",D1.info);let k0=Ev.call(this);Y5("%cWriting PBAG...",D1.info);let S1=mv.call(this);Y5("%cWriting PHDR...",D1.info);let e2=Cv.call(this),y1=_n([new V3([112,100,116,97]),e2,S1,k0,x0,R,f1,A0,f0,m0]),Y2=ze(new me("LIST",y1.length,y1));Y5("%cWriting the output file...",D1.info);let T2=_n([new V3([115,102,98,107]),c,i0,Y2]),V2=ze(new me("RIFF",T2.length,T2));return Y5(`%cSaved succesfully! Final file size: %c${V2.length}`,D1.info,D1.recognized),i4(),V2}var b$=class o{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=vC.map(l=>Ae.copy(l)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let l=i.shift(),c=l.presets;for(;i.length;)i.shift().presets.forEach(Q=>{c.find(i0=>i0.bank===Q.bank&&i0.program===Q.program)===void 0&&c.push(Q)});return new o({presets:c,info:l.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(l=>{l.isGlobal||l.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(l=>l.sampleIDOffset=i)}getPresetNoFallback(i,l,c=!1){let u=this.presets.find(Q=>Q.bank===i&&Q.program===l);if(u)return u;if(c!==!1)return i===128?this.presets.find(Q=>Q.bank===128):this.presets.find(Q=>Q.program===l)}getPreset(i,l){let c=this.presets.find(u=>u.bank===i&&u.program===l);return c||(i===128?(c=this.presets.find(u=>u.bank===128&&u.program===l),c||(c=this.presets.find(u=>u.bank===128))):c=this.presets.find(u=>u.program===l&&u.bank!==128),c&&L4(`%cPreset ${i}.${l} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,D1.warn,D1.recognized)),c||(L4(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let l=this.presets.find(c=>c.presetName===i);return l||(L4("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}};b$.prototype.write=pv;function Bv(o){ni("%cLoading instruments...",D1.info);for(let i=0;ii.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,l){for(let c=i;c{Q.sample.isSampleLoaded||Q.sample.getAudioData()})}preloadSpecific(i,l){this.getSamplesAndGenerators(i,l).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,l){let c=this.foundSamplesAndGenerators[i][l];if(c)return c;if(this.presetZones.length<1)return[];function u(R,x0,k0){return k0>=R&&k0<=x0}function Q(R,x0){R.push(...x0.filter(k0=>!R.find(S1=>S1.generatorType===k0.generatorType)))}function i0(R,x0){R.push(...x0.filter(k0=>!R.find(S1=>Ae.isIdentical(k0,S1))))}let m0=[],f0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],A0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(R=>u(R.keyRange.min,R.keyRange.max,i)&&u(R.velRange.min,R.velRange.max,l)&&!R.isGlobal).forEach(R=>{if(R.instrument.instrumentZones.length<1)return;let x0=R.generators,k0=R.modulators,S1=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].generators]:[],e2=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].modulators]:[];R.instrument.instrumentZones.filter(Y2=>u(Y2.keyRange.min,Y2.keyRange.max,i)&&u(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],V2=[...Y2.modulators];Q(x0,f0),Q(T2,S1),i0(k0,A0),i0(V2,e2),i0(V2,this.defaultModulators);let i3=[...V2];for(let r3=0;r3Ae.isIdentical(a0,T3));y5!==-1?i3[y5]=i3[y5].sumTransform(a0):i3.push(a0)}m0.push({instrumentGenerators:T2,presetGenerators:x0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===k1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][l]=m0,m0}};var Tm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var PA=class extends Tm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ch=class extends Tm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var ph=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 VC=class extends mh{constructor(i,l){super(vC),this.program=l&127,this.bank=i>>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new ph,this.DLSInstrument.addUseCount();let u=new Ch;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function Qv(o){this.verifyHeader(o,"LIST"),this.verifyText(Ee(o.chunkData,4),"ins ");let i=[];for(;o.chunkData.length>o.chunkData.currentIndex;)i.push(d4(o.chunkData));let l=i.find(k0=>k0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let c=o3(l.chunkData,4),u=o3(l.chunkData,4),Q=o3(l.chunkData,4),i0=new VC(u,Q),m0="unnamedPreset",f0=Fi(i,"INFO");if(f0){let k0=d4(f0.chunkData);for(;k0.header!=="INAM";)k0=d4(f0.chunkData);m0=Ee(k0.chunkData,k0.chunkData.length).trim()}i0.presetName=m0,i0.DLSInstrument.instrumentName=m0,ur(`%cParsing %c"${m0}"%c...`,D1.info,D1.recognized,D1.info);let A0=Fi(i,"lrgn");if(!A0)throw i4(),new Error("No region list!");let f1=new PA;f1.isGlobal=!0;let R=Fi(i,"lart"),x0=Fi(i,"lar2");this.readLart(R,x0,f1),i0.DLSInstrument.instrumentZones.push(f1);for(let k0=0;k0>10&15;Y2===Or.linear&&y1!==Or.linear&&(Y2=y1);let T2=c>>14&1,V2=c>>15&1;i0===k1.initialAttenuation&&(V2=!V2),R=Pr(Y2,T2,V2,m0.isCC,m0.enum)}let x0=c>>4&15,k0=c>>8&1,S1=c>>9&1,e2=Pr(x0,k0,S1,f1.isCC,f1.enum);if(f0){let y1=e2;e2=R,R=y1}return new Ae({srcEnum:R,secSrcEnum:e2,dest:i0,transform:0,amt:u})}function Zp(o,i){let l=o.chunkData,c=[],u=[];o3(l,4);let Q=o3(l,4);for(let i0=0;i0>16;if(m0===0&&f0===0&&f1===0){let k0;switch(A0){case m6.pan:k0=new W6(k1.pan,x0);break;case m6.gain:k0=new W6(k1.initialAttenuation,-x0*10/.4);break;case m6.filterCutoff:k0=new W6(k1.initialFilterFc,x0);break;case m6.filterQ:k0=new W6(k1.initialFilterQ,x0);break;case m6.modLfoFreq:k0=new W6(k1.freqModLFO,x0);break;case m6.modLfoDelay:k0=new W6(k1.delayModLFO,x0);break;case m6.vibLfoFreq:k0=new W6(k1.freqVibLFO,x0);break;case m6.vibLfoDelay:k0=new W6(k1.delayVibLFO,x0);break;case m6.volEnvDelay:k0=new W6(k1.delayVolEnv,x0);break;case m6.volEnvAttack:k0=new W6(k1.attackVolEnv,x0);break;case m6.volEnvHold:k0=new W6(k1.holdVolEnv,x0);break;case m6.volEnvDecay:k0=new W6(k1.decayVolEnv,x0);break;case m6.volEnvRelease:k0=new W6(k1.releaseVolEnv,x0);break;case m6.volEnvSustain:let S1=(1e3-x0)/10;k0=new W6(k1.sustainVolEnv,S1*10);break;case m6.modEnvDelay:k0=new W6(k1.delayModEnv,x0);break;case m6.modEnvAttack:k0=new W6(k1.attackModEnv,x0);break;case m6.modEnvHold:k0=new W6(k1.holdModEnv,x0);break;case m6.modEnvDecay:k0=new W6(k1.decayModEnv,x0);break;case m6.modEnvRelease:k0=new W6(k1.releaseModEnv,x0);break;case m6.modEnvSustain:let e2=1e3-x0;k0=new W6(k1.sustainModEnv,e2);break;case m6.reverbSend:k0=new W6(k1.reverbEffectsSend,x0);break;case m6.chorusSend:k0=new W6(k1.chorusEffectsSend,x0);break;case m6.pitch:let y1=Math.floor(x0/100),Y2=Math.floor(x0-y1*100);k0=new W6(k1.fineTune,Y2),c.push(new W6(k1.coarseTune,y1));break}k0&&c.push(k0)}else{let k0=!0;if(f0===w4.none)if(m0===w4.modLfo&&A0===m6.pitch)c.push(new W6(k1.modLfoToPitch,x0));else if(m0===w4.modLfo&&A0===m6.gain)c.push(new W6(k1.modLfoToVolume,x0));else if(m0===w4.modLfo&&A0===m6.filterCutoff)c.push(new W6(k1.modLfoToFilterFc,x0));else if(m0===w4.vibratoLfo&&A0===m6.pitch)c.push(new W6(k1.vibLfoToPitch,x0));else if(m0===w4.modEnv&&A0===m6.pitch)c.push(new W6(k1.modEnvToPitch,x0));else if(m0===w4.modEnv&&A0===m6.filterCutoff)c.push(new W6(k1.modEnvToFilterFc,x0));else if(m0===w4.keyNum&&A0===m6.volEnvHold){c.push(new W6(k1.keyNumToVolEnvHold,x0/-128));let S1=Math.round(60/128*x0);c.forEach(e2=>{e2.generatorType===k1.holdVolEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&A0===m6.volEnvDecay){c.push(new W6(k1.keyNumToVolEnvDecay,x0/-128));let S1=Math.round(60/128*x0);c.forEach(e2=>{e2.generatorType===k1.decayVolEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&A0===m6.modEnvHold){c.push(new W6(k1.keyNumToModEnvHold,x0/-128));let S1=Math.round(60/128*x0);c.forEach(e2=>{e2.generatorType===k1.holdModEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&A0===m6.modEnvDecay){c.push(new W6(k1.keyNumToModEnvDecay,x0/-128));let S1=Math.round(60/128*x0);c.forEach(e2=>{e2.generatorType===k1.decayModEnv&&(e2.generatorValue+=S1)})}else k0=!1;else k0=!1;if(k0===!1){let S1=wv(m0,f0,A0,f1,x0);S1?(u.push(S1),Y5("%cSucceeded converting to SF2 Modulator!",D1.recognized)):L4("Failed converting to SF2 Modulator!")}}}return u.find(i0=>i0.modulatorDestination===k1.reverbEffectsSend)===void 0&&u.push(new Ae({srcEnum:219,dest:k1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),u.find(i0=>i0.modulatorDestination===k1.chorusEffectsSend)===void 0&&u.push(new Ae({srcEnum:221,dest:k1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),i&&u.push(new Ae({srcEnum:129,dest:k1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new Ae({srcEnum:13,dest:k1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:u,generators:c}}function vv(o,i,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)i.push(d4(o.chunkData));let l=i.find(T3=>T3.header==="rgnh"),c=o3(l.chunkData,2),u=o3(l.chunkData,2),Q=o3(l.chunkData,2),i0=o3(l.chunkData,2),m0=new KC({min:c,max:u},{min:Q,max:i0});o3(l.chunkData,2);let f0=o3(l.chunkData,2);f0!==0&&m0.generators.push(new W6(k1.exclusiveClass,f0));let A0=Fi(i,"lart"),f1=Fi(i,"lar2");this.readLart(A0,f1,m0),m0.isGlobal=!1;let R=i.find(T3=>T3.header==="wsmp");o3(R.chunkData,4);let x0=o3(R.chunkData,2),k0=FA(R.chunkData[R.chunkData.currentIndex++],R.chunkData[R.chunkData.currentIndex++]),e2=(o3(R.chunkData,4)|0)/-655360;o3(R.chunkData,4);let y1=o3(R.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{o3(R.chunkData,4),o3(R.chunkData,4)===0?Y2=1:Y2=3,T2.start=o3(R.chunkData,4);let $3=o3(R.chunkData,4);T2.end=T2.start+$3}let V2=i.find(T3=>T3.header==="wlnk");if(V2===void 0)return;o3(V2.chunkData,2),o3(V2.chunkData,2),o3(V2.chunkData,4);let i3=o3(V2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(e2||r3.sampleDbAttenuation)*10/.4;return m0.setWavesample(y5,Y2,T2,x0,r3,i3,k0),m0}var Bh=class{constructor(i,l,c,u,Q,i0,m0,f0){this.sampleName=i,this.sampleRate=l,this.samplePitch=c,this.samplePitchCorrection=u,this.sampleLink=Q,this.sampleType=i0,this.sampleLoopStartIndex=m0,this.sampleLoopEndIndex=f0,this.isCompressed=(i0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}compressSample(i,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{L4(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}};var zC=class extends Bh{sampleDbAttenuation;sampleData;constructor(i,l,c,u,Q,i0,m0,f0){super(i,l,c,u,0,1,Q,i0-1),this.sampleData=m0,this.sampleDbAttenuation=f0}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let i=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return i}};function Sv(o){ni("%cLoading Wave samples...",D1.recognized);let i=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");let Q=o3(u.chunkData,2);if(Q!==1)throw new Error(`Only PCM format in WAVE is supported. Fmt reports ${Q}`);let i0=o3(u.chunkData,2);if(i0!==1)throw new Error(`Only mono samples are supported. Fmt reports ${i0} channels`);let m0=o3(u.chunkData,4);o3(u.chunkData,4),o3(u.chunkData,2);let f0=o3(u.chunkData,2),A0=f0/8,f1=Math.pow(2,A0*8-1),R=Math.pow(2,A0*8),x0,k0=!1;f0===8?(x0=255,k0=!0):x0=f1;let S1=c.find($3=>$3.header==="data");if(!S1)throw new Error("No data chunk in the wave chunk!");let e2=S1.size/A0,y1=new Float32Array(e2);for(let $3=0;$3=f1&&(w6-=R),y1[$3]=w6/x0)}let Y2=60,T2=0,V2=0,i3=y1.length-1,r3=0,a0=c.find($3=>$3.header==="wsmp");if(a0){if(o3(a0.chunkData,4),Y2=o3(a0.chunkData,2),T2=FA(a0.chunkData[a0.chunkData.currentIndex++],a0.chunkData[a0.chunkData.currentIndex++]),r3=(o3(a0.chunkData,4)|0)/-655360,o3(a0.chunkData,4),o3(a0.chunkData,4)===1){o3(a0.chunkData,8),V2=o3(a0.chunkData,4);let s6=o3(a0.chunkData,4);i3=V2+s6}}else L4("No wsmp chunk in wave... using sane defaults.");let y5=Fi(c,"INFO"),T3=`Unnamed ${i}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndexf0.header==="colh");if(!Q)throw i4(),new Error("No colh chunk!");this.instrumentAmount=o3(Q.chunkData,4),Y5(`%cInstruments amount: %c${this.instrumentAmount}`,D1.info,D1.recognized);let r0=Ri(c,"wvpl");this.readDLSSamples(r0);let m0=Ri(c,"lins");if(!m0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(m0),this.presets.sort((f0,a0)=>f0.program-a0.program+(f0.bank-a0.bank)),Y5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Ns.prototype.readDLSInstrumentList=Bv;Ns.prototype.readDLSInstrument=Qv;Ns.prototype.readRegion=kv;Ns.prototype.readLart=vv;Ns.prototype.readDLSSamples=Sv;var OA=OA!==void 0?OA:{},bv=!1,Dv;OA.isInitialized=new Promise(o=>Dv=o);var fD=function(o){var r,l,c,f,Q,r0,m0,f0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a0="",f1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do f=f0.indexOf(o.charAt(f1++)),Q=f0.indexOf(o.charAt(f1++)),r0=f0.indexOf(o.charAt(f1++)),m0=f0.indexOf(o.charAt(f1++)),r=f<<2|Q>>4,l=(15&Q)<<4|r0>>2,c=(3&r0)<<6|m0,a0+=String.fromCharCode(r),r0!==64&&(a0+=String.fromCharCode(l)),m0!==64&&(a0+=String.fromCharCode(c));while(f11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof V$))throw R0}),process.on("unhandledRejection",function(R0,X0){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(A0.read=function(X0){return read(X0)}),A0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(fr(typeof(C1=read(X0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(T3||$3)&&(T3?document.currentScript&&(o9=document.currentScript.src):o9=self.location.href,o9=o9.indexOf("blob:")!==0?o9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},$3&&(A0.readBinary=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),A0.readAsync=function(X0,C1,S2){var W3=new XMLHttpRequest;W3.open("GET",X0,!0),W3.responseType="arraybuffer",W3.onload=function(){if(W3.status==200||W3.status==0&&W3.response){C1(W3.response);return}S2()},W3.onerror=S2,W3.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var r4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),V6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(o in y5)y5.hasOwnProperty(o)&&(A0[o]=y5[o]);function je(R0){var X0=k0;return k0=k0+R0+15&-16,X0}function Hr(R0){var X0=f0[V2>>2],C1=X0+R0+15&-16;return f0[V2>>2]=C1,C1>=_9&&!Yr()?(f0[V2>>2]=X0,0):X0}function Ki(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function HA(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var X0=parseInt(R0.substr(1));return fr(X0%8==0),X0/8}}function Gs(R0){Gs.shown||(Gs.shown={}),Gs.shown[R0]||(Gs.shown[R0]=1,V6(R0))}y5=void 0;var Gm={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},x$=[];function tp(R0,X0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(X0>>>0):+(R0>>>0)+4294967296*+(0|X0)}function R$(R0,X0,C1){return C1&&C1.length?A0["dynCall_"+R0].apply(null,[X0].concat(C1)):A0["dynCall_"+R0].call(null,X0)}var YA=0,yh=0;function fr(R0,X0){R0||zi("Assertion failed: "+X0)}function JA(R0){var X0=A0["_"+R0];return fr(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var Um={stackSave:function(){zm()},stackRestore:function(){J$()},arrayToC:function(R0){var X0,C1,S2=VA(R0.length);return X0=R0,C1=S2,f.set(X0,C1),S2},stringToC:function(R0){var X0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;X0=VA(C1),Om(R0,X0,C1)}return X0}},Us={string:Um.stringToC,array:Um.arrayToC};function wh(R0,X0,C1,S2,W3){var g9=JA(R0),J9=[],h6=0;if(S2)for(var pt=0;pt>0]=X0;break;case"i16":r0[R0>>1]=X0;break;case"i32":f0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+Sh(tempDouble=X0)>=1?tempDouble>0?(0|Dh(+bh(tempDouble/4294967296),4294967295))>>>0:~~+H$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],f0[R0>>2]=tempI64[0],f0[R0+4>>2]=tempI64[1];break;case"float":f1[R0>>2]=X0;break;case"double":R[R0>>3]=X0;break;default:zi("invalid type for setValue: "+C1)}}function E3(R0,X0,C1){switch((X0=X0||"i8").charAt(X0.length-1)==="*"&&(X0="i32"),X0){case"i1":case"i8":return f[R0>>0];case"i16":return r0[R0>>1];case"i32":case"i64":return f0[R0>>2];case"float":return f1[R0>>2];case"double":return R[R0>>3];default:zi("invalid type for getValue: "+X0)}return null}function $B(R0,X0,C1,S2){typeof R0=="number"?(g9=!0,J9=R0):(g9=!1,J9=R0.length);var W3=typeof X0=="string"?X0:null;if(h6=C1==4?S2:[typeof Js=="function"?Js:je,VA,je,Hr][C1===void 0?2:C1](Math.max(J9,W3?1:X0.length)),g9){for(S2=h6,fr((3&h6)==0),pt=h6+(-4&J9);S2>2]=0;for(pt=h6+J9;S2>0]=0;return h6}if(W3==="i8")return R0.subarray||R0.slice?Q.set(R0,h6):Q.set(new Uint8Array(R0),h6),h6;for(var g9,J9,h6,pt,Te,Xe,Se,h9=0;h9>0],(S2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var h6="";if(g9<128){for(;X0>0;)W3=String.fromCharCode.apply(String,Q.subarray(R0,R0+Math.min(X0,1024))),h6=h6?h6+W3:W3,R0+=1024,X0-=1024;return h6}return C1=R0,function(Te,Xe){for(var Se=Xe;Te[Se];)++Se;if(Se-Xe>16&&Te.subarray&&Pm)return Pm.decode(Te.subarray(Xe,Se));for(var h9,M7,Ni,Bt,T7,Gi,Ui="";;){if(!(h9=Te[Xe++]))return Ui;if(!(128&h9)){Ui+=String.fromCharCode(h9);continue}if(M7=63&Te[Xe++],(224&h9)==192){Ui+=String.fromCharCode((31&h9)<<6|M7);continue}if(Ni=63&Te[Xe++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Ni:(Bt=63&Te[Xe++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Ni<<6|Bt:(T7=63&Te[Xe++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Ni<<12|Bt<<6|T7:(1&h9)<<30|M7<<24|Ni<<18|Bt<<12|T7<<6|(Gi=63&Te[Xe++]))),h9<65536)Ui+=String.fromCharCode(h9);else{var Nn=h9-65536;Ui+=String.fromCharCode(55296|Nn>>10,56320|1023&Nn)}}}(Q,C1)}function lB(R0){for(var X0="";;){var C1=f[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ps(R0,X0){return function(S2,W3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(f[W3>>0]=0)}(R0,X0,!1)}var Pm=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Mn(R0,X0,C1,S2){if(!(S2>0))return 0;for(var W3=C1,g9=C1+S2-1,J9=0;J9=55296&&h6<=57343&&(h6=65536+((1023&h6)<<10)|1023&R0.charCodeAt(++J9)),h6<=127){if(C1>=g9)break;X0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;X0[C1++]=192|h6>>6,X0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;X0[C1++]=224|h6>>12,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;X0[C1++]=240|h6>>18,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;X0[C1++]=248|h6>>24,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else{if(C1+5>=g9)break;X0[C1++]=252|h6>>30,X0[C1++]=128|h6>>24&63,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}}return X0[C1]=0,C1-W3}function Om(R0,X0,C1){return Mn(R0,Q,X0,C1)}function Os(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&R0.charCodeAt(++C1)),S2<=127?++X0:S2<=2047?X0+=2:S2<=65535?X0+=3:S2<=2097151?X0+=4:S2<=67108863?X0+=5:X0+=6}return X0}var qm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function cB(R0){for(var X0=R0,C1=X0>>1;r0[C1];)++C1;if((X0=C1<<1)-R0>32&&qm)return qm.decode(Q.subarray(R0,X0));for(var S2=0,W3="";;){var g9=r0[R0+2*S2>>1];if(g9==0)return W3;++S2,W3+=String.fromCharCode(g9)}}function gB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=X0,W3=(C1-=2)<2*R0.length?C1/2:R0.length,g9=0;g9>1]=J9,X0+=2}return r0[X0>>1]=0,X0-S2}function hB(R0){return 2*R0.length}function uB(R0){for(var X0=0,C1="";;){var S2=f0[R0+4*X0>>2];if(S2==0)return C1;if(++X0,S2>=65536){var W3=S2-65536;C1+=String.fromCharCode(55296|W3>>10,56320|1023&W3)}else C1+=String.fromCharCode(S2)}}function fB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=X0,W3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++g9)),f0[X0>>2]=J9,(X0+=4)+4>W3)break}return f0[X0>>2]=0,X0-S2}function dB(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&++C1,X0+=4}return X0}function IB(R0){var X0=Os(R0)+1,C1=Js(X0);return C1&&Mn(R0,f,C1,X0),C1}function EB(R0){var X0=Os(R0)+1,C1=VA(X0);return Mn(R0,f,C1,X0),C1}function Hm(R0){return R0}function rp(){var R0,X0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(W3){S2=W3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return A0.extraStackTrace&&(X0+=` -`+A0.extraStackTrace()),(R0=X0).replace(/__Z[\w\d_]+/g,function(C1){var S2,W3=S2=C1;return C1===W3?C1:C1+" ["+W3+"]"})}function vh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function Ym(R0){A0.buffer=c=R0}function Y9(){A0.HEAP8=f=new Int8Array(c),A0.HEAP16=r0=new Int16Array(c),A0.HEAP32=f0=new Int32Array(c),A0.HEAPU8=Q=new Uint8Array(c),A0.HEAPU16=m0=new Uint16Array(c),A0.HEAPU32=a0=new Uint32Array(c),A0.HEAPF32=f1=new Float32Array(c),A0.HEAPF64=R=new Float64Array(c)}function Yr(){var R0=A0.usingWasm?65536:16777216,X0=2147483648-R0;if(f0[V2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?vh(2*_9,R0):Math.min(vh((3*_9+2147483648)/4,R0),X0);var S2=A0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Ym(S2),Y9(),!0):(_9=C1,!1)}x0=k0=e2=y1=Y2=T2=V2=0,S1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(c,R0);else{var X0,C1=f;X0=new ArrayBuffer(R0),new Int8Array(X0).set(C1)}}catch{return!1}return!!op(X0)&&X0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(X0){return X0.byteLength}}var T$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function N$(){return _9}function qs(R0){for(;R0.length>0;){var X0=R0.shift();if(typeof X0=="function"){X0();continue}var C1=X0.func;typeof C1=="number"?X0.arg===void 0?A0.dynCall_v(C1):A0.dynCall_vi(C1,X0.arg):C1(X0.arg===void 0?null:X0.arg)}}_9=0?R0:X0<=32?2*Math.abs(1<=S2&&(X0<=32||R0>S2)&&(R0=-2*S2+R0),R0}var Sh=Math.abs,H$=Math.ceil,bh=Math.floor,Dh=Math.min,Tn=0,_h=null,Ys=null;function mB(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var Km="data:application/octet-stream;base64,";function Y$(R0){return String.prototype.startsWith?R0.startsWith(Km):R0.indexOf(Km)===0}(function(){var X0="main.wast",C1="main.wasm",S2="main.temp.asm.js";Y$(X0)||(X0=K4(X0)),Y$(C1)||(C1=K4(C1)),Y$(S2)||(S2=K4(S2));var W3={global:null,env:null,asm2wasm:Gm,parent:A0},g9=null;function J9(Se){return Se}function h6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){zi(Se)}}A0.asmPreload=A0.asm;var pt=A0.reallocBuffer,Te=function(Se){Se=vh(Se,A0.usingWasm?65536:16777216);var h9=A0.buffer.byteLength;if(A0.usingWasm)try{var M7=A0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(Se){return Xe==="asmjs"?pt(Se):Te(Se)};var Xe="";A0.asm=function(Se,h9,M7){var Ni;if(!(h9=Ni=h9).table){var Bt,T7=A0.wasmTableSize;T7===void 0&&(T7=1024);var Gi=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Gi!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Gi,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),A0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=A0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),Bt=function(Nn,dr,Zm){if(typeof WebAssembly!="object")return V6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return V6("no native wasm Memory in use"),!1;function Lh(Ir,Zi){if((g9=Ir.exports).memory){var KA,Vs,Ks;KA=g9.memory,Vs=A0.buffer,KA.byteLength0?C1:Os(R0)+1,W3=Array(S2),g9=Mn(R0,W3,0,W3.length);return X0&&(W3.length=g9),W3}function sp(R0){for(var X0=[],C1=0;C1255&&(S2&=255),X0.push(String.fromCharCode(S2))}return X0.join("")}k0+=16,V2=je(4),Y2=(e2=y1=Ki(k0))+T$,T2=Ki(Y2),f0[V2>>2]=T2,S1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:zi,assert:fr,enlargeMemory:Yr,getTotalMemory:N$,abortOnCannotGrowMemory:function(){zi("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(X0,C1,S2){var W3=zm();try{return A0.dynCall_iii(X0,C1,S2)}catch(g9){if(J$(W3),typeof g9!="number"&&g9!=="longjmp")throw g9;A0.setThrew(1,0)}},___assert_fail:function(X0,C1,S2,W3){zi("Assertion failed: "+M$(X0)+", at: "+[C1?M$(C1):"unknown filename",S2,W3?M$(W3):"unknown function"])},___setErrNo:function(X0){return A0.___errno_location&&(f0[A0.___errno_location()>>2]=X0),X0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(X0,C1,S2){return Q.set(Q.subarray(C1,C1+S2),X0),X0},_llvm_floor_f64:bh,DYNAMICTOP_PTR:V2,tempDoublePtr:F7,ABORT:YA,STACKTOP:y1,STACK_MAX:Y2};var Kr=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,c);A0.asm=Kr,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var op=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 Js=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 VA=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},J$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},zm=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function V$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function K$(R0){R0=R0||A0.arguments,!(Tn>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)np(A0.preRun.shift());qs(Jr)}(),!(Tn>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),X0()},1)):X0())));function X0(){!A0.calledRun&&(A0.calledRun=!0,YA||(P$||(P$=!0,qs(G$)),qs(kh),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)Ti(A0.postRun.shift());qs(U$)}()))}}function Ap(R0,X0){(!X0||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(YA=!0,yh=R0,y1=r3,qs(yi),Mi=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new V$(R0)))}function zi(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(r4(R0),V6(R0),R0=JSON.stringify(R0)):R0="",YA=!0,yh=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=Kr,A0.ccall=wh,A0.cwrap=function(X0,C1,S2,W3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!W3?JA(X0):function(){return wh(X0,C1,S2,arguments,W3)}},V$.prototype=Error(),V$.prototype.constructor=V$,Ys=function R0(){A0.calledRun||K$(),A0.calledRun||(Ys=R0)},A0.run=K$,A0.abort=zi,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,K$(),A0.onRuntimeInitialized=()=>{bv=!0,Dv()},OA.decode=function(R0){return function(C1){if(!bv)throw Error("Not initialized");var S2={};function W3(dr){return new Int32Array(A0.HEAPU8.buffer,dr,1)[0]}function g9(dr,Zm){var Lh=new ArrayBuffer(Zm*Float32Array.BYTES_PER_ELEMENT),w8=new Float32Array(Lh);return w8.set(new Float32Array(A0.HEAPU8.buffer,dr,Zm)),w8}S2.open=A0.cwrap("stb_vorbis_js_open","number",[]),S2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,pt,Te,Xe=S2.open(),Se=(J9=C1,h6=C1.byteLength,pt=A0._malloc(h6),(Te=new Uint8Array(A0.HEAPU8.buffer,pt,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=A0._malloc(4),M7=A0._malloc(4),Ni=S2.decode(Xe,Se.byteOffset,Se.byteLength,h9,M7);if(A0._free(Se.byteOffset),Ni<0)throw S2.close(Xe),A0._free(h9),Error("stbvorbis decode failed: "+Ni);for(var Bt=S2.channels(Xe),T7=Array(Bt),Gi=new Int32Array(A0.HEAPU32.buffer,W3(h9),Bt),Ui=0;Uio.chunkData.currentIndex;){let Q=dD(f,o.chunkData,r,l);c.push(Q),f++}return c.length>1&&c.pop(),c}function dD(o,r,l,c){let f=Ee(r,20),Q=o3(r,4)*2,r0=o3(r,4)*2,m0=o3(r,4),f0=o3(r,4),a0=o3(r,4),f1=r[r.currentIndex++];f1===255&&(f1=60);let R=yy(r[r.currentIndex++]),x0=o3(r,2),k0=o3(r,2);return new Wp(f,Q,r0,m0,f0,a0,f1,R,x0,k0,l,o,c)}var jp=class extends W6{constructor(r){super();let l=r.currentIndex;this.generatorType=r[l+1]<<8|r[l],this.generatorValue=FA(r[l+2],r[l+3]),r.currentIndex+=4}};function Xp(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new jp(o.chunkData));return r.length>1&&r.pop(),r}var eB=class extends ph{constructor(r){super(),this.instrumentName=Ee(r.chunkData,20).trim(),this.instrumentZoneIndex=o3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let c=this.instrumentZoneIndex;co.chunkData.currentIndex;){let c=new eB(o);if(l.length>0){let f=c.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(f,r)}l.push(c)}return l.length>1&&l.pop(),l}var tB=class extends PA{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lc.generatorType===k1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===k1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===k1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function xv(o,r,l,c){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let Q=new tB(o.chunkData);if(f.length>0){let r0=Q.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,m0=Q.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(r0,m0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getSample(c),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(Q)}return f.length>1&&f.pop(),f}var iB=class extends Ch{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lc.generatorType===k1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===k1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===k1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function Rv(o,r,l,c){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let Q=new iB(o.chunkData);if(f.length>0){let r0=Q.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,m0=Q.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(r0,m0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getInstrument(c),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(Q)}return f.length>1&&f.pop(),f}var rB=class extends mh{constructor(r,l){super(l),this.presetName=Ee(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(r.chunkData,2),this.bank=o3(r.chunkData,2),this.presetZoneStartIndex=o3(r.chunkData,2),this.library=o3(r.chunkData,4),this.genre=o3(r.chunkData,4),this.morphology=o3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let c=this.presetZoneStartIndex;co.chunkData.currentIndex;){let f=new rB(o,l);if(c.length>0){let Q=f.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(Q,r)}c.push(f)}return c.length>1&&c.pop(),c}var nB=class extends Ae{constructor(r){super({srcEnum:o3(r,2),dest:o3(r,2),amt:FA(r[r.currentIndex++],r[r.currentIndex++]),secSrcEnum:o3(r,2),transform:o3(r,2)})}};function ZC(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new nB(o.chunkData));return r}var WC=class extends b${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new V3(r),hr("%cParsing SoundFont...",D1.info),!this.dataArray)throw i4(),new TypeError("No data!");let c=d4(this.dataArray,!1);this.verifyHeader(c,"riff");let f=Ee(this.dataArray,4).toLowerCase();if(f!=="sfbk"&&f!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${f}"`);let Q=f==="sfpk",r0=d4(this.dataArray);for(this.verifyHeader(r0,"list"),Ee(r0.chunkData,4);r0.chunkData.length>r0.chunkData.currentIndex;){let w6=d4(r0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${o3(w6.chunkData,2)}.${o3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ee(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=ZC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let K4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...K4.filter(r4=>!this.defaultModulators.find(V6=>Ae.isIdentical(r4,V6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ee(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}Y5(`%c"${w6.header}": %c"${s6}"`,D1.info,D1.recognized)}let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"list"),this.verifyText(Ee(this.dataArray,4),"sdta"),Y5("%cVerifying smpl chunk...",D1.warn);let f0=d4(this.dataArray,!1);this.verifyHeader(f0,"smpl");let a0;if(Q){Y5("%cSF2Pack detected, attempting to decode the smpl chunk...",D1.info);try{a0=OA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+m0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}Y5(`%cDecoded the smpl chunk! Length: %c${a0.length}`,D1.info,D1.value)}else a0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;Y5(`%cSkipping sample chunk, length: %c${m0.size-12}`,D1.info,D1.value),this.dataArray.currentIndex+=m0.size-12,Y5("%cLoading preset data chunk...",D1.warn);let f1=d4(this.dataArray);this.verifyHeader(f1,"list"),Ee(f1.chunkData,4);let R=d4(f1.chunkData);this.verifyHeader(R,"phdr");let x0=d4(f1.chunkData);this.verifyHeader(x0,"pbag");let k0=d4(f1.chunkData);this.verifyHeader(k0,"pmod");let S1=d4(f1.chunkData);this.verifyHeader(S1,"pgen");let e2=d4(f1.chunkData);this.verifyHeader(e2,"inst");let y1=d4(f1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(f1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(f1.chunkData);this.verifyHeader(T2,"igen");let V2=d4(f1.chunkData);this.verifyHeader(V2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(..._v(V2,a0,!Q));let i3=Xp(T2),r3=ZC(Y2),A0=xv(y1,i3,r3,this.samples);this.instruments=Lv(e2,A0);let y5=Xp(S1),T3=ZC(k0),$3=Rv(x0,y5,T3,this.instruments);this.presets.push(...Fv(R,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),Y5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4(),Q&&delete this.dataArray}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};function Qh(o){let r=o.slice(8,12),l=new V3(r);return Ee(l,4,void 0,!1).toLowerCase()==="dls "?new Ns(o):new WC(o,!1)}async function Mv(){let o="locale.exportAudio.formats.formats.soundfont.options.";F8(this.localeManager.getLocaleString(o+"title"),[{type:"toggle",translatePathTitle:o+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:o+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:o+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:async r=>{let l=r.div.querySelector("input[trim-toggle='1']").checked,c=r.div.querySelector("input[compress-toggle='1']").checked,f=parseInt(r.div.querySelector("input[type='range']").value)/10;We(r.id),hr("%cExporting minified soundfont...",D1.info);let Q=await this.seq.getMIDI(),r0=Qh(Q.embeddedSoundFont||this.soundFont);fh(Q,await this.synth.getSynthesizerSnapshot()),l&&JC(r0,Q);let m0=r0.write({compress:c,compressionQuality:f,compressionFunction:this.compressionFunc}),f0=new Blob([m0.buffer],{type:"audio/soundfont"}),a0=r0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(f0,`${r0.soundFontInfo.INAM||"unnamed"}.${a0}`),i4()}}],99999999,!0,this.localeManager)}async function Tv(){let o="locale.exportAudio.formats.";F8(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:r=>{We(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:r=>{We(r.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:r=>{We(r.id);try{this._exportSoundfont()}catch{F8("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:r=>{We(r.id);try{this._exportRMIDI()}catch{F8("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Nv(){let o=(R,x0,k0)=>this.seq.midiData.RMIDInfo?.[R]===void 0?x0:k0.decode(this.seq.midiData.RMIDInfo?.[R]).replace(/\0$/,""),r=o("IENC","ascii",new TextDecoder),l=new TextDecoder(r),c=o("IPRD","",l),f=o("IART","",l),Q=o("IGNR","",l),r0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),m0="locale.exportAudio.formats.formats.rmidi.options.",f0="locale.exportAudio.formats.metadata.",f1=F8(this.localeManager.getLocaleString(m0+"title"),[{type:"toggle",translatePathTitle:m0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:m0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:f0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:f0+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:f0+"artist",attributes:{value:f,name:"artist",type:"text"}},{type:"input",translatePathTitle:f0+"genre",attributes:{value:Q,name:"genre",type:"text"}},{type:"input",translatePathTitle:f0+"comment",attributes:{value:r0,name:"comment",type:"text"}},{type:"file",translatePathTitle:f0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:m0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:m0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(m0+"confirm"),onClick:async R=>{let x0=R.div.querySelector("input[compress-toggle='1']").checked,k0=parseInt(R.div.querySelector("input[type='range']").value)/10,S1=R.div.querySelector("input[name='album']").value,e2=R.div.querySelector("input[name='artist']").value,y1=R.div.querySelector("input[name='song_title']").value,Y2=R.div.querySelector("input[name='comment']").value,T2=R.div.querySelector("input[name='genre']").value,V2=parseInt(R.div.querySelector("input[name='bank_offset']").value),i3=R.div.querySelector("input[name='adjust']").checked,r3=R.div.querySelector("input[type='file']")?.files[0];We(R.id),ni("%cExporting RMIDI...",D1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",y5=F8(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(V6=>setTimeout(V6,500));let T3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Qh($3.embeddedSoundFont||this.soundFont);T3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(V6=>setTimeout(V6,75)),fh($3,await this.synth.getSynthesizerSnapshot()),T3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(V6=>setTimeout(V6,75)),JC(w6,$3);let s6=w6.write({compress:x0,compressionQuality:k0,compressionFunction:this.compressionFunc});T3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(V6=>setTimeout(V6,75));let o9;r3?.type.split("/")[0]==="image"?o9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let K4=vy(s6,$3,w6,V2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:S1.length>0?S1:void 0,artist:e2.length>0?e2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([K4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),T3.textContent=this.localeManager.getLocaleString(A0+"done"),We(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");f1.oninput=()=>{f1.files[0]&&(f1.parentElement.firstChild.textContent=f1.files[0].name)}}var jC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var r={};for(var l in o)o.hasOwnProperty(l)&&(r[l]=o[l]);var c=typeof window=="object",f=typeof process=="object"&&typeof QC=="function"&&!c,Q=typeof importScripts=="function",r0=!c&&!f&&!Q;if(f){o.print||(o.print=function($){process.stdout.write($+` +`+this.soundFontInfo.ISBJ,delete this.soundFontInfo.ISBJ);for(let[f0,A0]of Object.entries(this.soundFontInfo))Y5(`%c"${f0}": %c"${A0}"`,D1.info,D1.recognized);let Q=c.find(f0=>f0.header==="colh");if(!Q)throw i4(),new Error("No colh chunk!");this.instrumentAmount=o3(Q.chunkData,4),Y5(`%cInstruments amount: %c${this.instrumentAmount}`,D1.info,D1.recognized);let i0=Fi(c,"wvpl");this.readDLSSamples(i0);let m0=Fi(c,"lins");if(!m0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(m0),this.presets.sort((f0,A0)=>f0.program-A0.program+(f0.bank-A0.bank)),Y5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4()}verifyHeader(i,l){if(i.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${i.header.toLowerCase()}"`)}verifyText(i,l){if(i.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${i.toLowerCase()}"`)}};Ns.prototype.readDLSInstrumentList=Bv;Ns.prototype.readDLSInstrument=Qv;Ns.prototype.readRegion=kv;Ns.prototype.readLart=vv;Ns.prototype.readDLSSamples=Sv;var OA=OA!==void 0?OA:{},bv=!1,Dv;OA.isInitialized=new Promise(o=>Dv=o);var fD=function(o){var i,l,c,u,Q,i0,m0,f0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",A0="",f1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=f0.indexOf(o.charAt(f1++)),Q=f0.indexOf(o.charAt(f1++)),i0=f0.indexOf(o.charAt(f1++)),m0=f0.indexOf(o.charAt(f1++)),i=u<<2|Q>>4,l=(15&Q)<<4|i0>>2,c=(3&i0)<<6|m0,A0+=String.fromCharCode(i),i0!==64&&(A0+=String.fromCharCode(l)),m0!==64&&(A0+=String.fromCharCode(c));while(f11&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof V$))throw R0}),process.on("unhandledRejection",function(R0,X0){process.exit(1)}),a0.quit=function(R0){process.exit(R0)},a0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(a0.read=function(X0){return read(X0)}),a0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(dr(typeof(C1=read(X0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?a0.arguments=scriptArgs:typeof arguments<"u"&&(a0.arguments=arguments),typeof quit=="function"&&(a0.quit=function(R0){quit(R0)})):(T3||$3)&&(T3?document.currentScript&&(o9=document.currentScript.src):o9=self.location.href,o9=o9.indexOf("blob:")!==0?o9.split("/").slice(0,-1).join("/")+"/":"",a0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},$3&&(a0.readBinary=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),a0.readAsync=function(X0,C1,S2){var W3=new XMLHttpRequest;W3.open("GET",X0,!0),W3.responseType="arraybuffer",W3.onload=function(){if(W3.status==200||W3.status==0&&W3.response){C1(W3.response);return}S2()},W3.onerror=S2,W3.send(null)},a0.setWindowTitle=function(R0){document.title=R0});var r4=a0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),V6=a0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(o in y5)y5.hasOwnProperty(o)&&(a0[o]=y5[o]);function We(R0){var X0=k0;return k0=k0+R0+15&-16,X0}function Yr(R0){var X0=f0[V2>>2],C1=X0+R0+15&-16;return f0[V2>>2]=C1,C1>=_9&&!Jr()?(f0[V2>>2]=X0,0):X0}function zi(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function HA(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var X0=parseInt(R0.substr(1));return dr(X0%8==0),X0/8}}function Gs(R0){Gs.shown||(Gs.shown={}),Gs.shown[R0]||(Gs.shown[R0]=1,V6(R0))}y5=void 0;var Gm={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},x$=[];function tp(R0,X0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(X0>>>0):+(R0>>>0)+4294967296*+(0|X0)}function R$(R0,X0,C1){return C1&&C1.length?a0["dynCall_"+R0].apply(null,[X0].concat(C1)):a0["dynCall_"+R0].call(null,X0)}var YA=0,yh=0;function dr(R0,X0){R0||Zi("Assertion failed: "+X0)}function JA(R0){var X0=a0["_"+R0];return dr(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var Um={stackSave:function(){zm()},stackRestore:function(){J$()},arrayToC:function(R0){var X0,C1,S2=VA(R0.length);return X0=R0,C1=S2,u.set(X0,C1),S2},stringToC:function(R0){var X0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;X0=VA(C1),Om(R0,X0,C1)}return X0}},Us={string:Um.stringToC,array:Um.arrayToC};function wh(R0,X0,C1,S2,W3){var g9=JA(R0),J9=[],h6=0;if(S2)for(var pt=0;pt>0]=X0;break;case"i16":i0[R0>>1]=X0;break;case"i32":f0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+Sh(tempDouble=X0)>=1?tempDouble>0?(0|Dh(+bh(tempDouble/4294967296),4294967295))>>>0:~~+H$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],f0[R0>>2]=tempI64[0],f0[R0+4>>2]=tempI64[1];break;case"float":f1[R0>>2]=X0;break;case"double":R[R0>>3]=X0;break;default:Zi("invalid type for setValue: "+C1)}}function E3(R0,X0,C1){switch((X0=X0||"i8").charAt(X0.length-1)==="*"&&(X0="i32"),X0){case"i1":case"i8":return u[R0>>0];case"i16":return i0[R0>>1];case"i32":case"i64":return f0[R0>>2];case"float":return f1[R0>>2];case"double":return R[R0>>3];default:Zi("invalid type for getValue: "+X0)}return null}function $B(R0,X0,C1,S2){typeof R0=="number"?(g9=!0,J9=R0):(g9=!1,J9=R0.length);var W3=typeof X0=="string"?X0:null;if(h6=C1==4?S2:[typeof Js=="function"?Js:We,VA,We,Yr][C1===void 0?2:C1](Math.max(J9,W3?1:X0.length)),g9){for(S2=h6,dr((3&h6)==0),pt=h6+(-4&J9);S2>2]=0;for(pt=h6+J9;S2>0]=0;return h6}if(W3==="i8")return R0.subarray||R0.slice?Q.set(R0,h6):Q.set(new Uint8Array(R0),h6),h6;for(var g9,J9,h6,pt,Te,je,Se,h9=0;h9>0],(S2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var h6="";if(g9<128){for(;X0>0;)W3=String.fromCharCode.apply(String,Q.subarray(R0,R0+Math.min(X0,1024))),h6=h6?h6+W3:W3,R0+=1024,X0-=1024;return h6}return C1=R0,function(Te,je){for(var Se=je;Te[Se];)++Se;if(Se-je>16&&Te.subarray&&Pm)return Pm.decode(Te.subarray(je,Se));for(var h9,M7,Gi,Bt,T7,Ui,Pi="";;){if(!(h9=Te[je++]))return Pi;if(!(128&h9)){Pi+=String.fromCharCode(h9);continue}if(M7=63&Te[je++],(224&h9)==192){Pi+=String.fromCharCode((31&h9)<<6|M7);continue}if(Gi=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Gi:(Bt=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Gi<<6|Bt:(T7=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Gi<<12|Bt<<6|T7:(1&h9)<<30|M7<<24|Gi<<18|Bt<<12|T7<<6|(Ui=63&Te[je++]))),h9<65536)Pi+=String.fromCharCode(h9);else{var Nn=h9-65536;Pi+=String.fromCharCode(55296|Nn>>10,56320|1023&Nn)}}}(Q,C1)}function lB(R0){for(var X0="";;){var C1=u[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ps(R0,X0){return function(S2,W3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(u[W3>>0]=0)}(R0,X0,!1)}var Pm=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Mn(R0,X0,C1,S2){if(!(S2>0))return 0;for(var W3=C1,g9=C1+S2-1,J9=0;J9=55296&&h6<=57343&&(h6=65536+((1023&h6)<<10)|1023&R0.charCodeAt(++J9)),h6<=127){if(C1>=g9)break;X0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;X0[C1++]=192|h6>>6,X0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;X0[C1++]=224|h6>>12,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;X0[C1++]=240|h6>>18,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;X0[C1++]=248|h6>>24,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else{if(C1+5>=g9)break;X0[C1++]=252|h6>>30,X0[C1++]=128|h6>>24&63,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}}return X0[C1]=0,C1-W3}function Om(R0,X0,C1){return Mn(R0,Q,X0,C1)}function Os(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&R0.charCodeAt(++C1)),S2<=127?++X0:S2<=2047?X0+=2:S2<=65535?X0+=3:S2<=2097151?X0+=4:S2<=67108863?X0+=5:X0+=6}return X0}var qm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function cB(R0){for(var X0=R0,C1=X0>>1;i0[C1];)++C1;if((X0=C1<<1)-R0>32&&qm)return qm.decode(Q.subarray(R0,X0));for(var S2=0,W3="";;){var g9=i0[R0+2*S2>>1];if(g9==0)return W3;++S2,W3+=String.fromCharCode(g9)}}function gB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=X0,W3=(C1-=2)<2*R0.length?C1/2:R0.length,g9=0;g9>1]=J9,X0+=2}return i0[X0>>1]=0,X0-S2}function hB(R0){return 2*R0.length}function uB(R0){for(var X0=0,C1="";;){var S2=f0[R0+4*X0>>2];if(S2==0)return C1;if(++X0,S2>=65536){var W3=S2-65536;C1+=String.fromCharCode(55296|W3>>10,56320|1023&W3)}else C1+=String.fromCharCode(S2)}}function fB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=X0,W3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++g9)),f0[X0>>2]=J9,(X0+=4)+4>W3)break}return f0[X0>>2]=0,X0-S2}function dB(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&++C1,X0+=4}return X0}function IB(R0){var X0=Os(R0)+1,C1=Js(X0);return C1&&Mn(R0,u,C1,X0),C1}function EB(R0){var X0=Os(R0)+1,C1=VA(X0);return Mn(R0,u,C1,X0),C1}function Hm(R0){return R0}function rp(){var R0,X0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(W3){S2=W3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return a0.extraStackTrace&&(X0+=` +`+a0.extraStackTrace()),(R0=X0).replace(/__Z[\w\d_]+/g,function(C1){var S2,W3=S2=C1;return C1===W3?C1:C1+" ["+W3+"]"})}function vh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function Ym(R0){a0.buffer=c=R0}function Y9(){a0.HEAP8=u=new Int8Array(c),a0.HEAP16=i0=new Int16Array(c),a0.HEAP32=f0=new Int32Array(c),a0.HEAPU8=Q=new Uint8Array(c),a0.HEAPU16=m0=new Uint16Array(c),a0.HEAPU32=A0=new Uint32Array(c),a0.HEAPF32=f1=new Float32Array(c),a0.HEAPF64=R=new Float64Array(c)}function Jr(){var R0=a0.usingWasm?65536:16777216,X0=2147483648-R0;if(f0[V2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?vh(2*_9,R0):Math.min(vh((3*_9+2147483648)/4,R0),X0);var S2=a0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Ym(S2),Y9(),!0):(_9=C1,!1)}x0=k0=e2=y1=Y2=T2=V2=0,S1=!1,a0.reallocBuffer||(a0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(c,R0);else{var X0,C1=u;X0=new ArrayBuffer(R0),new Int8Array(X0).set(C1)}}catch{return!1}return!!op(X0)&&X0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(X0){return X0.byteLength}}var T$=a0.TOTAL_STACK||5242880,_9=a0.TOTAL_MEMORY||16777216;function N$(){return _9}function qs(R0){for(;R0.length>0;){var X0=R0.shift();if(typeof X0=="function"){X0();continue}var C1=X0.func;typeof C1=="number"?X0.arg===void 0?a0.dynCall_v(C1):a0.dynCall_vi(C1,X0.arg):C1(X0.arg===void 0?null:X0.arg)}}_9=0?R0:X0<=32?2*Math.abs(1<=S2&&(X0<=32||R0>S2)&&(R0=-2*S2+R0),R0}var Sh=Math.abs,H$=Math.ceil,bh=Math.floor,Dh=Math.min,Tn=0,_h=null,Ys=null;function mB(R0){return R0}a0.preloadedImages={},a0.preloadedAudios={};var Km="data:application/octet-stream;base64,";function Y$(R0){return String.prototype.startsWith?R0.startsWith(Km):R0.indexOf(Km)===0}(function(){var X0="main.wast",C1="main.wasm",S2="main.temp.asm.js";Y$(X0)||(X0=K4(X0)),Y$(C1)||(C1=K4(C1)),Y$(S2)||(S2=K4(S2));var W3={global:null,env:null,asm2wasm:Gm,parent:a0},g9=null;function J9(Se){return Se}function h6(){try{if(a0.wasmBinary)return new Uint8Array(a0.wasmBinary);if(a0.readBinary)return a0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Zi(Se)}}a0.asmPreload=a0.asm;var pt=a0.reallocBuffer,Te=function(Se){Se=vh(Se,a0.usingWasm?65536:16777216);var h9=a0.buffer.byteLength;if(a0.usingWasm)try{var M7=a0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(Se){return je==="asmjs"?pt(Se):Te(Se)};var je="";a0.asm=function(Se,h9,M7){var Gi;if(!(h9=Gi=h9).table){var Bt,T7=a0.wasmTableSize;T7===void 0&&(T7=1024);var Ui=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Ui!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Ui,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),a0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=a0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),Bt=function(Nn,Ir,Zm){if(typeof WebAssembly!="object")return V6("no native wasm support detected"),!1;if(!(a0.wasmMemory instanceof WebAssembly.Memory))return V6("no native wasm Memory in use"),!1;function Lh(Er,Wi){if((g9=Er.exports).memory){var KA,Vs,Ks;KA=g9.memory,Vs=a0.buffer,KA.byteLength0?C1:Os(R0)+1,W3=Array(S2),g9=Mn(R0,W3,0,W3.length);return X0&&(W3.length=g9),W3}function sp(R0){for(var X0=[],C1=0;C1255&&(S2&=255),X0.push(String.fromCharCode(S2))}return X0.join("")}k0+=16,V2=We(4),Y2=(e2=y1=zi(k0))+T$,T2=zi(Y2),f0[V2>>2]=T2,S1=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:Zi,assert:dr,enlargeMemory:Jr,getTotalMemory:N$,abortOnCannotGrowMemory:function(){Zi("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(X0,C1,S2){var W3=zm();try{return a0.dynCall_iii(X0,C1,S2)}catch(g9){if(J$(W3),typeof g9!="number"&&g9!=="longjmp")throw g9;a0.setThrew(1,0)}},___assert_fail:function(X0,C1,S2,W3){Zi("Assertion failed: "+M$(X0)+", at: "+[C1?M$(C1):"unknown filename",S2,W3?M$(W3):"unknown function"])},___setErrNo:function(X0){return a0.___errno_location&&(f0[a0.___errno_location()>>2]=X0),X0},_abort:function(){a0.abort()},_emscripten_memcpy_big:function(X0,C1,S2){return Q.set(Q.subarray(C1,C1+S2),X0),X0},_llvm_floor_f64:bh,DYNAMICTOP_PTR:V2,tempDoublePtr:F7,ABORT:YA,STACKTOP:y1,STACK_MAX:Y2};var zr=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,c);a0.asm=zr,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var op=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 Js=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 VA=a0.stackAlloc=function(){return a0.asm.stackAlloc.apply(null,arguments)},J$=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},zm=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function V$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function K$(R0){R0=R0||a0.arguments,!(Tn>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)np(a0.preRun.shift());qs(Vr)}(),!(Tn>0)&&(a0.calledRun||(a0.setStatus?(a0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a0.setStatus("")},1),X0()},1)):X0())));function X0(){!a0.calledRun&&(a0.calledRun=!0,YA||(P$||(P$=!0,qs(G$)),qs(kh),a0.onRuntimeInitialized&&a0.onRuntimeInitialized(),function(){if(a0.postRun)for(typeof a0.postRun=="function"&&(a0.postRun=[a0.postRun]);a0.postRun.length;)Ni(a0.postRun.shift());qs(U$)}()))}}function Ap(R0,X0){(!X0||!a0.noExitRuntime||R0!==0)&&(a0.noExitRuntime||(YA=!0,yh=R0,y1=r3,qs(yi),Ti=!0,a0.onExit&&a0.onExit(R0)),a0.quit(R0,new V$(R0)))}function Zi(R0){throw a0.onAbort&&a0.onAbort(R0),R0!==void 0?(r4(R0),V6(R0),R0=JSON.stringify(R0)):R0="",YA=!0,yh=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=zr,a0.ccall=wh,a0.cwrap=function(X0,C1,S2,W3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!W3?JA(X0):function(){return wh(X0,C1,S2,arguments,W3)}},V$.prototype=Error(),V$.prototype.constructor=V$,Ys=function R0(){a0.calledRun||K$(),a0.calledRun||(Ys=R0)},a0.run=K$,a0.abort=Zi,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,K$(),a0.onRuntimeInitialized=()=>{bv=!0,Dv()},OA.decode=function(R0){return function(C1){if(!bv)throw Error("Not initialized");var S2={};function W3(Ir){return new Int32Array(a0.HEAPU8.buffer,Ir,1)[0]}function g9(Ir,Zm){var Lh=new ArrayBuffer(Zm*Float32Array.BYTES_PER_ELEMENT),w8=new Float32Array(Lh);return w8.set(new Float32Array(a0.HEAPU8.buffer,Ir,Zm)),w8}S2.open=a0.cwrap("stb_vorbis_js_open","number",[]),S2.close=a0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=a0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=a0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=a0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,pt,Te,je=S2.open(),Se=(J9=C1,h6=C1.byteLength,pt=a0._malloc(h6),(Te=new Uint8Array(a0.HEAPU8.buffer,pt,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=a0._malloc(4),M7=a0._malloc(4),Gi=S2.decode(je,Se.byteOffset,Se.byteLength,h9,M7);if(a0._free(Se.byteOffset),Gi<0)throw S2.close(je),a0._free(h9),Error("stbvorbis decode failed: "+Gi);for(var Bt=S2.channels(je),T7=Array(Bt),Ui=new Int32Array(a0.HEAPU32.buffer,W3(h9),Bt),Pi=0;Pio.chunkData.currentIndex;){let Q=dD(u,o.chunkData,i,l);c.push(Q),u++}return c.length>1&&c.pop(),c}function dD(o,i,l,c){let u=Ee(i,20),Q=o3(i,4)*2,i0=o3(i,4)*2,m0=o3(i,4),f0=o3(i,4),A0=o3(i,4),f1=i[i.currentIndex++];f1===255&&(f1=60);let R=yy(i[i.currentIndex++]),x0=o3(i,2),k0=o3(i,2);return new Wp(u,Q,i0,m0,f0,A0,f1,R,x0,k0,l,o,c)}var jp=class extends W6{constructor(i){super();let l=i.currentIndex;this.generatorType=i[l+1]<<8|i[l],this.generatorValue=FA(i[l+2],i[l+3]),i.currentIndex+=4}};function Xp(o){let i=[];for(;o.chunkData.length>o.chunkData.currentIndex;)i.push(new jp(o.chunkData));return i.length>1&&i.pop(),i}var eB=class extends ph{constructor(i){super(),this.instrumentName=Ee(i.chunkData,20).trim(),this.instrumentZoneIndex=o3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,l){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;co.chunkData.currentIndex;){let c=new eB(o);if(l.length>0){let u=c.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(u,i)}l.push(c)}return l.length>1&&l.pop(),l}var tB=class extends PA{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,l){this.modulatorZoneSize=i,this.generatorZoneSize=l}getGenerators(i){for(let l=this.generatorZoneStartIndex;lc.generatorType===k1.sampleID);l&&(this.sample=i[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(l=>l.generatorType===k1.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(l=>l.generatorType===k1.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function xv(o,i,l,c){let u=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let Q=new tB(o.chunkData);if(u.length>0){let i0=Q.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,m0=Q.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(i0,m0),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(l),u[u.length-1].getSample(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(Q)}return u.length>1&&u.pop(),u}var iB=class extends Ch{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,l){this.modulatorZoneSize=i,this.generatorZoneSize=l}getGenerators(i){for(let l=this.generatorZoneStartIndex;lc.generatorType===k1.instrument);l&&(this.instrument=i[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(l=>l.generatorType===k1.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(l=>l.generatorType===k1.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Rv(o,i,l,c){let u=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let Q=new iB(o.chunkData);if(u.length>0){let i0=Q.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,m0=Q.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(i0,m0),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(l),u[u.length-1].getInstrument(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(Q)}return u.length>1&&u.pop(),u}var rB=class extends mh{constructor(i,l){super(l),this.presetName=Ee(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(i.chunkData,2),this.bank=o3(i.chunkData,2),this.presetZoneStartIndex=o3(i.chunkData,2),this.library=o3(i.chunkData,4),this.genre=o3(i.chunkData,4),this.morphology=o3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,l){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;co.chunkData.currentIndex;){let u=new rB(o,l);if(c.length>0){let Q=u.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(Q,i)}c.push(u)}return c.length>1&&c.pop(),c}var nB=class extends Ae{constructor(i){super({srcEnum:o3(i,2),dest:o3(i,2),amt:FA(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:o3(i,2),transform:o3(i,2)})}};function ZC(o){let i=[];for(;o.chunkData.length>o.chunkData.currentIndex;)i.push(new nB(o.chunkData));return i}var WC=class extends b${constructor(i,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new V3(i),ur("%cParsing SoundFont...",D1.info),!this.dataArray)throw i4(),new TypeError("No data!");let c=d4(this.dataArray,!1);this.verifyHeader(c,"riff");let u=Ee(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let Q=u==="sfpk",i0=d4(this.dataArray);for(this.verifyHeader(i0,"list"),Ee(i0.chunkData,4);i0.chunkData.length>i0.chunkData.currentIndex;){let w6=d4(i0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${o3(w6.chunkData,2)}.${o3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ee(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=ZC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let K4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...K4.filter(r4=>!this.defaultModulators.find(V6=>Ae.isIdentical(r4,V6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ee(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}Y5(`%c"${w6.header}": %c"${s6}"`,D1.info,D1.recognized)}let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"list"),this.verifyText(Ee(this.dataArray,4),"sdta"),Y5("%cVerifying smpl chunk...",D1.warn);let f0=d4(this.dataArray,!1);this.verifyHeader(f0,"smpl");let A0;if(Q){Y5("%cSF2Pack detected, attempting to decode the smpl chunk...",D1.info);try{A0=OA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+m0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}Y5(`%cDecoded the smpl chunk! Length: %c${A0.length}`,D1.info,D1.value)}else A0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;Y5(`%cSkipping sample chunk, length: %c${m0.size-12}`,D1.info,D1.value),this.dataArray.currentIndex+=m0.size-12,Y5("%cLoading preset data chunk...",D1.warn);let f1=d4(this.dataArray);this.verifyHeader(f1,"list"),Ee(f1.chunkData,4);let R=d4(f1.chunkData);this.verifyHeader(R,"phdr");let x0=d4(f1.chunkData);this.verifyHeader(x0,"pbag");let k0=d4(f1.chunkData);this.verifyHeader(k0,"pmod");let S1=d4(f1.chunkData);this.verifyHeader(S1,"pgen");let e2=d4(f1.chunkData);this.verifyHeader(e2,"inst");let y1=d4(f1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(f1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(f1.chunkData);this.verifyHeader(T2,"igen");let V2=d4(f1.chunkData);this.verifyHeader(V2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(..._v(V2,A0,!Q));let i3=Xp(T2),r3=ZC(Y2),a0=xv(y1,i3,r3,this.samples);this.instruments=Lv(e2,a0);let y5=Xp(S1),T3=ZC(k0),$3=Rv(x0,y5,T3,this.instruments);this.presets.push(...Fv(R,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),Y5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4(),Q&&delete this.dataArray}verifyHeader(i,l){if(i.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${i.header.toLowerCase()}"`)}verifyText(i,l){if(i.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${i.toLowerCase()}"`)}};function Qh(o){let i=o.slice(8,12),l=new V3(i);return Ee(l,4,void 0,!1).toLowerCase()==="dls "?new Ns(o):new WC(o,!1)}async function Mv(){let o="locale.exportAudio.formats.formats.soundfont.options.";F8(this.localeManager.getLocaleString(o+"title"),[{type:"toggle",translatePathTitle:o+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:o+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:o+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:async i=>{let l=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;y8(i.id),ur("%cExporting minified soundfont...",D1.info);let Q=await this.seq.getMIDI(),i0=Qh(Q.embeddedSoundFont||this.soundFont);fh(Q,await this.synth.getSynthesizerSnapshot()),l&&JC(i0,Q);let m0=i0.write({compress:c,compressionQuality:u,compressionFunction:this.compressionFunc}),f0=new Blob([m0.buffer],{type:"audio/soundfont"}),A0=i0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(f0,`${i0.soundFontInfo.INAM||"unnamed"}.${A0}`),i4()}}],99999999,!0,this.localeManager)}async function Tv(){let o="locale.exportAudio.formats.";F8(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:i=>{y8(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:i=>{y8(i.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:i=>{y8(i.id);try{this._exportSoundfont()}catch{F8("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:i=>{y8(i.id);try{this._exportRMIDI()}catch{F8("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Nv(){let o=(R,x0,k0)=>this.seq.midiData.RMIDInfo?.[R]===void 0?x0:k0.decode(this.seq.midiData.RMIDInfo?.[R]).replace(/\0$/,""),i=o("IENC","ascii",new TextDecoder),l=new TextDecoder(i),c=o("IPRD","",l),u=o("IART","",l),Q=o("IGNR","",l),i0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),m0="locale.exportAudio.formats.formats.rmidi.options.",f0="locale.exportAudio.formats.metadata.",f1=F8(this.localeManager.getLocaleString(m0+"title"),[{type:"toggle",translatePathTitle:m0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:m0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:f0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:f0+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:f0+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:f0+"genre",attributes:{value:Q,name:"genre",type:"text"}},{type:"input",translatePathTitle:f0+"comment",attributes:{value:i0,name:"comment",type:"text"}},{type:"file",translatePathTitle:f0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:m0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:m0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(m0+"confirm"),onClick:async R=>{let x0=R.div.querySelector("input[compress-toggle='1']").checked,k0=parseInt(R.div.querySelector("input[type='range']").value)/10,S1=R.div.querySelector("input[name='album']").value,e2=R.div.querySelector("input[name='artist']").value,y1=R.div.querySelector("input[name='song_title']").value,Y2=R.div.querySelector("input[name='comment']").value,T2=R.div.querySelector("input[name='genre']").value,V2=parseInt(R.div.querySelector("input[name='bank_offset']").value),i3=R.div.querySelector("input[name='adjust']").checked,r3=R.div.querySelector("input[type='file']")?.files[0];y8(R.id),ni("%cExporting RMIDI...",D1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",y5=F8(this.localeManager.getLocaleString(a0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(a0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(V6=>setTimeout(V6,500));let T3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Qh($3.embeddedSoundFont||this.soundFont);T3.textContent=this.localeManager.getLocaleString(a0+"modifyingMIDI"),await new Promise(V6=>setTimeout(V6,75)),fh($3,await this.synth.getSynthesizerSnapshot()),T3.textContent=this.localeManager.getLocaleString(a0+"modifyingSoundfont"),await new Promise(V6=>setTimeout(V6,75)),JC(w6,$3);let s6=w6.write({compress:x0,compressionQuality:k0,compressionFunction:this.compressionFunc});T3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(V6=>setTimeout(V6,75));let o9;r3?.type.split("/")[0]==="image"?o9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let K4=vy(s6,$3,w6,V2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:S1.length>0?S1:void 0,artist:e2.length>0?e2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([K4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),T3.textContent=this.localeManager.getLocaleString(a0+"done"),y8(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");f1.oninput=()=>{f1.files[0]&&(f1.parentElement.firstChild.textContent=f1.files[0].name)}}var jC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var i={};for(var l in o)o.hasOwnProperty(l)&&(i[l]=o[l]);var c=typeof window=="object",u=typeof process=="object"&&typeof QC=="function"&&!c,Q=typeof importScripts=="function",i0=!c&&!u&&!Q;if(u){o.print||(o.print=function($){process.stdout.write($+` `)}),o.printErr||(o.printErr=function($){process.stderr.write($+` -`)});var m0=void 0,f0=void 0;o.read=function($,h){$=f0.normalize($);var d=m0.readFileSync($);return!d&&$!=f0.resolve($)&&($=path.join(__dirname,"..","src",$),d=m0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){f1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(i){if(!(i instanceof zA))throw i}),o.inspect=function(){return"[Emscripten Module object]"}}else if(r0)o.print||(o.print=print),typeof printErr<"u"&&(o.printErr=printErr),typeof read<"u"?o.read=read:o.read=function(){throw"no read() available (jsc?)"},o.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return z4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(c||Q){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var a0=!1;o.print||(o.print=a0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}Q&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function f1(i){eval.call(null,i)}!o.load&&o.read&&(o.load=function($){f1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in r)r.hasOwnProperty(l)&&(o[l]=r[l]);var R={setTempRet0:function(i){V6=i},getTempRet0:function(){return V6},stackSave:function(){return yi},stackRestore:function(i){yi=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return R.QUANTUM_SIZE;if(i[0]==="i"){var $=parseInt(i.substr(1));return z4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(R.getNativeTypeSize(i),R.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,$){return $==="double"||$==="i64"?i&7&&(z4((i&7)===4),i+=4):z4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?R.getNativeFieldSize(i):0),R.QUANTUM_SIZE):Math.min($,8)},dynCall:function(i,$,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,$),o["dynCall_"+i].apply(null,h)):o["dynCall_"+i].call(null,$)},functionPointers:[],addFunction:function(i){for(var $=0;$=Hs){var h=np();if(!h)return Mi=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var d=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=R;var x0=0,k0=!1,S1=0,e2=0,y1,Y2,T2,V2,i3,r3,A0,y5,T3,$3,w6,s6,o9,K4,r4,V6,je,Hr,Ki,HA,Gs,Gm,x$,tp,qv;function z4(i,$){i||zs("Assertion failed: "+$)}var Hv=this;function ip(i){var $=o["_"+i];if(!$)try{$=void("_"+i)}catch{}return z4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var R$,YA;(function(){var i={stackSave:function(){R.stackSave()},stackRestore:function(){R.stackRestore()},arrayToC:function(W0){var t1=R.stackAlloc(W0.length);return VA(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=R.stackAlloc((W0.length<<2)+1),Js(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};YA=function(t1,b2,s,A1,C){var w5=ip(t1),B2=[],T5=0;if(A1)for(var L9=0;L9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Yr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":K4=[$>>>0,(s6=$,+K$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+pt((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=K4[0],_9[i+4>>2]=K4[1];break;case"float":Z$[i>>2]=$;break;case"double":N$[i>>3]=$;break;default:zs("invalid type for setValue: "+h)}}o.setValue=yh;function fr(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Yr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return Z$[i>>2];case"double":return N$[i>>3];default:zs("invalid type for setValue: "+$)}return null}o.getValue=fr;var JA=0,Um=1,Us=2,wh=3,N3=4;o.ALLOC_NORMAL=JA,o.ALLOC_STACK=Um,o.ALLOC_STATIC=Us,o.ALLOC_DYNAMIC=wh,o.ALLOC_NONE=N3;function E3(i,$,h,d){var P,e;typeof i=="number"?(P=!0,e=i):(P=!1,e=i.length);var W0=typeof $=="string"?$:null,t1;if(h==N3?t1=d:t1=[xh,R.stackAlloc,R.staticAlloc,R.dynamicAlloc][h===void 0?Us:h](Math.max(e,W0?1:$.length)),P){var d=t1,b2;for(z4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?wi.set(i,t1):wi.set(new Uint8Array(i),t1),t1;for(var s=0,A1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,wi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return o.UTF8ToString(i)}o.Pointer_stringify=F$;function M$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}o.AsciiToString=M$;function lB(i,$){return J$(i,$,!1)}o.stringToAscii=lB;function Ps(i,$){for(var h,d,P,e,W0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|W0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Ps;function Pm(i){return Ps(wi,i)}o.UTF8ToString=Pm;function Mn(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,W0=0;W0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++W0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}o.stringToUTF8Array=Mn;function Om(i,$,h){return Mn(i,wi,$,h)}o.stringToUTF8=Om;function Os(i){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|i.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Os;function qm(i){for(var $=0,h="";;){var d=Yr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=qm;function cB(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=W0,$+=2}return Yr[$>>1]=0,$-d}o.stringToUTF16=cB;function gB(i){return i.length*2}o.lengthBytesUTF16=gB;function hB(i){for(var $=0,h="";;){var d=_9[i+$*4>>2];if(d==0)return h;if(++$,d>=65536){var P=d-65536;h+=String.fromCharCode(55296|P>>10,56320|P&1023)}else h+=String.fromCharCode(d)}}o.UTF32ToString=hB;function uB(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&W0<=57343){var t1=i.charCodeAt(++e);W0=65536+((W0&1023)<<10)|t1&1023}if(_9[$>>2]=W0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}o.stringToUTF32=uB;function fB(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=fB;function dB(i){var $=!!o.___cxa_demangle;if($)try{var h=xh(i.length);Js(i.substr(1),h);var d=xh(4),P=o.___cxa_demangle(h,0,0,d);if(fr(d,"i32")===0&&P)return F$(P)}catch{}finally{h&&$p(h),d&&$p(d),P&&$p(P)}var e=3,W0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(B2){B2&&o.print(B2),o.print(i);for(var T5="",L9=0;L9"}else O9=K9;e:for(;e0;){var Er=i[e++];if(Er in W0)I4.push(W0[Er]);else switch(Er){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var j$=i.indexOf("E",e),u8=j$-e;I4.push(i.substr(e,u8)),e+=u8+2;break}case"A":{var u8=parseInt(i.substr(e));if(e+=u8.toString().length,i[e]!=="_")throw"?";e++,I4.push(C(!0,1,!0)[0]+" ["+u8+"]");break}case"E":break e;default:O9+="?"+Er;break e}}return!L9&&I4.length===1&&I4[0]==="void"&&(I4=[]),B2?(O9&&I4.push(O9+"?"),I4):O9+v8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=F$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}w5=C()}catch{w5+="?"}return w5.indexOf("?")>=0&&!$&&R.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),w5}function IB(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=dB($);return $===h?$:$+" ["+h+"]"})}function EB(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch($){i=$}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function Hm(){return IB(EB())}o.stackTrace=Hm;var rp=4096;function vh(i){return i%4096>0&&(i+=4096-i%4096),i}var Ym,Y9,wi,Yr,T$,_9,z$,Z$,N$,qs=0,Jr=0,G$=!1,kh=0,yi=0,U$=0,P$=0,Mi=0;function np(){zs("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Hs+", (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 Jm=o.TOTAL_STACK||5242880,Hs=o.TOTAL_MEMORY||16777216,Vr=64*1024;Vr0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?R.dynCall("v",h):R.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var Vm=[],q$=[],Sh=[],H$=[],bh=[],Dh=!1,Tn=!1;function _h(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());O$(Vm)}function Ys(){Dh||(Dh=!0,O$(q$))}function mB(){O$(Sh)}function Km(){O$(H$),Tn=!0}function Y$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)sp(o.postRun.shift());O$(bh)}function F7(i){Vm.unshift(i)}o.addOnPreRun=o.addOnPreRun=F7;function CB(i){q$.unshift(i)}o.addOnInit=o.addOnInit=CB;function pB(i){Sh.unshift(i)}o.addOnPreMain=o.addOnPreMain=pB;function BB(i){H$.unshift(i)}o.addOnExit=o.addOnExit=BB;function sp(i){bh.unshift(i)}o.addOnPostRun=o.addOnPostRun=sp;function Kr(i,$,h){var d=h>0?h:Os(i)+1,P=new Array(d),e=Mn(i,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=Kr;function op(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=op;function Js(i,$,h){for(var d=Kr(i,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=Js;function VA(i,$){for(var h=0;h>0]=i[h]}o.writeArrayToMemory=VA;function J$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=J$;function zm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function V$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,W0=h&65535;return P*W0+(d*W0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var K$=Math.abs,Ap=Math.cos,zi=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,S2=Math.atan,W3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,pt=Math.ceil,Te=Math.floor,Xe=Math.pow,Se=Math.imul,h9=Math.fround,M7=Math.min,Ni=Math.clz32,Bt=0,T7=null,Gi=null;function Ui(i){return i}function Nn(i){Bt++,o.monitorRunDependencies&&o.monitorRunDependencies(Bt)}o.addRunDependency=Nn;function dr(i){if(Bt--,o.monitorRunDependencies&&o.monitorRunDependencies(Bt),Bt==0&&(T7!==null&&(clearInterval(T7),T7=null),Gi)){var $=Gi;Gi=null,$()}}o.removeRunDependency=dr,o.preloadedImages={},o.preloadedAudios={};var Zm=null,Lh=[];qs=8,Jr=qs+553552,q$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",N3,R.GLOBAL_BASE),E3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",N3,R.GLOBAL_BASE+10240),E3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",N3,R.GLOBAL_BASE+20480),E3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,R.GLOBAL_BASE+30720),E3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",N3,R.GLOBAL_BASE+41032),E3([1],"i8",N3,R.GLOBAL_BASE+49544),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+50572),E3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+52752),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+55148),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",N3,R.GLOBAL_BASE+62212),E3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",N3,R.GLOBAL_BASE+72464),E3([1],"i8",N3,R.GLOBAL_BASE+78916),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+79944),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+81996),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+83152),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",N3,R.GLOBAL_BASE+86572),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",N3,R.GLOBAL_BASE+97272),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",N3,R.GLOBAL_BASE+107456),E3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+117696),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",N3,R.GLOBAL_BASE+124340),E3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",N3,R.GLOBAL_BASE+134580),E3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",N3,R.GLOBAL_BASE+144820),E3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",N3,R.GLOBAL_BASE+155104),E3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+165344),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",N3,R.GLOBAL_BASE+175348),E3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",N3,R.GLOBAL_BASE+185588),E3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",N3,R.GLOBAL_BASE+195830),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+207264),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",N3,R.GLOBAL_BASE+218416),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+229400),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+240320),E3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,R.GLOBAL_BASE+242772),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+253728),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",N3,R.GLOBAL_BASE+263472),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",N3,R.GLOBAL_BASE+274008),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,R.GLOBAL_BASE+284176),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",N3,R.GLOBAL_BASE+294712),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",N3,R.GLOBAL_BASE+304880),E3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",N3,R.GLOBAL_BASE+315120),E3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",N3,R.GLOBAL_BASE+325360),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",N3,R.GLOBAL_BASE+339320),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,R.GLOBAL_BASE+349504),E3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",N3,R.GLOBAL_BASE+360488),E3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+363696),E3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+366508),E3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",N3,R.GLOBAL_BASE+369616),E3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",N3,R.GLOBAL_BASE+379856),E3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",N3,R.GLOBAL_BASE+390097),E3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",N3,R.GLOBAL_BASE+400337),E3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",N3,R.GLOBAL_BASE+410577),E3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",N3,R.GLOBAL_BASE+420817),E3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",N3,R.GLOBAL_BASE+431057),E3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+441297),E3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",N3,R.GLOBAL_BASE+446300),E3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",N3,R.GLOBAL_BASE+456540),E3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",N3,R.GLOBAL_BASE+466780),E3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",N3,R.GLOBAL_BASE+477020),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+487288),E3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",N3,R.GLOBAL_BASE+489700),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",N3,R.GLOBAL_BASE+500144),E3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",N3,R.GLOBAL_BASE+510456),E3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",N3,R.GLOBAL_BASE+520696),E3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",N3,R.GLOBAL_BASE+530936),E3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",N3,R.GLOBAL_BASE+541176),E3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",N3,R.GLOBAL_BASE+551416);var w8=R.alignMemory(E3(12,"i8",Us),8);z4(w8%8==0);function ap(i){Y9[w8]=Y9[i],Y9[w8+1]=Y9[i+1],Y9[w8+2]=Y9[i+2],Y9[w8+3]=Y9[i+3]}function Ir(i){Y9[w8]=Y9[i],Y9[w8+1]=Y9[i+1],Y9[w8+2]=Y9[i+2],Y9[w8+3]=Y9[i+3],Y9[w8+4]=Y9[i+4],Y9[w8+5]=Y9[i+5],Y9[w8+6]=Y9[i+6],Y9[w8+7]=Y9[i+7]}var Zi=Ap,KA=K$,Vs=0;function Ks(i){return _9[Vs>>2]=i,i}var R2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function QB(i){switch(i){case 30:return rp;case 85:return Vr/rp;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 Ks(R2.EINVAL),-1}o._memset=wk;var yB=!0;o._strlen=pk,o._strcat=Bk,o._bitshift64Shl=bk;function Yv(){o.abort()}o._i64Add=Qk;var Jv=Te,Vv={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"},Gn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Gn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Gn.stream_ops)},stream_ops:{open:function(i){var $=Gn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(R2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(R2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` +`)});var m0=void 0,f0=void 0;o.read=function($,h){$=f0.normalize($);var d=m0.readFileSync($);return!d&&$!=f0.resolve($)&&($=path.join(__dirname,"..","src",$),d=m0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){f1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(r){if(!(r instanceof zA))throw r}),o.inspect=function(){return"[Emscripten Module object]"}}else if(i0)o.print||(o.print=print),typeof printErr<"u"&&(o.printErr=printErr),typeof read<"u"?o.read=read:o.read=function(){throw"no read() available (jsc?)"},o.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return z4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(c||Q){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var A0=!1;o.print||(o.print=A0&&typeof dump<"u"?function(r){dump(r)}:function(r){})}Q&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function f1(r){eval.call(null,r)}!o.load&&o.read&&(o.load=function($){f1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in i)i.hasOwnProperty(l)&&(o[l]=i[l]);var R={setTempRet0:function(r){V6=r},getTempRet0:function(){return V6},stackSave:function(){return yi},stackRestore:function(r){yi=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 R.QUANTUM_SIZE;if(r[0]==="i"){var $=parseInt(r.substr(1));return z4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(R.getNativeTypeSize(r),R.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,$){return $==="double"||$==="i64"?r&7&&(z4((r&7)===4),r+=4):z4((r&3)===0),r},getAlignSize:function(r,$,h){return!h&&(r=="i64"||r=="double")?8:r?Math.min($||(r?R.getNativeFieldSize(r):0),R.QUANTUM_SIZE):Math.min($,8)},dynCall:function(r,$,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,$),o["dynCall_"+r].apply(null,h)):o["dynCall_"+r].call(null,$)},functionPointers:[],addFunction:function(r){for(var $=0;$=Hs){var h=np();if(!h)return Ti=$,0}return $},alignMemory:function(r,$){var h=r=Math.ceil(r/($||16))*($||16);return h},makeBigInt:function(r,$,h){var d=h?+(r>>>0)+ +($>>>0)*4294967296:+(r>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=R;var x0=0,k0=!1,S1=0,e2=0,y1,Y2,T2,V2,i3,r3,a0,y5,T3,$3,w6,s6,o9,K4,r4,V6,We,Yr,zi,HA,Gs,Gm,x$,tp,qv;function z4(r,$){r||zs("Assertion failed: "+$)}var Hv=this;function ip(r){var $=o["_"+r];if(!$)try{$=void("_"+r)}catch{}return z4($,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),$}var R$,YA;(function(){var r={stackSave:function(){R.stackSave()},stackRestore:function(){R.stackRestore()},arrayToC:function(W0){var t1=R.stackAlloc(W0.length);return VA(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=R.stackAlloc((W0.length<<2)+1),Js(W0,t1)),t1}},$={string:r.stringToC,array:r.arrayToC};YA=function(t1,b2,s,A1,C){var w5=ip(t1),B2=[],T5=0;if(A1)for(var L9=0;L9>0]=$;break;case"i8":Y9[r>>0]=$;break;case"i16":Jr[r>>1]=$;break;case"i32":_9[r>>2]=$;break;case"i64":K4=[$>>>0,(s6=$,+K$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+pt((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[r>>2]=K4[0],_9[r+4>>2]=K4[1];break;case"float":Z$[r>>2]=$;break;case"double":N$[r>>3]=$;break;default:zs("invalid type for setValue: "+h)}}o.setValue=yh;function dr(r,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[r>>0];case"i8":return Y9[r>>0];case"i16":return Jr[r>>1];case"i32":return _9[r>>2];case"i64":return _9[r>>2];case"float":return Z$[r>>2];case"double":return N$[r>>3];default:zs("invalid type for setValue: "+$)}return null}o.getValue=dr;var JA=0,Um=1,Us=2,wh=3,N3=4;o.ALLOC_NORMAL=JA,o.ALLOC_STACK=Um,o.ALLOC_STATIC=Us,o.ALLOC_DYNAMIC=wh,o.ALLOC_NONE=N3;function E3(r,$,h,d){var P,e;typeof r=="number"?(P=!0,e=r):(P=!1,e=r.length);var W0=typeof $=="string"?$:null,t1;if(h==N3?t1=d:t1=[xh,R.stackAlloc,R.staticAlloc,R.dynamicAlloc][h===void 0?Us:h](Math.max(e,W0?1:$.length)),P){var d=t1,b2;for(z4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(W0==="i8")return r.subarray||r.slice?wi.set(r,t1):wi.set(new Uint8Array(r),t1),t1;for(var s=0,A1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,wi.subarray(r,r+Math.min($,W0))),e=e?e+t1:t1,r+=W0,$-=W0;return e}return o.UTF8ToString(r)}o.Pointer_stringify=F$;function M$(r){for(var $="";;){var h=Y9[r++>>0];if(!h)return $;$+=String.fromCharCode(h)}}o.AsciiToString=M$;function lB(r,$){return J$(r,$,!1)}o.stringToAscii=lB;function Ps(r,$){for(var h,d,P,e,W0,t1,b2="";;){if(h=r[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=r[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=r[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=r[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(W0=r[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|W0:(t1=r[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|W0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Ps;function Pm(r){return Ps(wi,r)}o.UTF8ToString=Pm;function Mn(r,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,W0=0;W0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|r.charCodeAt(++W0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}o.stringToUTF8Array=Mn;function Om(r,$,h){return Mn(r,wi,$,h)}o.stringToUTF8=Om;function Os(r){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|r.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Os;function qm(r){for(var $=0,h="";;){var d=Jr[r+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=qm;function cB(r,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=W0,$+=2}return Jr[$>>1]=0,$-d}o.stringToUTF16=cB;function gB(r){return r.length*2}o.lengthBytesUTF16=gB;function hB(r){for(var $=0,h="";;){var d=_9[r+$*4>>2];if(d==0)return h;if(++$,d>=65536){var P=d-65536;h+=String.fromCharCode(55296|P>>10,56320|P&1023)}else h+=String.fromCharCode(d)}}o.UTF32ToString=hB;function uB(r,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&W0<=57343){var t1=r.charCodeAt(++e);W0=65536+((W0&1023)<<10)|t1&1023}if(_9[$>>2]=W0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}o.stringToUTF32=uB;function fB(r){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=fB;function dB(r){var $=!!o.___cxa_demangle;if($)try{var h=xh(r.length);Js(r.substr(1),h);var d=xh(4),P=o.___cxa_demangle(h,0,0,d);if(dr(d,"i32")===0&&P)return F$(P)}catch{}finally{h&&$p(h),d&&$p(d),P&&$p(P)}var e=3,W0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(B2){B2&&o.print(B2),o.print(r);for(var T5="",L9=0;L9"}else O9=K9;e:for(;e0;){var mr=r[e++];if(mr in W0)I4.push(W0[mr]);else switch(mr){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var j$=r.indexOf("E",e),h8=j$-e;I4.push(r.substr(e,h8)),e+=h8+2;break}case"A":{var h8=parseInt(r.substr(e));if(e+=h8.toString().length,r[e]!=="_")throw"?";e++,I4.push(C(!0,1,!0)[0]+" ["+h8+"]");break}case"E":break e;default:O9+="?"+mr;break e}}return!L9&&I4.length===1&&I4[0]==="void"&&(I4=[]),B2?(O9&&I4.push(O9+"?"),I4):O9+v8()}var w5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=F$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}w5=C()}catch{w5+="?"}return w5.indexOf("?")>=0&&!$&&R.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),w5}function IB(r){return r.replace(/__Z[\w\d_]+/g,function($){var h=dB($);return $===h?$:$+" ["+h+"]"})}function EB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch($){r=$}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Hm(){return IB(EB())}o.stackTrace=Hm;var rp=4096;function vh(r){return r%4096>0&&(r+=4096-r%4096),r}var Ym,Y9,wi,Jr,T$,_9,z$,Z$,N$,qs=0,Vr=0,G$=!1,kh=0,yi=0,U$=0,P$=0,Ti=0;function np(){zs("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Hs+", (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 Jm=o.TOTAL_STACK||5242880,Hs=o.TOTAL_MEMORY||16777216,Kr=64*1024;Kr0;){var $=r.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?R.dynCall("v",h):R.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var Vm=[],q$=[],Sh=[],H$=[],bh=[],Dh=!1,Tn=!1;function _h(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());O$(Vm)}function Ys(){Dh||(Dh=!0,O$(q$))}function mB(){O$(Sh)}function Km(){O$(H$),Tn=!0}function Y$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)sp(o.postRun.shift());O$(bh)}function F7(r){Vm.unshift(r)}o.addOnPreRun=o.addOnPreRun=F7;function CB(r){q$.unshift(r)}o.addOnInit=o.addOnInit=CB;function pB(r){Sh.unshift(r)}o.addOnPreMain=o.addOnPreMain=pB;function BB(r){H$.unshift(r)}o.addOnExit=o.addOnExit=BB;function sp(r){bh.unshift(r)}o.addOnPostRun=o.addOnPostRun=sp;function zr(r,$,h){var d=h>0?h:Os(r)+1,P=new Array(d),e=Mn(r,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=zr;function op(r){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=op;function Js(r,$,h){for(var d=zr(r,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=Js;function VA(r,$){for(var h=0;h>0]=r[h]}o.writeArrayToMemory=VA;function J$(r,$,h){for(var d=0;d>0]=r.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=J$;function zm(r,$,h){return r>=0?r:$<=32?2*Math.abs(1<<$-1)+r:Math.pow(2,$)+r}function V$(r,$,h){if(r<=0)return r;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return r>=d&&($<=32||r>d)&&(r=-2*d+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,W0=h&65535;return P*W0+(d*W0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var $=0;$<32;$++)if(r&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var K$=Math.abs,Ap=Math.cos,Zi=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,S2=Math.atan,W3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,pt=Math.ceil,Te=Math.floor,je=Math.pow,Se=Math.imul,h9=Math.fround,M7=Math.min,Gi=Math.clz32,Bt=0,T7=null,Ui=null;function Pi(r){return r}function Nn(r){Bt++,o.monitorRunDependencies&&o.monitorRunDependencies(Bt)}o.addRunDependency=Nn;function Ir(r){if(Bt--,o.monitorRunDependencies&&o.monitorRunDependencies(Bt),Bt==0&&(T7!==null&&(clearInterval(T7),T7=null),Ui)){var $=Ui;Ui=null,$()}}o.removeRunDependency=Ir,o.preloadedImages={},o.preloadedAudios={};var Zm=null,Lh=[];qs=8,Vr=qs+553552,q$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",N3,R.GLOBAL_BASE),E3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",N3,R.GLOBAL_BASE+10240),E3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",N3,R.GLOBAL_BASE+20480),E3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,R.GLOBAL_BASE+30720),E3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",N3,R.GLOBAL_BASE+41032),E3([1],"i8",N3,R.GLOBAL_BASE+49544),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+50572),E3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+52752),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+55148),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",N3,R.GLOBAL_BASE+62212),E3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",N3,R.GLOBAL_BASE+72464),E3([1],"i8",N3,R.GLOBAL_BASE+78916),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+79944),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+81996),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+83152),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",N3,R.GLOBAL_BASE+86572),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",N3,R.GLOBAL_BASE+97272),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",N3,R.GLOBAL_BASE+107456),E3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+117696),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",N3,R.GLOBAL_BASE+124340),E3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",N3,R.GLOBAL_BASE+134580),E3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",N3,R.GLOBAL_BASE+144820),E3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",N3,R.GLOBAL_BASE+155104),E3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+165344),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",N3,R.GLOBAL_BASE+175348),E3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",N3,R.GLOBAL_BASE+185588),E3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",N3,R.GLOBAL_BASE+195830),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+207264),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",N3,R.GLOBAL_BASE+218416),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+229400),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+240320),E3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,R.GLOBAL_BASE+242772),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+253728),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",N3,R.GLOBAL_BASE+263472),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",N3,R.GLOBAL_BASE+274008),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,R.GLOBAL_BASE+284176),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",N3,R.GLOBAL_BASE+294712),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",N3,R.GLOBAL_BASE+304880),E3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",N3,R.GLOBAL_BASE+315120),E3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",N3,R.GLOBAL_BASE+325360),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",N3,R.GLOBAL_BASE+339320),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,R.GLOBAL_BASE+349504),E3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",N3,R.GLOBAL_BASE+360488),E3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+363696),E3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+366508),E3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",N3,R.GLOBAL_BASE+369616),E3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",N3,R.GLOBAL_BASE+379856),E3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",N3,R.GLOBAL_BASE+390097),E3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",N3,R.GLOBAL_BASE+400337),E3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",N3,R.GLOBAL_BASE+410577),E3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",N3,R.GLOBAL_BASE+420817),E3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",N3,R.GLOBAL_BASE+431057),E3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+441297),E3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",N3,R.GLOBAL_BASE+446300),E3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",N3,R.GLOBAL_BASE+456540),E3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",N3,R.GLOBAL_BASE+466780),E3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",N3,R.GLOBAL_BASE+477020),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+487288),E3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",N3,R.GLOBAL_BASE+489700),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",N3,R.GLOBAL_BASE+500144),E3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",N3,R.GLOBAL_BASE+510456),E3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",N3,R.GLOBAL_BASE+520696),E3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",N3,R.GLOBAL_BASE+530936),E3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",N3,R.GLOBAL_BASE+541176),E3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",N3,R.GLOBAL_BASE+551416);var w8=R.alignMemory(E3(12,"i8",Us),8);z4(w8%8==0);function ap(r){Y9[w8]=Y9[r],Y9[w8+1]=Y9[r+1],Y9[w8+2]=Y9[r+2],Y9[w8+3]=Y9[r+3]}function Er(r){Y9[w8]=Y9[r],Y9[w8+1]=Y9[r+1],Y9[w8+2]=Y9[r+2],Y9[w8+3]=Y9[r+3],Y9[w8+4]=Y9[r+4],Y9[w8+5]=Y9[r+5],Y9[w8+6]=Y9[r+6],Y9[w8+7]=Y9[r+7]}var Wi=Ap,KA=K$,Vs=0;function Ks(r){return _9[Vs>>2]=r,r}var R2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function QB(r){switch(r){case 30:return rp;case 85:return Kr/rp;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 Ks(R2.EINVAL),-1}o._memset=wk;var yB=!0;o._strlen=pk,o._strcat=Bk,o._bitshift64Shl=bk;function Yv(){o.abort()}o._i64Add=Qk;var Jv=Te,Vv={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"},Gn={ttys:[],init:function(){},shutdown:function(){},register:function(r,$){Gn.ttys[r]={input:[],output:[],ops:$},k.registerDevice(r,Gn.stream_ops)},stream_ops:{open:function(r){var $=Gn.ttys[r.node.rdev];if(!$)throw new k.ErrnoError(R2.ENODEV);r.tty=$,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,$,h,d,P){if(!r.tty||!r.tty.ops.get_char)throw new k.ErrnoError(R2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` `)):typeof readline=="function"&&($=readline(),$!==null&&($+=` -`));if(!$)return null;i.input=Kr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(o.print(Ps(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.print(Ps(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(o.printErr(Ps(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.printErr(Ps(i.output,0)),i.output=[])}}},k9={ops_table:null,mount:function(i){return k9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(R2.EPERM);k9.ops_table||(k9.ops_table={dir:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr,lookup:k9.node_ops.lookup,mknod:k9.node_ops.mknod,rename:k9.node_ops.rename,unlink:k9.node_ops.unlink,rmdir:k9.node_ops.rmdir,readdir:k9.node_ops.readdir,symlink:k9.node_ops.symlink},stream:{llseek:k9.stream_ops.llseek}},file:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr},stream:{llseek:k9.stream_ops.llseek,read:k9.stream_ops.read,write:k9.stream_ops.write,allocate:k9.stream_ops.allocate,mmap:k9.stream_ops.mmap,msync:k9.stream_ops.msync}},link:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr,readlink:k9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=k9.ops_table.dir.node,P.stream_ops=k9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=k9.ops_table.file.node,P.stream_ops=k9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=k9.ops_table.link.node,P.stream_ops=k9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=k9.ops_table.chrdev.node,P.stream_ops=k9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=k9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&k9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[R2.ENOENT]},mknod:function(i,$,h,d){return k9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(R2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(R2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=k9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(R2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-P,d);if(z4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(P,P+W0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var B2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([Qt.DB_STORE_NAME],"readwrite"),A1=s.objectStore(Qt.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?Qt.loadRemoteEntry(A1,w5,function(B2,T5){if(B2)return C(B2);Qt.storeLocalEntry(w5,T5,C)}):Qt.loadLocalEntry(w5,function(B2,T5){if(B2)return C(B2);Qt.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?Qt.removeLocalEntry(w5,C):Qt.removeRemoteEntry(A1,w5,C)})}},h8={isWindows:!1,staticInit:function(){h8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return z4(f),h8.createNode(null,"/",h8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(R2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=h8.node_ops,P.stream_ops=h8.stream_ops,P},getMode:function(i){var $;try{$=yt.lstatSync(i),h8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in h8.flagsToPermissionStringMap?h8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=h8.realPath(i),h;try{h=yt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}return h8.isWindows&&!h.blksize&&(h.blksize=4096),h8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=h8.realPath(i);try{if($.mode!==void 0&&(yt.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);yt.utimesSync(h,d,d)}$.size!==void 0&&yt.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},lookup:function(i,$){var h=c9.join2(h8.realPath(i),$),d=h8.getMode(h);return h8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=h8.createNode(i,$,h,d),e=h8.realPath(P);try{k.isDir(P.mode)?yt.mkdirSync(e,P.mode):yt.writeFileSync(e,"",{mode:P.mode})}catch(W0){throw W0.code?new k.ErrnoError(R2[W0.code]):W0}return P},rename:function(i,$,h){var d=h8.realPath(i),P=c9.join2(h8.realPath($),h);try{yt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(R2[e.code]):e}},unlink:function(i,$){var h=c9.join2(h8.realPath(i),$);try{yt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(h8.realPath(i),$);try{yt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},readdir:function(i){var $=h8.realPath(i);try{return yt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(h8.realPath(i),$);try{yt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},readlink:function(i){var $=h8.realPath(i);try{return $=yt.readlinkSync($),$=kB.relative(kB.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}}},stream_ops:{open:function(i){var $=h8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=yt.openSync($,h8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&yt.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(R2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=yt.readSync(i.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(R2[b2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(R2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(R2.ELOOP)}}return{path:W0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var W0=new k.FSNode(i,$,h,d);return k.hashAddNode(W0),W0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?R2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:R2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return R2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return R2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return R2.EBUSY}else if(k.isDir(d.mode))return R2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?R2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?R2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):R2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(R2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(W0){this.node=W0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(R2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(R2.EBUSY);if(!d&&!P){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(R2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(R2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},b2=i.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(R2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);z4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),P=d.node,e=c9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(R2.EINVAL);var W0=k.mayCreate(P,e);if(W0)throw new k.ErrnoError(W0);if(!P.node_ops.mknod)throw new k.ErrnoError(R2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(R2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(R2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),W0,t1,b2;try{W0=k.lookupPath(i,{parent:!0}),t1=W0.node,W0=k.lookupPath($,{parent:!0}),b2=W0.node}catch{throw new k.ErrnoError(R2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(R2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(R2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(i,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(R2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(R2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),B2=k.mayDelete(t1,P,w5);if(B2)throw new k.ErrnoError(B2);if(B2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),B2)throw new k.ErrnoError(B2);if(!t1.node_ops.rename)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(R2.EBUSY);if(b2!==t1&&(B2=k.nodePermissions(t1,"w"),B2))throw new k.ErrnoError(B2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(R2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===R2.EISDIR&&(e=R2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(R2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(R2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(R2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(R2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(R2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(R2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(R2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(R2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(R2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var W0=k.lookupPath(i,{follow:!($&131072)});e=W0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(R2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(R2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,o.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,A1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(R2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(R2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var W0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=W0),W0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(R2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var W0=!0;if(typeof P>"u")P=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);W0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(R2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(R2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,W0){if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(R2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,W0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(R2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,W0=new Uint8Array(e);return k.read(d,W0,0,e,0),$.encoding==="utf8"?h=Ps(W0,0):$.encoding==="binary"&&(h=W0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Os($)+1),e=Mn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(R2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Gn.register(k.makedev(5,0),Gn.default_tty_ops),Gn.register(k.makedev(6,0),Gn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var i;if(typeof crypto<"u"){var $=new Uint8Array(1);i=function(){return crypto.getRandomValues($),$[0]}}else f?i=void 0:i=function(){return Math.random()*256|0};k.createDevice("/dev","random",i),k.createDevice("/dev","urandom",i),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){o.stdin?k.createDevice("/dev","stdin",o.stdin):k.symlink("/dev/tty","/dev/stdin"),o.stdout?k.createDevice("/dev","stdout",null,o.stdout):k.symlink("/dev/tty","/dev/stdout"),o.stderr?k.createDevice("/dev","stderr",null,o.stderr):k.symlink("/dev/tty1","/dev/stderr");var i=k.open("/dev/stdin","r");_9[Kv>>2]=k.getPtrForStream(i),z4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[zv>>2]=k.getPtrForStream($),z4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Zv>>2]=k.getPtrForStream(h),z4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in R2)if(R2[P]===d){this.code=P;break}},this.setErrno($),this.message=Vv[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[R2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(k9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){z4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=i||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var B2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[B2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var B2=Number(w5.getResponseHeader("Content-length")),T5,L9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;L9||(O9=B2);var I4=function(K9,u8){if(K9>u8)throw new Error("invalid range ("+K9+", "+u8+") or no bytes requested!");if(u8>B2-1)throw new Error("only "+B2+" bytes available! programmer error!");var Z4=new XMLHttpRequest;if(Z4.open("GET",h,!1),B2!==O9&&Z4.setRequestHeader("Range","bytes="+K9+"-"+u8),typeof Uint8Array<"u"&&(Z4.responseType="arraybuffer"),Z4.overrideMimeType&&Z4.overrideMimeType("text/plain; charset=x-user-defined"),Z4.send(null),!(Z4.status>=200&&Z4.status<300||Z4.status===304))throw new Error("Couldn't load "+h+". Status: "+Z4.status);return Z4.response!==void 0?new Uint8Array(Z4.response||[]):Kr(Z4.responseText||"",!0)},v8=this;v8.setDataGetter(function(K9){var u8=K9*O9,Z4=(K9+1)*O9-1;if(Z4=Math.min(Z4,B2-1),typeof v8.chunks[K9]>"u"&&(v8.chunks[K9]=I4(u8,Z4)),typeof v8.chunks[K9]>"u")throw new Error("doXHR failed!");return v8.chunks[K9]}),this._length=B2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!Q)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var W0=new e;Object.defineProperty(W0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(W0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:W0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(i,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,B2,T5,L9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var v8=Math.min(I4.length-O9,L9);if(z4(v8>=0),I4.slice)for(var K9=0;K9=0;d--){var P=i[d];P==="."?i.splice(d,1):P===".."?(i.splice(d,1),h++):h&&(i.splice(d,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=c9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=c9.splitPath(i),h=$[0],d=$[1];return!h&&!d?".":(d&&(d=d.substr(0,d.length-1)),h+d)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return c9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return c9.normalize(i.join("/"))},join2:function(i,$){return c9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var d=h>=0?arguments[h]:k.cwd();if(typeof d!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!d)return"";i=d+"/"+i,$=d.charAt(0)==="/"}return i=c9.normalizeArray(i.split("/").filter(function(P){return!!P}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=c9.resolve(i).substr(1),$=c9.resolve($).substr(1);function h(s){for(var A1=0;A1=0&&s[C]==="";C--);return A1>C?[]:s.slice(A1,C-A1+1)}for(var d=h(i.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),W0=e,t1=0;t10){var t1=Date.now(),b2=J1.mainLoop.queue.shift();if(b2.func(b2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,A1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=A1:(A1=A1+.5,J1.mainLoop.remainingBlockers=(8*s+A1)/9)}console.log('main loop blocker "'+b2.name+'" took '+(Date.now()-t1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&o.ctx&&(o.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof d<"u"?R.dynCall("vi",i,[d]):R.dynCall("v",i)}),!(e0?Wm(0,1e3/$):Wm(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var i=J1.mainLoop.timingMode,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,wB(h,0,!1,J1.mainLoop.arg,!0),Wm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var i=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var i={};i.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,W0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(W0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(W0)}))}catch(B2){R.warnOnce("Blob constructor present but fails: "+B2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){z4(w5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var L9=T5.getContext("2d");L9.drawImage(w5,0,0),o.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),b2&&b2()},w5.src=C},o.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,W0,t1,b2){var s=!1;function A1(L9){s||(s=!0,o.preloadedAudios[W0]=L9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return C()}var B2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function I4(v8){for(var K9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",u8="=",Z4="",Pi=0,Oi=0,Er=0;Er=6;){var j$=Pi>>Oi-6&63;Oi-=6,Z4+=K9[j$]}return Oi==2?(Z4+=K9[(Pi&3)<<4],Z4+=u8+u8):Oi==4&&(Z4+=K9[(Pi&15)<<2],Z4+=u8),Z4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=B2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&o.ctx&&i==o.canvas)return o.ctx;var P,e;if($){var W0={antialias:!1,alpha:!1};if(d)for(var t1 in d)W0[t1]=d[t1];e=GL.createContext(i,W0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||z4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(i,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(i,$,h){J1.lockPointer=i,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var W0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===W0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(W0.parentNode.insertBefore(d,W0),W0.parentNode.removeChild(W0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!k0)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var i=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],i.forEach(function($){$()})}},safeRequestAnimationFrame:function(i){return J1.requestAnimationFrame(function(){k0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return o.noExitRuntime=!0,setTimeout(function(){k0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return o.noExitRuntime=!0,setInterval(function(){k0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var W0=i.touch;if(W0===void 0)return;var t1=W0.pageX-(P+$.left),b2=W0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(i.type==="touchstart")J1.lastTouches[W0.identifier]=s,J1.touches[W0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var A1=J1.touches[W0.identifier];A1||(A1=s),J1.lastTouches[W0.identifier]=A1,J1.touches[W0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){z4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||dr("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Nn("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=o.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var d=o.canvas;J1.updateCanvasDimensions(d,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=z$[SDL.screen+R.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+R.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=z$[SDL.screen+R.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+R.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var d=$,P=h;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(d/P>2]=$),$}function ck(){o.printErr("missing function: floor0_exportbundle"),zs(-1)}if(Vs=R.staticAlloc(4),_9[Vs>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),q$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),Sh.push(function(){k.ignorePermissions=!1}),H$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,q$.unshift(function(){Gn.init()}),H$.push(function(){Gn.shutdown()}),f)var yt=void 0,kB=void 0;kh=yi=R.alignMemory(Jr),G$=!0,U$=kh+Jm,P$=Mi=R.alignMemory(U$),z4(P$>0]=d[t>>0],d[B2+1>>0]=d[t+1>>0],d[B2+2>>0]=d[t+2>>0],d[B2+3>>0]=d[t+3>>0]}function XD(t){t=t|0,d[B2>>0]=d[t>>0],d[B2+1>>0]=d[t+1>>0],d[B2+2>>0]=d[t+2>>0],d[B2+3>>0]=d[t+3>>0],d[B2+4>>0]=d[t+4>>0],d[B2+5>>0]=d[t+5>>0],d[B2+6>>0]=d[t+6>>0],d[B2+7>>0]=d[t+7>>0]}function Yk(t){t=t|0,H6=t}function Jk(){return H6|0}function gp(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0;E=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,n=S9(256)|0,A=t+8|0,e[A>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,g=t+16|0,e[g>>2]=256}function Vk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0;L=C,A=n>>3,a=t+12|0,p=e[a>>2]|0,S=(p|0)==0,!S&&(b=A<<3,v=n-b|0,w=t+8|0,D=e[w>>2]|0,y=D+A|0,e[a>>2]=y,_=t+4|0,e[_>>2]=v,e[t>>2]=A,g=8+(v<<2)|0,u=e[g>>2]|0,E=d[y>>0]|0,I=E&255,m=I&u,B=m&255,d[y>>0]=B)}function U2(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;q0=C,u=A>>>0>32;do if(!u){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,s0=t0+-4|0,w0=(E|0)<(s0|0),a=t+12|0,g=e[a>>2]|0,w0)N=g;else{if(M0=(g|0)==0,M0)return;if(J0=(t0|0)>2147483391,J0||(O0=t+8|0,z0=e[O0>>2]|0,I=t0+256|0,m=Hi(z0,I)|0,B=(m|0)==0,B))break;e[O0>>2]=m,p=e[_>>2]|0,S=p+256|0,e[_>>2]=S,b=e[t>>2]|0,v=m+b|0,e[a>>2]=v,N=v}w=8+(A<<2)|0,D=e[w>>2]|0,y=D&n,x=t+4|0,L=e[x>>2]|0,F=L+A|0,M=y<>0]|0,G=T&255,O=G|M,z=O&255,d[N>>0]=z,Y=(F|0)>7;do if(Y&&(J=e[x>>2]|0,W=8-J|0,e0=y>>>W,q=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=q,l0=(F|0)>15,l0&&(Z=e[x>>2]|0,K=16-Z|0,$0=y>>>K,i0=$0&255,n0=e[a>>2]|0,V=n0+2|0,d[V>>0]=i0,h0=(F|0)>23,h0&&(o0=e[x>>2]|0,g0=24-o0|0,j=y>>>g0,c0=j&255,u0=e[a>>2]|0,I0=u0+3|0,d[I0>>0]=c0,C0=(F|0)>31,C0))))if(v0=e[x>>2]|0,d0=(v0|0)==0,d0){L0=e[a>>2]|0,Q0=L0+4|0,d[Q0>>0]=0;break}else{p0=32-v0|0,B0=y>>>p0,E0=B0&255,b0=e[a>>2]|0,K0=b0+4|0,d[K0>>0]=E0;break}while(!1);T0=(F|0)/8&-1,G0=e[t>>2]|0,P0=G0+T0|0,e[t>>2]=P0,y0=e[a>>2]|0,Y0=y0+T0|0,e[a>>2]=Y0,F0=F&7,e[x>>2]=F0;return}while(!1);_0=t+8|0,N0=e[_0>>2]|0,V0=(N0|0)==0,V0||I2(N0),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 hp(t){t=t|0;var n=0,A=0,a=0,g=0,u=0;u=C,n=t+8|0,A=e[n>>2]|0,a=(A|0)==0,a||I2(A),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function u7(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;B=C,n=t+12|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(g=t+8|0,u=e[g>>2]|0,e[n>>2]=u,E=u,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function up(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0;if(b0=C,a=n>>>0>32,a)return A=-1,A|0;if(g=8+(n<<2)|0,D=e[g>>2]|0,z=t+4|0,K=e[z>>2]|0,u0=K+n|0,w0=e[t>>2]|0,C0=t+16|0,v0=e[C0>>2]|0,d0=v0+-4|0,u=(w0|0)<(d0|0),!u){if(E=u0+7|0,I=E>>3,m=v0-I|0,B=(w0|0)>(m|0),B)return A=-1,A|0;if(p=(u0|0)==0,p)return A=0,A|0}return S=t+12|0,b=e[S>>2]|0,v=d[b>>0]|0,w=v&255,y=w>>>K,_=(u0|0)>8,_?(x=b+1|0,L=d[x>>0]|0,F=L&255,M=8-K|0,T=F<16,G?(O=b+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-K|0,W=t0<24,q?(X=b+3|0,U=d[X>>0]|0,l0=U&255,Z=24-K|0,$0=l0<>0]|0,o0=h0&255,g0=32-K|0,j=o0<>2]|0,S=a+n|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,_=w-y|0,x=(b|0)>(_|0),x){p=t+12|0,e[p>>2]=0,e[t>>2]=w,L=1,e[A>>2]=L;return}else{g=(S|0)/8&-1,u=t+12|0,E=e[u>>2]|0,I=E+g|0,e[u>>2]=I,m=b+g|0,e[t>>2]=m,B=S&7,L=B,e[A>>2]=L;return}}function j4(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0;_0=C,m=n>>>0>32;do if(m)a=t+16|0,g=e[a>>2]|0,I=t+4|0,u=t,E=I,Q0=g;else{if(B=8+(n<<2)|0,F=e[B>>2]|0,e0=t+4|0,V=e[e0>>2]|0,d0=V+n|0,M0=e[t>>2]|0,T0=t+16|0,G0=e[T0>>2]|0,P0=G0+-4|0,p=(M0|0)<(P0|0),!p){if(S=d0+7|0,b=S>>3,v=G0-b|0,w=(M0|0)>(v|0),w){u=t,E=e0,Q0=G0;break}if(D=(d0|0)==0,D)return A=0,A|0}return y=t+12|0,_=e[y>>2]|0,x=d[_>>0]|0,L=x&255,M=L>>>V,T=(d0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-V|0,Y=O<16,J?(W=_+2|0,q=d[W>>0]|0,X=q&255,U=16-V|0,l0=X<24,K?($0=_+3|0,s0=d[$0>>0]|0,i0=s0&255,n0=24-V|0,h0=i0<>0]|0,I0=u0&255,w0=32-V|0,C0=I0<>2]=E0,b0=M0+B0|0,e[t>>2]=b0,K0=d0&7,e[e0>>2]=K0,A=p0,A|0}while(!1);return L0=t+12|0,e[L0>>2]=0,e[u>>2]=Q0,e[E>>2]=1,A=-1,A|0}function wt(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,g=a+7|0,u=(g|0)/8&-1,E=u+n|0,E|0}function tQ(t){t=t|0;var n=0,A=0,a=0,g=0;return g=C,n=t+8|0,A=e[n>>2]|0,A|0}function Kk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0;if(T=C,g=(t|0)==0,g)return A=-1,A|0;ae(t|0,0,360)|0,u=t+4|0,e[u>>2]=16384,b=t+24|0,e[b>>2]=1024,v=S9(16384)|0,e[t>>2]=v,w=S9(4096)|0,D=t+16|0,e[D>>2]=w,y=S9(8192)|0,_=t+20|0,e[_>>2]=y,x=(v|0)==0;do if(x)I=w;else{if(L=(w|0)==0,E=(y|0)==0,F=E|L,F){I2(v),a=e[D>>2]|0,I=a;break}return S=t+336|0,e[S>>2]=n,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),B=e[_>>2]|0,p=(B|0)==0,p||I2(B),ae(t|0,0,360)|0,A=-1,A|0}function zk(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0;return S=C,n=(t|0)==0,n||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),g=t+16|0,u=e[g>>2]|0,E=(u|0)==0,E||I2(u),I=t+20|0,m=e[I>>2]|0,B=(m|0)==0,B||I2(m),ae(t|0,0,360)|0),0}function Zk(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0;if(G0=C,n=(t|0)==0,!n){if(A=e[t>>2]|0,v=A+22|0,d[v>>0]=0,G=e[t>>2]|0,l0=G+23|0,d[l0>>0]=0,j=e[t>>2]|0,v0=j+24|0,d[v0>>0]=0,d0=e[t>>2]|0,p0=d0+25|0,d[p0>>0]=0,B0=t+4|0,a=e[B0>>2]|0,g=(a|0)>0,g)for(u=e[t>>2]|0,b0=0,Q0=0;;)if(S=b0<<8,b=b0>>>24,w=u+Q0|0,D=d[w>>0]|0,y=D&255,_=y^b,x=144+(_<<2)|0,L=e[x>>2]|0,F=L^S,M=Q0+1|0,T=(M|0)<(a|0),T)b0=F,Q0=M;else{E0=F;break}else E0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(B=t+8|0,p=e[B>>2]|0,L0=E0,M0=0;;)if(N=L0<<8,O=L0>>>24,z=p+M0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,q=e0^N,X=M0+1|0,U=(X|0)<(I|0),U)L0=q,M0=X;else{K0=q;break}else K0=E0;Z=K0&255,K=e[t>>2]|0,$0=K+22|0,d[$0>>0]=Z,s0=K0>>>8,i0=s0&255,n0=e[t>>2]|0,V=n0+23|0,d[V>>0]=i0,h0=K0>>>16,o0=h0&255,g0=e[t>>2]|0,c0=g0+24|0,d[c0>>0]=o0,u0=K0>>>24,I0=u0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=I0}}function Wk(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(b0=e[t>>2]|0,_0=(b0|0)==0,_0))return I=-1,I|0;if(D0=(n|0)==0,D0)return I=0,I|0;Z0=(A|0)>0;e:do if(Z0){for(f2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,o2=(O1|0)<0,w=2147483647-O1|0,O=(f2|0)>(w|0),F2=o2|O,F2){I=-1;break}if(Z=O1+f2|0,s0=y2+1|0,i0=(s0|0)<(A|0),i0)f2=Z,y2=s0;else{s2=Z;break e}}return I|0}else s2=0;while(!1);n0=(s2|0)/255&-1,V=n0+1|0,h0=t+12|0,o0=e[h0>>2]|0,g0=(o0|0)==0,v=t+8|0,g0||(c0=e[v>>2]|0,u0=c0-o0|0,e[v>>2]=u0,I0=(c0|0)==(o0|0),I0||(w0=b0+o0|0,ea(b0|0,w0|0,u0|0)|0),e[h0>>2]=0),C0=t+4|0,v0=e[C0>>2]|0,d0=v0-s2|0,p0=e[v>>2]|0,B0=(d0|0)>(p0|0);do if(!B0){if(E0=2147483647-s2|0,K0=(v0|0)>(E0|0),K0)return L0=e[t>>2]|0,Q0=(L0|0)==0,Q0||I2(L0),M0=t+16|0,T0=e[M0>>2]|0,G0=(T0|0)==0,G0||I2(T0),P0=t+20|0,y0=e[P0>>2]|0,Y0=(y0|0)==0,Y0||I2(y0),ae(t|0,0,360)|0,I=-1,I|0;if(F0=v0+s2|0,N0=(F0|0)<2147482623,V0=F0+1024|0,E=N0?V0:F0,J0=e[t>>2]|0,O0=Hi(J0,E)|0,z0=(O0|0)==0,!z0){e[C0>>2]=E,e[t>>2]=O0;break}return U0=e[t>>2]|0,q0=(U0|0)==0,q0||I2(U0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(u1=jk(t,V)|0,g1=(u1|0)==0,!g1)return I=-1,I|0;if(Z0)for(B=e[v>>2]|0,B1=B,k2=0;E1=e[t>>2]|0,p1=E1+B1|0,Q1=n+(k2<<3)|0,L1=e[Q1>>2]|0,x1=(n+(k2<<3)|0)+4|0,b1=e[x1>>2]|0,s4(p1|0,L1|0,b1|0)|0,R1=e[x1>>2]|0,F1=e[v>>2]|0,G1=F1+R1|0,e[v>>2]=G1,v1=k2+1|0,t2=(v1|0)==(A|0),!t2;)B1=G1,k2=v1;if(l1=(s2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,o1=e[n1>>2]|0,l1){for(I1=t+352|0,h1=t+20|0,m1=e[h1>>2]|0,d1=(n0|0)>1,C2=0;U1=a1+C2|0,Z1=o1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,_1=N1,V1=e[_1>>2]|0,q1=N1+4|0,H1=q1,Y1=e[H1>>2]|0,j1=m1+(U1<<3)|0,n2=j1,W1=n2,e[W1>>2]=V1,P1=n2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,u2=(z1|0)<(n0|0),u2;)C2=z1;D2=d1?n0:1,p=I1,$2=m1,w2=D2}else m=t+20|0,S=e[m>>2]|0,b=t+352|0,p=b,$2=S,w2=0;return E2=(s2|0)%255&-1,A2=a1+w2|0,K1=o1+(A2<<2)|0,e[K1>>2]=E2,h2=$2+(A2<<3)|0,i2=h2,l2=i2,e[l2>>2]=g,r2=i2+4|0,a2=r2,e[a2>>2]=u,X1=p,D=X1,e[D>>2]=g,y=X1+4|0,_=y,e[_>>2]=u,x=o1+(a1<<2)|0,L=e[x>>2]|0,F=L|256,e[x>>2]=F,M=a1+V|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=js(z|0,J|0,1,0)|0,e0=H6,q=T,X=q,e[X>>2]=W,U=q+4|0,l0=U,e[l0>>2]=e0,K=(a|0)==0,K?(I=0,I|0):($0=t+328|0,e[$0>>2]=1,I=0,I|0)}function iC(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0;return x=C,C=C+16|0,y=x,A=e[n>>2]|0,e[y>>2]=A,a=n+4|0,m=e[a>>2]|0,B=y+4|0,e[B>>2]=m,p=n+12|0,S=e[p>>2]|0,b=n+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,u=g,E=e[u>>2]|0,I=Wk(t,y,1,S,D,E)|0,C=x,I|0}function iQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0;return g=C,A=nQ(t,n,1,4096)|0,A|0}function rQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0;return x=C,u=(t|0)==0,u||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,B=e[m>>2]|0,p=(B|0)==0,a=t+28|0,g=e[a>>2]|0,y=(g|0)==0,p?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?_=7:D=0):y?D=0:_=7,(_|0)==7&&(D=1),w=nQ(t,n,D,4096)|0,A=w,A|0)}function jk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0;return c0=C,g=t+24|0,u=e[g>>2]|0,y=u-n|0,Y=t+28|0,$0=e[Y>>2]|0,n0=(y|0)>($0|0),n0?(a=0,a|0):(V=2147483647-n|0,h0=(u|0)>(V|0),h0?(o0=e[t>>2]|0,g0=(o0|0)==0,g0||I2(o0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),B=t+20|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),ae(t|0,0,360)|0,a=-1,a|0):(b=u+n|0,v=(b|0)<2147483615,w=b+32|0,A=v?w:b,D=t+16|0,_=e[D>>2]|0,x=A<<2,L=Hi(_,x)|0,F=(L|0)==0,F?(M=e[t>>2]|0,T=(M|0)==0,T||I2(M),N=e[D>>2]|0,G=(N|0)==0,G||I2(N),O=t+20|0,z=e[O>>2]|0,t0=(z|0)==0,t0||I2(z),ae(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=L,J=t+20|0,W=e[J>>2]|0,e0=A<<3,q=Hi(W,e0)|0,X=(q|0)==0,X?(U=e[t>>2]|0,l0=(U|0)==0,l0||I2(U),Z=e[D>>2]|0,K=(Z|0)==0,K||I2(Z),s0=e[J>>2]|0,i0=(s0|0)==0,i0||I2(s0),ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=q,e[g>>2]=A,a=0,a|0))))}function nQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0;if(v5=C,y=t+28|0,_=e[y>>2]|0,c1=(_|0)>255,g=c1?255:_,h1=(t|0)==0,h1||(R1=e[t>>2]|0,H1=(R1|0)==0,A2=(g|0)==0,w3=A2|H1,w3))return u=0,u|0;t2=t+332|0,H2=e[t2>>2]|0,Z2=(H2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(T0=(l3|0)<(g|0),!T0){I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,H5=l3,O5=14;break e}if(z0=e[C0>>2]|0,H0=z0+(l3<<2)|0,e1=e[H0>>2]|0,D0=e1&255,i1=(D0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,H5=$1,O5=14;break}}else if(x=(g|0)>0,x){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,B5=-1,t5=-1,s5=-1,W5=0,x3=0,C3=0;;){if(u1=(C5|0)>(a|0),g1=(W5|0)>3,G3=u1&g1,G3){E=1,G5=S5,_5=g5,q2=a5,I5=W2,A5=g2,c5=B5,p5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,o1=n1+C5|0,Z0=(n1|0)==255,Z0?(h5=S5,J2=g5,u5=a5,i5=W2,L5=g2,j2=B5,$5=t5,x2=s5,i6=0,U3=x3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,p1=e[E1>>2]|0,B1=d1+4|0,Q1=B1,L1=e[Q1>>2]|0,x1=x3+1|0,w1=p1&255,b1=Xs(p1|0,L1|0,8)|0,F1=H6,G1=b1&255,v1=Xs(p1|0,L1|0,16)|0,U1=H6,Z1=v1&255,N1=Xs(p1|0,L1|0,24)|0,_1=H6,V1=N1&255,O1=L1&255,q1=Xs(p1|0,L1|0,40)|0,Y1=H6,j1=q1&255,n2=Xs(p1|0,L1|0,48)|0,W1=H6,P1=n2&255,c2=Xs(p1|0,L1|0,56)|0,z1=H6,u2=c2&255,h5=w1,J2=Z1,u5=V1,i5=O1,L5=j1,j2=P1,$5=u2,x2=G1,i6=x1,U3=x1),o2=C3+1|0,E2=(o2|0)<(g|0),E2)C5=o1,S5=h5,g5=J2,a5=u5,W2=i5,g2=L5,B5=j2,t5=$5,s5=x2,W5=i6,x3=U3,C3=o2;else{E=A,G5=h5,_5=J2,q2=u5,I5=i5,A5=L5,c5=j2,p5=$5,M1=x2,c3=o2;break}}K1=(c3|0)==255,K1?(n3=G5,m3=_5,F5=q2,V5=I5,v3=A5,u3=c5,B3=p5,z3=M1,U5=255):(I=E,Q5=G5,q5=_5,j5=q2,E5=I5,f3=A5,h3=c5,J5=p5,X5=M1,H5=c3,O5=14)}else I=A,Q5=-1,q5=-1,j5=-1,E5=-1,f3=-1,h3=-1,J5=-1,X5=-1,H5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return u=0,u|0;n3=Q5,m3=q5,F5=j5,V5=E5,v3=f3,u3=h3,B3=J5,z3=X5,U5=H5}if($2=t+40|0,d[$2>>0]=79,d[$2+1>>0]=103,d[$2+2>>0]=103,d[$2+3>>0]=83,i2=t+44|0,d[i2>>0]=0,l2=t+45|0,d[l2>>0]=0,r2=t+16|0,a2=e[r2>>2]|0,X1=e[a2>>2]|0,s2=X1>>>8,S=s2&1,f2=S^1,y2=f2|2,m=Z2?y2:f2,a3=m&255,d[l2>>0]=a3,k2=t+328|0,w2=e[k2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),z5=C2&F2,z5&&(B=Z2?y2:f2,D2=B|4,N2=D2&255,d[l2>>0]=N2),e[t2>>2]=1,d2=t+46|0,d[d2>>0]=n3,K2=t+47|0,d[K2>>0]=z3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=V5,z2=t+51|0,d[z2>>0]=v3,o5=t+52|0,d[o5>>0]=u3,O2=t+53|0,d[O2>>0]=B3,T1=t+336|0,X2=e[T1>>2]|0,x5=X2&255,e5=t+54|0,d[e5>>0]=x5,b5=X2>>>8,f5=b5&255,k5=t+55|0,d[k5>>0]=f5,P5=X2>>>16,l5=P5&255,v2=t+56|0,d[v2>>0]=l5,m5=X2>>>24,n5=m5&255,L2=t+57|0,d[L2>>0]=n5,_2=t+340|0,p2=e[_2>>2]|0,L=(p2|0)==-1,L?(e[_2>>2]=0,M=0):M=p2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,q=e0&255,X=t+61|0,d[X>>0]=q,U=t+62|0,l0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=l0,K=(U5|0)>0,K){if($0=e[a2>>2]|0,s0=$0&255,n0=t+67|0,d[n0>>0]=s0,V=$0&255,D5=(U5|0)==1,D5)p=V;else for(o0=1,v0=V;;)if(b=e[r2>>2]|0,h0=b+(o0<<2)|0,g0=e[h0>>2]|0,j=g0&255,c0=o0+27|0,u0=(t+40|0)+c0|0,d[u0>>0]=j,I0=g0&255,w0=I0+v0|0,d0=o0+1|0,d5=(d0|0)==(U5|0),d5){p=w0;break}else o0=d0,v0=w0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,Q0=v,y0=w,F0=D,R5=p}else Q0=R1,y0=_,F0=a2,R5=0;return e[n>>2]=$2,p0=U5+27|0,B0=t+324|0,e[B0>>2]=p0,E0=n+4|0,e[E0>>2]=p0,b0=t+12|0,K0=e[b0>>2]|0,L0=Q0+K0|0,M0=n+8|0,e[M0>>2]=L0,G0=n+12|0,e[G0>>2]=R5,P0=y0-U5|0,e[y>>2]=P0,Y0=F0+(U5<<2)|0,_0=P0<<2,ea(F0|0,Y0|0,_0|0)|0,N0=t+20|0,V0=e[N0>>2]|0,J0=V0+(U5<<3)|0,O0=e[y>>2]|0,U0=O0<<3,ea(V0|0,J0|0,U0|0)|0,q0=e[b0>>2]|0,r1=q0+R5|0,e[b0>>2]=r1,Zk(n),u=1,u|0}function Xk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0;return H0=C,a=t+104|0,g=e[a>>2]|0,D=t+88|0,z=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,K=e[z>>2]|0,u7(K),u0=g+16|0,L0=e[u0>>2]|0,u7(L0),V0=g+20|0,U0=e[V0>>2]|0,u7(U0),q0=g+24|0,u=e[q0>>2]|0,u7(u),E=g+28|0,I=e[E>>2]|0,u7(I),m=g+32|0,B=e[m>>2]|0,u7(B),p=g+36|0,S=e[p>>2]|0,u7(S),b=g+40|0,v=e[b>>2]|0,u7(v),w=g+44|0,y=e[w>>2]|0,u7(y),_=g+48|0,x=e[_>>2]|0,u7(x),L=g+52|0,F=e[L>>2]|0,u7(F),M=g+56|0,T=e[M>>2]|0,u7(T),N=g+60|0,G=e[N>>2]|0,u7(G),O=g+64|0,Y=e[O>>2]|0,u7(Y),t0=g+68|0,J=e[t0>>2]|0,u7(J),W=e[6416]|0,e0=W+12|0,q=e[e0>>2]|0,X=MQ[q&1](t)|0,U=(X|0)==0,U?(l0=(n|0)==0,l0?(A=0,A|0):(Z=Mh(t)|0,$0=(Z|0)==0,$0?(s0=t+4|0,i0=tQ(s0)|0,e[n>>2]=i0,n0=wt(s0)|0,V=n+4|0,e[V>>2]=n0,h0=n+8|0,e[h0>>2]=0,o0=t+44|0,g0=e[o0>>2]|0,j=n+12|0,e[j>>2]=g0,c0=t+48|0,I0=c0,w0=I0,C0=e[w0>>2]|0,v0=I0+4|0,d0=v0,p0=e[d0>>2]|0,B0=n+16|0,E0=B0,b0=E0,e[b0>>2]=C0,K0=E0+4|0,Q0=K0,e[Q0>>2]=p0,M0=t+56|0,T0=M0,G0=T0,P0=e[G0>>2]|0,y0=T0+4|0,Y0=y0,F0=e[Y0>>2]|0,_0=n+24|0,N0=_0,J0=N0,e[J0>>2]=P0,O0=N0+4|0,z0=O0,e[z0>>2]=F0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function eS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0;C0=C,A=t+28|0,a=e[A>>2]|0,I0=n,v0=I0+48|0;do e[I0>>2]=0,I0=I0+4|0;while((I0|0)<(v0|0));w=a+3372|0,O=e[w>>2]|0,Z=(O|0)>0,Z&&(o0=t+8|0,g0=e[o0>>2]|0,j=e[a>>2]|0,c0=j>>1,u0=a+4|0,g=e[u0>>2]|0,u=(g|0)/(j|0)&-1,E=n+24|0,e[E>>2]=u,e[n>>2]=1,I=a+3360|0,m=e[I>>2]|0,B=+(m|0),p=+(c0|0),S=B*p,b=+(g0|0),v=S/b,D=+qi(v),y=~~D,_=n+12|0,e[_>>2]=y,x=a+3364|0,L=e[x>>2]|0,F=+(L|0),M=F*p,T=M/b,N=+qi(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*p,e0=W/b,q=+qi(e0),X=~~q,U=n+20|0,e[U>>2]=X,l0=n+32|0,A1[l0>>3]=7,K=+(O|0),$0=a+3376|0,s0=+A1[$0>>3],i0=K*s0,n0=~~i0,V=n+8|0,e[V>>2]=n0,h0=n+4|0,e[h0>>2]=n0)}function tS(t){t=t|0;var n=0,A=0,a=0,g=0;a=C,n=t,g=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(g|0))}function Mh(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0;return p=C,A=t+64|0,a=e[A>>2]|0,g=a+104|0,u=e[g>>2]|0,E=u+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function iS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0;if(b6=C,B=t+104|0,p=e[B>>2]|0,z1=t+64|0,v2=e[z1>>2]|0,_5=v2+104|0,g2=e[_5>>2]|0,x2=v2+4|0,F5=e[x2>>2]|0,x3=F5+28|0,M5=e[x3>>2]|0,S=g2+112|0,T=+A1[S>>3],X=+qi(T),o0=~~X,B0=(p+12|0)+(o0<<2)|0,Y0=e[B0>>2]|0,H0=wt(Y0)|0,n1=H0<<3,L1=t+28|0,_1=e[L1>>2]|0,u2=(_1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,u2?(x5=g2+100|0,b5=e[x5>>2]|0,U=d2,v0=x5,E0=b5):(Z2=g2+104|0,f5=e[Z2>>2]|0,k5=g2+100|0,P5=e[k5>>2]|0,l5=r5(f5,d2)|0,m5=r5(f5,P5)|0,U=l5,v0=k5,E0=m5),n5=M5+(_1<<2)|0,L2=e[n5>>2]|0,_2=L2>>1,p2=M5+3372|0,C5=e[p2>>2]|0,R5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=R5*D5,q2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,p5=g2+120|0,c5)return M1=e[p5>>2]|0,S5=(M1|0)==0,S5?(e[p5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[p5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){u2?$5=a5:(B5=g2+104|0,t5=e[B5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],u5=15/J2,i5=g2+84|0,L5=e[i5>>2]|0,j2=n1-$5|0,Q5=L5+j2|0,q5=(Q5|0)>(q2|0);e:do if(q5)if(j5=(o0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(f3=n1-$5|0,h3=f3+L5|0,J5=(h3|0)>(q2|0),J5)for(O3=o0;;){if(X5=O3+-1|0,n3=(p+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,V5=wt(m3)|0,v3=V5<<3,u3=(O3|0)>1,B3=(v3|0)>($5|0),k6=B3&u3,!k6){K5=X5;break e}if(I=e[i5>>2]|0,z3=v3-$5|0,G3=z3+I|0,z5=(G3|0)>(q2|0),z5)O3=X5;else{K5=X5;break}}else K5=o0;else K5=o0;else if(w3=(Q5|0)<(q2|0),w3)if(W5=o0+1|0,i6=(W5|0)<15,U3=(n1|0)<($5|0),X3=U3&i6,X3)if(a3=n1-$5|0,l3=a3+L5|0,c3=(l3|0)<(q2|0),c3)for(H5=W5;;){if(C3=(p+12|0)+(H5<<2)|0,U5=e[C3>>2]|0,O5=wt(U5)|0,v5=O5<<3,P3=H5+1|0,o6=(P3|0)<15,e3=(v5|0)<($5|0),p6=e3&o6,!p6){K5=H5;break e}if(E=e[i5>>2]|0,A3=v5-$5|0,R3=A3+E|0,u6=(R3|0)<(q2|0),u6)H5=P3;else{K5=H5;break}}else K5=o0;else K5=o0;else K5=o0;while(!1);Q3=+(K5|0),k3=+A1[S>>3],y3=Q3-k3,r6=+qi(y3),j3=+(_2|0),b=r6/j3,v=F5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,_=-u5,x=y<_,C6=x?_:y,L=C6>u5,b3=L?u5:C6,F=b3/D,M=F*j3,N=M+k3,A1[S>>3]=N,G=+qi(N),O=~~G,z=(p+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=wt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,S3=O,e6=J}else W=d2,S3=o0,e6=n1;e0=(W|0)>0,q=(e6|0)<(U|0),c6=q&e0;e:do if(c6)if(l0=g2+88|0,Z=e[l0>>2]|0,K=e6-U|0,$0=K+Z|0,s0=($0|0)<0,s0)for(g3=S3,t6=e6;;){if(i0=g3+1|0,n0=(g3|0)>13,n0){q3=i0,f6=t6;break e}if(V=(p+12|0)+(i0<<2)|0,h0=e[V>>2]|0,g0=wt(h0)|0,j=g0<<3,c0=e[l0>>2]|0,u0=j-U|0,I0=u0+c0|0,w0=(I0|0)<0,w0)g3=i0,t6=j;else{q3=i0,f6=j;break}}else q3=S3,f6=e6;else q3=S3,f6=e6;while(!1);C0=e[v0>>2]|0,d0=(C0|0)>0,p0=(f6|0)>(E0|0),B6=p0&d0;e:do if(B6)if(b0=g2+88|0,K0=e[b0>>2]|0,L0=f6-E0|0,Q0=L0+K0|0,M0=e[p2>>2]|0,T0=(Q0|0)>(M0|0),T0)for(l6=q3,H3=f6;;){if(G0=l6+-1|0,P0=(l6|0)<1,P0){d3=G0,D3=H3;break e}if(y0=(p+12|0)+(G0<<2)|0,F0=e[y0>>2]|0,_0=wt(F0)|0,N0=_0<<3,V0=e[b0>>2]|0,J0=N0-E0|0,O0=J0+V0|0,z0=e[p2>>2]|0,U0=(O0|0)>(z0|0),U0)l6=G0,H3=N0;else{d3=G0,D3=N0;break}}else d3=q3,D3=f6;else d3=q3,D3=f6;while(!1);if(q0=(d3|0)<0,q0)r1=e[p2>>2]|0,e1=g2+88|0,D0=e[e1>>2]|0,i1=r1+E0|0,c1=i1-D0|0,$1=(c1|0)/8&-1,u1=g2+124|0,e[u1>>2]=0,g1=p+12|0,l1=e[g1>>2]|0,s1=wt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,Z0=$1<<3,Vk(o1,Z0),I1=e[g1>>2]|0,h1=wt(I1)|0,m1=h1<<3,Y3=m1):Y3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,p1=U+7|0,B1=p1-E1|0,Q1=(B1|0)/8&-1,x1=(d3|0)>14,g=x1?14:d3,w1=g2+124|0,e[w1>>2]=g,b1=(p+12|0)+(g<<2)|0,R1=e[b1>>2]|0,F1=wt(R1)|0,G1=Q1-F1|0,v1=(G1|0)>0,U1=e[b1>>2]|0,v1)for(N1=U1,v6=G1;;)if(Z1=v6+-1|0,U2(N1,0,8),V1=(v6|0)>1,O1=e[b1>>2]|0,V1)N1=O1,v6=Z1;else{u=O1;break}else u=U1;q1=wt(u)|0,H1=q1<<3,Y3=H1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?Z3=37:(n2=e[v0>>2]|0,W1=(n2|0)>0,W1&&(Z3=37));do if((Z3|0)==37){if(P1=(E0|0)>0,c2=(Y3|0)>(E0|0),L6=P1&c2,L6){o2=Y3-E0|0,E2=g2+88|0,A2=e[E2>>2]|0,K1=o2+A2|0,e[E2>>2]=K1;break}if(h2=(U|0)>0,$2=(Y3|0)<(U|0),Y6=h2&$2,Y6){i2=Y3-U|0,l2=g2+88|0,r2=e[l2>>2]|0,a2=i2+r2|0,e[l2>>2]=a2;break}if(s2=g2+88|0,f2=e[s2>>2]|0,t2=(f2|0)>(q2|0),t2)if(P1){y2=Y3-E0|0,k2=f2+y2|0,w2=(k2|0)<(q2|0),n=w2?q2:k2,e[s2>>2]=n;break}else{e[s2>>2]=q2;break}else if(h2){C2=Y3-U|0,F2=f2+C2|0,D2=(F2|0)>(q2|0),a=D2?q2:F2,e[s2>>2]=a;break}else{e[s2>>2]=q2;break}}while(!1);return N2=e[g5>>2]|0,K2=(N2|0)>0,K2?(G2=e[L1>>2]|0,H2=(G2|0)==0,H2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),o5=Y3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function sQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0;return E0=C,a=t+104|0,g=e[a>>2]|0,D=g+120|0,z=e[D>>2]|0,K=(z|0)==0,K?(A=0,A|0):(u0=(n|0)==0,u0||(I0=z+104|0,w0=e[I0>>2]|0,C0=z+64|0,v0=e[C0>>2]|0,u=v0+104|0,E=e[u>>2]|0,I=E+80|0,m=e[I>>2]|0,p0=(m|0)==0,p0?d0=7:(B=g+124|0,p=e[B>>2]|0,d0=p),S=(w0+12|0)+(d0<<2)|0,b=e[S>>2]|0,v=tQ(b)|0,e[n>>2]=v,w=e[S>>2]|0,y=wt(w)|0,_=n+4|0,e[_>>2]=y,x=n+8|0,e[x>>2]=0,L=z+44|0,F=e[L>>2]|0,M=n+12|0,e[M>>2]=F,T=z+48|0,N=T,G=N,O=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,q=e0,e[q>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,l0=z+56|0,Z=l0,$0=Z,s0=e[$0>>2]|0,i0=Z+4|0,n0=i0,V=e[n0>>2]|0,h0=n+24|0,o0=h0,g0=o0,e[g0>>2]=s0,j=o0+4|0,c0=j,e[c0>>2]=V),e[D>>2]=0,A=1,A|0)}function rS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0;M=C,L=n,T=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(T|0));if(A=n+64|0,e[A>>2]=t,a=n+76|0,e[a>>2]=0,B=n+68|0,e[B>>2]=0,p=e[t>>2]|0,S=(p|0)==0,S)return 0;for(b=n4(1,72)|0,v=n+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=n+4|0,y=b+12|0,g=b+40|0,x=0;;)if(u=(x|0)==7,u){e[g>>2]=D,gp(D),x=8;continue}else{if(E=n4(1,20)|0,I=y+(x<<2)|0,e[I>>2]=E,gp(E),m=x+1|0,_=(m|0)==15,_)break;x=m;continue}return 0}function qt(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=n+7|0,a=A&-8,w=t+72|0,L=e[w>>2]|0,F=L+a|0,M=t+76|0,T=e[M>>2]|0,N=(F|0)>(T|0),G=t+68|0,O=e[G>>2]|0,N?(g=(O|0)==0,g||(u=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,B=m+L|0,e[I>>2]=B,p=t+84|0,S=e[p>>2]|0,b=E+4|0,e[b>>2]=S,e[E>>2]=u,e[p>>2]=E),e[M>>2]=a,v=S9(a)|0,e[G>>2]=v,e[w>>2]=0,y=v,_=0,D=y+_|0,x=_+a|0,e[w>>2]=x,D|0):(y=O,_=L,D=y+_|0,x=_+a|0,e[w>>2]=x,D|0)}function nS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0;if(Z=C,a=t+104|0,g=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,u=e[W>>2]|0,E=(u|0)==0,n=t+68|0,A=e[n>>2]|0,E?y=A:(I=t+76|0,m=e[I>>2]|0,B=m+u|0,p=Hi(A,B)|0,e[n>>2]=p,S=e[W>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[W>>2]=0,y=p),w=t+72|0,e[w>>2]=0,e[D>>2]=0,_=(y|0)==0,_||I2(y),x=(g|0)==0,x){U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}else q=0;for(;;){if(L=(g+12|0)+(q<<2)|0,F=e[L>>2]|0,hp(F),M=(q|0)==7,M){q=8;continue}if(T=e[L>>2]|0,I2(T),N=q+1|0,e0=(N|0)==15,e0)break;q=N}I2(g),U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}function sS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0;return _=C,a=AS(t,n,1)|0,g=(a|0)==0,g?(m=t+104|0,B=e[m>>2]|0,p=GS(n)|0,S=B+60|0,e[S>>2]=p,b=n4(1,180)|0,e[B>>2]=b,gS(b,n),v=B+80|0,eS(n,v),w=t+64|0,D=w,u=D,e[u>>2]=3,E=D+4|0,I=E,e[I>>2]=0,A=0,A|0):(A=1,A|0)}function oQ(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0;if(G2=C,p=(t|0)==0,!p){if(S=t+4|0,B0=e[S>>2]|0,Y0=(B0|0)!=0,Y0?(H0=B0+28|0,n1=e[H0>>2]|0,y0=n1):y0=0,L1=t+104|0,_1=e[L1>>2]|0,z1=(_1|0)!=0,z1){if(a2=e[_1>>2]|0,b=(a2|0)==0,b||(hS(a2),N=e[_1>>2]|0,I2(N)),U=_1+12|0,g0=e[U>>2]|0,I0=(g0|0)==0,I0||(w0=e[g0>>2]|0,mp(w0),C0=e[U>>2]|0,v0=e[C0>>2]|0,I2(v0),d0=e[U>>2]|0,I2(d0)),p0=_1+16|0,E0=e[p0>>2]|0,b0=(E0|0)==0,b0||(K0=e[E0>>2]|0,mp(K0),L0=e[p0>>2]|0,Q0=e[L0>>2]|0,I2(Q0),M0=e[p0>>2]|0,I2(M0)),T0=_1+48|0,G0=e[T0>>2]|0,P0=(G0|0)==0,!P0){if(F0=(y0|0)==0,F0)d1=G0;else if(_0=y0+16|0,N0=e[_0>>2]|0,V0=(N0|0)>0,V0){if(J0=y0+800|0,O0=e[J0>>2]|0,z0=25640+(O0<<2)|0,U0=e[z0>>2]|0,q0=U0+16|0,r1=e[q0>>2]|0,e1=e[G0>>2]|0,to[r1&7](e1),D0=e[_0>>2]|0,i1=(D0|0)>1,i1)for($1=1;n=e[T0>>2]|0,c1=J0+($1<<2)|0,u1=e[c1>>2]|0,g1=25640+(u1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=n+($1<<2)|0,Z0=e[o1>>2]|0,to[a1&7](Z0),I1=$1+1|0,h1=e[_0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[T0>>2]|0,d1=A}else d1=G0;I2(d1)}if(E1=_1+52|0,p1=e[E1>>2]|0,B1=(p1|0)==0,!B1){if(Q1=(y0|0)==0,Q1)K1=p1;else if(x1=y0+20|0,w1=e[x1>>2]|0,b1=(w1|0)>0,b1){if(R1=y0+1312|0,F1=e[R1>>2]|0,G1=25648+(F1<<2)|0,v1=e[G1>>2]|0,U1=v1+16|0,Z1=e[U1>>2]|0,N1=e[p1>>2]|0,to[Z1&7](N1),V1=e[x1>>2]|0,O1=(V1|0)>1,O1)for(H1=1;a=e[E1>>2]|0,q1=R1+(H1<<2)|0,Y1=e[q1>>2]|0,j1=25648+(Y1<<2)|0,n2=e[j1>>2]|0,W1=n2+16|0,P1=e[W1>>2]|0,c2=a+(H1<<2)|0,u2=e[c2>>2]|0,to[P1&7](u2),o2=H1+1|0,E2=e[x1>>2]|0,A2=(o2|0)<(E2|0),A2;)H1=o2;g=e[E1>>2]|0,K1=g}else K1=p1;I2(K1)}if(h2=_1+56|0,$2=e[h2>>2]|0,i2=($2|0)==0,!i2){if(l2=(y0|0)==0,l2)D2=$2;else if(r2=y0+28|0,X1=e[r2>>2]|0,s2=(X1|0)>0,s2){if(fQ($2),f2=e[r2>>2]|0,t2=(f2|0)>1,t2)for(k2=1;u=e[h2>>2]|0,y2=u+(k2*52|0)|0,fQ(y2),w2=k2+1|0,C2=e[r2>>2]|0,F2=(w2|0)<(C2|0),F2;)k2=w2;E=e[h2>>2]|0,D2=E}else D2=$2;I2(D2)}v=_1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||US(w),y=_1+80|0,tS(y),_=_1+20|0,wQ(_),x=_1+32|0,wQ(x)}if(L=t+8|0,F=e[L>>2]|0,M=(F|0)==0,!M){if(Y0)if(T=B0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,u0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?q=u0:(I2(t0),m=e[T>>2]|0,q=m),W=N2+1|0,e0=(W|0)<(q|0),!!e0;)I=e[L>>2]|0,Y=I,u0=q,N2=W;B=e[L>>2]|0,X=B}else X=F;else X=F;I2(X),l0=t+12|0,Z=e[l0>>2]|0,K=(Z|0)==0,K||I2(Z)}z1&&($0=_1+64|0,s0=e[$0>>2]|0,i0=(s0|0)==0,i0||I2(s0),n0=_1+68|0,V=e[n0>>2]|0,h0=(V|0)==0,h0||I2(V),o0=_1+72|0,j=e[o0>>2]|0,c0=(j|0)==0,c0||I2(j),I2(_1)),d2=t,H2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(H2|0))}}function AQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0;if(Y0=C,I=t+4|0,m=e[I>>2]|0,L=t+104|0,W=e[L>>2]|0,n0=W+64|0,v0=e[n0>>2]|0,Q0=(v0|0)==0,Q0||I2(v0),e[n0>>2]=0,M0=W+68|0,T0=e[M0>>2]|0,G0=(T0|0)==0,G0||I2(T0),e[M0>>2]=0,B=W+72|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),e[B>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+n|0,D=t+16|0,y=e[D>>2]|0,_=(w|0)<(y|0),_)A=m+4|0,u=e[A>>2]|0,X=u,y0=11;else if(x=n<<1,F=v+x|0,e[D>>2]=F,M=m+4|0,T=e[M>>2]|0,N=(T|0)>0,N)if(G=t+8|0,O=e[G>>2]|0,z=e[O>>2]|0,Y=F<<2,t0=Hi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,q=(e0|0)>1,q)for(i0=1;;)if(a=e[D>>2]|0,$0=e[G>>2]|0,s0=$0+(i0<<2)|0,V=e[s0>>2]|0,h0=a<<2,o0=Hi(V,h0)|0,g0=e[G>>2]|0,j=g0+(i0<<2)|0,e[j>>2]=o0,c0=i0+1|0,u0=e[M>>2]|0,I0=(c0|0)<(u0|0),I0)i0=c0;else{X=u0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for(l0=t+8|0,Z=e[b>>2]|0,K=t+12|0,P0=0;;)if(w0=e[l0>>2]|0,C0=w0+(P0<<2)|0,d0=e[C0>>2]|0,p0=d0+(Z<<2)|0,B0=e[K>>2]|0,E0=B0+(P0<<2)|0,e[E0>>2]=p0,b0=P0+1|0,K0=(b0|0)<(X|0),K0)P0=b0;else{g=K;break}return L0=e[g>>2]|0,L0|0}return E=t+12|0,g=E,L0=e[g>>2]|0,L0|0}function oS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0;if(O0=C,I=t+4|0,m=e[I>>2]|0,L=m+28|0,W=e[L>>2]|0,n0=(n|0)<1,!n0)return w0=t+20|0,C0=e[w0>>2]|0,d0=C0+n|0,p0=t+16|0,B0=e[p0>>2]|0,E0=(d0|0)>(B0|0),E0?(a=-131,C=O0,a|0):(e[w0>>2]=d0,b0=t+28|0,K0=e[b0>>2]|0,L0=(K0|0)==0,!L0||(Q0=t+48|0,M0=e[Q0>>2]|0,T0=d0-M0|0,P0=W+4|0,y0=e[P0>>2]|0,Y0=(T0|0)>(y0|0),!Y0)?(a=0,C=O0,a|0):($Q(t),a=0,C=O0,a|0));if(v0=C,C=C+128|0,G0=t+28|0,F0=e[G0>>2]|0,_0=(F0|0)==0,_0&&$Q(t),N0=W+4|0,B=e[N0>>2]|0,p=B*3|0,AQ(t,p)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[N0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,_=m+4|0,x=e[_>>2]|0,F=(x|0)>0,!F)return a=0,C=O0,a|0;for(M=t+8|0,T=b,V0=0;;){if(N=(T|0)>64,N?(G=e[N0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(V0<<2)|0,t0=e[Y>>2]|0,u=T-A|0,J=t0+(u<<2)|0,+lQ(J,v0,A,32),e0=e[M>>2]|0,q=e0+(V0<<2)|0,X=e[q>>2]|0,U=e[v>>2]|0,l0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,K=e[S>>2]|0,$0=K-U|0,cQ(v0,Z,32,l0,$0)):(s0=e[M>>2]|0,i0=s0+(V0<<2)|0,V=e[i0>>2]|0,h0=V+(T<<2)|0,o0=e[S>>2]|0,g0=o0-T|0,j=g0<<2,ae(h0|0,0,j|0)|0),c0=V0+1|0,u0=e[_>>2]|0,I0=(c0|0)<(u0|0),!I0){a=0;break}g=e[v>>2]|0,T=g,V0=c0}return C=O0,a|0}function aQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,S=t+4|0,b=e[S>>2]|0,o2=b+28|0,v5=e[o2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,f6=S6+60|0,d6=e[f6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,v=t+40|0,G=e[v>>2]|0,l0=v5+(G<<2)|0,j=e[l0>>2]|0,b0=(j|0)/2&-1,_0=t9-b0|0,D0=n+104|0,Z0=e[D0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(f2=t+32|0,G2=e[f2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;p2=uS(t)|0,p5=(p2|0)==-1;do if(p5){if(J2=e[f2>>2]|0,f3=(J2|0)==0,f3)return a=0,a|0;z3=t+44|0,e[z3>>2]=0,u=z3,O3=0;break}else if(C3=e[v5>>2]|0,P3=v5+4|0,M5=e[P3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,u=e3,O3=0;break}else{e[e3>>2]=p2,u=e3,O3=p2;break}while(!1);if(A3=e[G6>>2]|0,R3=e[v>>2]|0,u6=v5+(R3<<2)|0,Q3=e[u6>>2]|0,k3=(Q3|0)/4&-1,y3=k3+A3|0,j3=v5+(O3<<2)|0,K5=e[j3>>2]|0,S3=(K5|0)/4&-1,g3=y3+S3|0,q3=(K5|0)/2&-1,l6=g3+q3|0,d3=t+20|0,v6=e[d3>>2]|0,k6=(v6|0)<(l6|0),k6)return a=0,a|0;if(p6=n+84|0,X3=e[p6>>2]|0,c6=(X3|0)==0,!c6)for(I9=X3;B6=I9+4|0,L6=e[B6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(L6|0)==0,!C6;)I9=L6;b3=n+80|0,e6=e[b3>>2]|0,t6=(e6|0)==0,t6||(H3=n+68|0,D3=e[H3>>2]|0,Y3=n+76|0,Z3=e[Y3>>2]|0,b6=Z3+e6|0,A6=Hi(D3,b6)|0,e[H3>>2]=A6,t3=e[b3>>2]|0,O6=e[Y3>>2]|0,s3=O6+t3|0,e[Y3>>2]=s3,e[b3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[p6>>2]=0,_3=t+36|0,N6=e[_3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[v>>2]|0,x6=n+28|0,e[x6>>2]=Q6,K6=e[u>>2]|0,I6=n+32|0,e[I6>>2]=K6,J6=(Q6|0)==0;do if(J6)if(s9=fS(t)|0,R6=(s9|0)==0,U6=Z0+8|0,R6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(F3=(N6|0)==0,j6=(K6|0)==0,N9=F3|j6,e9=Z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,M3=e[F6>>2]|0,M6=y6+4|0,A9=M6,X6=e[A9>>2]|0,u9=js(M3|0,X6|0,1,0)|0,f9=H6,d9=z6,a9=d9,e[a9>>2]=u9,$9=d9+4|0,T9=$9,e[T9>>2]=f9,E6=n+56|0,T6=E6,w=T6,e[w>>2]=M3,D=T6+4|0,y=D,e[y>>2]=X6,_=t+56|0,x=_,L=x,F=e[L>>2]|0,M=x+4|0,T=M,N=e[T>>2]|0,O=n+48|0,z=O,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=N,W=e[v>>2]|0,e0=v5+(W<<2)|0,q=e[e0>>2]|0,X=n+36|0,e[X>>2]=q,U=Z0+4|0,Z=+s[U>>2],K=+s[d6>>2],$0=Z>K,$0?(s[d6>>2]=Z,s0=Z):s0=K,i0=+qS(s0,t),s[d6>>2]=i0,s[U>>2]=i0,n0=b+4|0,V=e[n0>>2]|0,h0=V<<2,o0=h0+7|0,g0=o0&-8,c0=e[a6>>2]|0,u0=g0+c0|0,I0=n+76|0,w0=e[I0>>2]|0,C0=(u0|0)>(w0|0),v0=n+68|0,d0=e[v0>>2]|0,C0?(p0=(d0|0)==0,p0||(B0=d0,E0=S9(8)|0,K0=e[b3>>2]|0,L0=K0+c0|0,e[b3>>2]=L0,Q0=e[p6>>2]|0,M0=E0+4|0,e[M0>>2]=Q0,e[E0>>2]=B0,e[p6>>2]=E0),e[I0>>2]=g0,T0=S9(g0)|0,e[v0>>2]=T0,e[a6>>2]=0,g=e[n0>>2]|0,P0=T0,y0=0,N0=g,U0=g0):(P0=d0,y0=c0,N0=V,U0=w0),G0=P0+y0|0,Y0=y0+g0|0,e[a6>>2]=Y0,e[n>>2]=G0,F0=N0<<2,V0=F0+7|0,J0=V0&-8,O0=J0+Y0|0,z0=(O0|0)>(U0|0),z0?(q0=(P0|0)==0,q0||(r1=P0,H0=S9(8)|0,e1=e[b3>>2]|0,i1=e1+Y0|0,e[b3>>2]=i1,c1=e[p6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=r1,e[p6>>2]=H0),e[I0>>2]=J0,u1=S9(J0)|0,e[v0>>2]=u1,e[a6>>2]=0,E=e[n0>>2]|0,l1=u1,s1=0,n1=E,O5=J0):(l1=P0,s1=Y0,n1=N0,O5=U0),g1=l1+s1|0,a1=s1+J0|0,e[a6>>2]=a1,e[Z0>>2]=g1,o1=(n1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,x1=O5,b1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+_0|0,d1=m1<<2,E1=d1+7|0,p1=E1&-8,B1=p1+Q1|0,L1=(B1|0)>(x1|0),L1?(R1=(b1|0)==0,R1||(F1=b1,G1=S9(8)|0,v1=e[b3>>2]|0,U1=v1+Q1|0,e[b3>>2]=U1,Z1=e[p6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[p6>>2]=G1),e[I0>>2]=p1,_1=S9(p1)|0,e[v0>>2]=_1,e[a6>>2]=0,q1=_1,H1=0):(q1=b1,H1=Q1),V1=q1+H1|0,Y1=H1+p1|0,e[a6>>2]=Y1,j1=e[Z0>>2]|0,n2=j1+(i9<<2)|0,e[n2>>2]=V1,W1=e[Z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,u2=z1+(i9<<2)|0,A2=e[u2>>2]|0,s4(c2|0,A2|0,d1|0)|0,K1=e[Z0>>2]|0,h2=K1+(i9<<2)|0,$2=e[h2>>2]|0,i2=$2+(_0<<2)|0,l2=e[n>>2]|0,r2=l2+(i9<<2)|0,e[r2>>2]=i2,a2=i9+1|0,X1=e[n0>>2]|0,s2=(a2|0)<(X1|0),!s2)break e;I=e[a6>>2]|0,m=e[I0>>2]|0,B=e[v0>>2]|0,Q1=I,x1=m,b1=B,i9=a2}while(!1);if(t2=e[f2>>2]|0,y2=(t2|0)==0,!y2&&(k2=e[G6>>2]|0,w2=(k2|0)<(t2|0),!w2))return e[f2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=v5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,K2=(d2|0)>0,!K2)return a=1,a|0;if(H2=e[S6>>2]|0,dS(H2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[n0>>2]|0,o5=(z2|0)>0,o5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,x5=X2+(d2<<2)|0,e5=P2<<2,ea(X2|0,x5|0,e5|0)|0,Z2=e[n0>>2]|0,f5=(Z2|0)>1,f5))for(l5=1;p=e[d3>>2]|0,k5=e[O2>>2]|0,P5=k5+(l5<<2)|0,v2=e[P5>>2]|0,m5=v2+(d2<<2)|0,n5=p<<2,ea(v2|0,m5|0,n5|0)|0,L2=l5+1|0,_2=e[n0>>2]|0,C5=(L2|0)<(_2|0),C5;)l5=L2;return R5=e[v>>2]|0,e[_3>>2]=R5,d5=e[u>>2]|0,e[v>>2]=d5,e[G6>>2]=N2,D5=e[f2>>2]|0,G5=(D5|0)==0,G5?(u3=(d2|0)<0,B3=u3<<31>>31,G3=_,z5=G3,w3=e[z5>>2]|0,W5=G3+4|0,i6=W5,x3=e[i6>>2]|0,U3=js(w3|0,x3|0,d2|0,B3|0)|0,a3=H6,l3=_,c3=l3,e[c3>>2]=U3,H5=l3+4|0,U5=H5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,q2=(_5|0)<1,A=q2?-1:_5,e[f2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,x2=$5<<31>>31,Q5=_,q5=Q5,j5=e[q5>>2]|0,E5=Q5+4|0,h3=E5,J5=e[h3>>2]|0,X5=js(j5|0,J5|0,d2|0,x2|0)|0,n3=H6,m3=_,F5=m3,e[F5>>2]=X5,V5=m3+4|0,v3=V5,e[v3>>2]=n3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,B5=g2,t5=e[B5>>2]|0,s5=js(W2|0,t5|0,c5|0,S5|0)|0,h5=H6,u5=_,i5=u5,e[i5>>2]=s5,L5=u5+4|0,j2=L5,e[j2>>2]=h5,a=1,a|0))}function AS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0;if(i5=C,B=n+28|0,p=e[B>>2]|0,B1=(p|0)==0,B1||(Z1=p+8|0,P1=e[Z1>>2]|0,l2=(P1|0)<1,l2)||(F2=e[p>>2]|0,O2=(F2|0)<64,O2)||(v2=p+4|0,_5=e[v2>>2]|0,S=(_5|0)<(F2|0),S))return a=1,a|0;T=p+3656|0,X=e[T>>2]|0,J2=t,L5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(L5|0));o0=n4(1,136)|0,B0=t+104|0,e[B0>>2]=o0,Y0=t+4|0,e[Y0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,E1=Nt(n1)|0,p1=o0+44|0,e[p1>>2]=E1,Q1=n4(1,4)|0,L1=o0+12|0,e[L1>>2]=Q1,x1=n4(1,4)|0,w1=o0+16|0,e[w1>>2]=x1,b1=n4(1,20)|0,e[Q1>>2]=b1,R1=n4(1,20)|0,e[x1>>2]=R1,F1=e[p>>2]|0,G1=F1>>X,Ep(b1,G1),v1=e[w1>>2]|0,U1=e[v1>>2]|0,N1=e[v2>>2]|0,_1=N1>>X,Ep(U1,_1),V1=e[p>>2]|0,O1=Nt(V1)|0,q1=O1+-7|0,H1=o0+4|0,e[H1>>2]=q1,Y1=e[v2>>2]|0,j1=Nt(Y1)|0,n2=j1+-7|0,W1=o0+8|0,e[W1>>2]=n2,c2=(A|0)==0;e:do if(c2){if(p2=p+2848|0,C5=e[p2>>2]|0,R5=(C5|0)==0,R5&&(d5=p+24|0,D5=e[d5>>2]|0,G5=n4(D5,56)|0,e[p2>>2]=G5,q2=e[d5>>2]|0,I5=(q2|0)>0,I5)){for(m1=q2,B5=0;;){if(A5=(p+1824|0)+(B5<<2)|0,c5=e[A5>>2]|0,p5=(c5|0)==0,p5){M1=m1;break}if(g5=e[p2>>2]|0,a5=g5+(B5*56|0)|0,W2=$b(a5,c5)|0,b=(W2|0)==0,!b){u5=20;break}if(v=e[A5>>2]|0,Cp(v),e[A5>>2]=0,w=B5+1|0,D=e[d5>>2]|0,y=(w|0)<(D|0),y)m1=D,B5=w;else break e}if((u5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(p+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(Cp(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),Z0=h5+1|0,I1=(Z0|0)<(h1|0),I1;)d1=h1,h5=Z0;return oQ(t),a=-1,a|0}}else{if(z1=o0+20|0,u2=e[p>>2]|0,yQ(z1,u2),o2=o0+32|0,E2=e[v2>>2]|0,yQ(o2,E2),A2=p+2848|0,K1=e[A2>>2]|0,h2=(K1|0)==0,h2&&($2=p+24|0,i2=e[$2>>2]|0,r2=n4(i2,56)|0,e[A2>>2]=r2,a2=e[$2>>2]|0,X1=(a2|0)>0,X1&&(s2=p+1824|0,f2=e[s2>>2]|0,QQ(r2,f2)|0,t2=e[$2>>2]|0,y2=(t2|0)>1,y2)))for(w2=1;g=e[A2>>2]|0,k2=g+(w2*56|0)|0,C2=(p+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,QQ(k2,D2)|0,N2=w2+1|0,d2=e[$2>>2]|0,K2=(N2|0)<(d2|0),K2;)w2=N2;G2=p+28|0,H2=e[G2>>2]|0,M2=n4(H2,52)|0,P2=o0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=p+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(x5=e5+(g2*52|0)|0,b5=(p+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,f5=e[Z2>>2]|0,k5=p+(f5<<2)|0,P5=e[k5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,OS(x5,Z2,T1,l5,m5),n5=g2+1|0,L2=e[G2>>2]|0,_2=(n5|0)<(L2|0),!_2)break t;u=e[P2>>2]|0,e5=u,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[v2>>2]|0,x=t+16|0,e[x>>2]=_,L=n+4|0,F=e[L>>2]|0,M=F<<2,N=S9(M)|0,G=t+8|0,e[G>>2]=N,O=S9(M)|0,z=t+12|0,e[z>>2]=O,Y=(F|0)>0,Y&&(t0=n4(_,4)|0,e[N>>2]=t0,J=(F|0)>1,J))for(q=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(q<<2)|0,e[e0>>2]=W,U=q+1|0,l0=(U|0)<(F|0),l0;)q=U;if(Z=t+36|0,e[Z>>2]=0,K=t+40|0,e[K>>2]=0,$0=e[v2>>2]|0,s0=($0|0)/2&-1,i0=t+48|0,e[i0>>2]=s0,n0=t+20|0,e[n0>>2]=s0,V=p+16|0,h0=e[V>>2]|0,g0=n4(h0,4)|0,j=o0+48|0,e[j>>2]=g0,c0=p+20|0,u0=e[c0>>2]|0,I0=n4(u0,4)|0,w0=o0+52|0,e[w0>>2]=I0,C0=e[V>>2]|0,v0=(C0|0)>0,v0)for(t5=0;E0=(p+800|0)+(t5<<2)|0,b0=e[E0>>2]|0,K0=25640+(b0<<2)|0,L0=e[K0>>2]|0,Q0=L0+8|0,M0=e[Q0>>2]|0,T0=(p+1056|0)+(t5<<2)|0,G0=e[T0>>2]|0,P0=f7[M0&15](t,G0)|0,y0=e[j>>2]|0,F0=y0+(t5<<2)|0,e[F0>>2]=P0,_0=t5+1|0,N0=e[V>>2]|0,V0=(_0|0)<(N0|0),V0;)t5=_0;if(d0=e[c0>>2]|0,p0=(d0|0)>0,p0)s5=0;else return a=0,a|0;for(;;)if(J0=(p+1312|0)+(s5<<2)|0,O0=e[J0>>2]|0,z0=25648+(O0<<2)|0,U0=e[z0>>2]|0,q0=U0+8|0,r1=e[q0>>2]|0,e1=(p+1568|0)+(s5<<2)|0,D0=e[e1>>2]|0,i1=f7[r1&15](t,D0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,u1=s5+1|0,g1=e[c0>>2]|0,l1=(u1|0)<(g1|0),l1)s5=u1;else{a=0;break}return a|0}function $Q(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0;if(L0=C,C=C+64|0,g=L0,u=t+20|0,y=e[u>>2]|0,Y=y<<2,n=Y,$0=C,C=C+((1*n|0)+15&-16)|0,I0=t+28|0,e[I0>>2]=1,C0=t+48|0,v0=e[C0>>2]|0,d0=y-v0|0,p0=(d0|0)>32,!p0){C=L0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,B=e[m>>2]|0,p=(B|0)>0,!p){C=L0;return}for(S=t+8|0,b=y,B0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(B0<<2)|0,_=e[D>>2]|0,E0=0;x=E0^-1,L=b+x|0,F=_+(L<<2)|0,M=e[F>>2]|0,T=$0+(E0<<2)|0,e[T>>2]=M,N=E0+1|0,G=(b|0)>(N|0),G;)E0=N;if(O=e[C0>>2]|0,z=b-O|0,+lQ($0,g,z,16),t0=e[u>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=$0+(A<<2)|0,a=A+-16|0,e0=$0+(a<<2)|0,cQ(g,e0,16,W,J),q=e[u>>2]|0,X=(q|0)>0,X)for(U=e[S>>2]|0,l0=U+(B0<<2)|0,Z=e[l0>>2]|0,b0=0;K=$0+(b0<<2)|0,s0=e[K>>2]|0,i0=b0^-1,n0=q+i0|0,V=Z+(n0<<2)|0,e[V>>2]=s0,h0=b0+1|0,o0=(q|0)>(h0|0),o0;)b0=h0;if(g0=B0+1|0,j=e[E>>2]|0,c0=j+4|0,u0=e[c0>>2]|0,w0=(g0|0)<(u0|0),w0)b=q,B0=g0;else break}C=L0}function aS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0;a2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),l0=e[I>>2]|0,j=(l0|0)>1;e:do if(j)for(b0=t+8|0,_0=e[b0>>2]|0,g=d[_0>>0]|0,D0=g,P1=1;;){if(Z0=D0<<24>>24==0,Z0){W1=P1;break e}if(w1=_0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(y=P1+1|0,_=(y|0)<(l0|0),_)D0=m,P1=y;else{W1=y;break}}else W1=1;while(!1);x=(W1|0)==(l0|0);e:do if(x){if(U2(n,1,1),L=t+8|0,F=e[L>>2]|0,M=d[F>>0]|0,T=M<<24>>24,N=T+-1|0,U2(n,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(w=O,q1=0,z1=1;;){if(Y=e[L>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,q=d[e0>>0]|0,X=J<<24>>24>q<<24>>24,X)for(U=q<<24>>24,Z=J<<24>>24,s0=w,H1=q1,$2=U;;)if(K=z1-H1|0,$0=s0-H1|0,i0=Nt($0)|0,U2(n,K,i0),n0=$2+1|0,n2=(n0|0)==(Z|0),u=e[I>>2]|0,n2){o0=u,Y1=z1;break}else s0=u,H1=z1,$2=n0;else o0=w,Y1=q1;if(V=z1+1|0,h0=(V|0)<(o0|0),h0)w=o0,q1=Y1,z1=V;else{a=o0,O1=Y1,c2=V;break}}else a=O,O1=0,c2=1;g0=c2-O1|0,c0=a-O1|0,u0=Nt(c0)|0,U2(n,g0,u0)}else{U2(n,0,1),I0=e[I>>2]|0,w0=(I0|0)>0;t:do if(w0)for(C0=t+8|0,v0=e[C0>>2]|0,o2=0;;){if(d0=v0+o2|0,p0=d[d0>>0]|0,B0=p0<<24>>24==0,B0){u2=o2;break t}if(E0=o2+1|0,K0=(E0|0)<(I0|0),K0)o2=E0;else{u2=E0;break}}else u2=0;while(!1);if(L0=(u2|0)==(I0|0),L0){if(U2(n,0,1),Q0=e[I>>2]|0,M0=(Q0|0)>0,!M0)break;for(T0=t+8|0,E2=0;;)if(G0=e[T0>>2]|0,P0=G0+E2|0,y0=d[P0>>0]|0,Y0=y0<<24>>24,F0=Y0+-1|0,U2(n,F0,5),N0=E2+1|0,V0=e[I>>2]|0,J0=(N0|0)<(V0|0),J0)E2=N0;else break e}if(U2(n,1,1),O0=e[I>>2]|0,z0=(O0|0)>0,z0)for(U0=t+8|0,A2=0;q0=e[U0>>2]|0,r1=q0+A2|0,H0=d[r1>>0]|0,e1=H0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[U0>>2]|0,c1=i1+A2|0,$1=d[c1>>0]|0,u1=$1<<24>>24,g1=u1+-1|0,U2(n,g1,5)),l1=A2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)A2=l1}while(!1);if(n1=t+12|0,o1=e[n1>>2]|0,U2(n,o1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)r2=28;else if(I1|0)return A=-1,A|0;do if((r2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,p1=e[E1>>2]|0,U2(n,p1,32),B1=t+20|0,Q1=e[B1>>2]|0,U2(n,Q1,32),L1=t+24|0,x1=e[L1>>2]|0,b1=x1+-1|0,U2(n,b1,4),R1=t+28|0,F1=e[R1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)v1=ob(t)|0,l2=v1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,l2=N1;else break;if(_1=(l2|0)>0,_1)for(K1=0;V1=e[h1>>2]|0,B=V1+(K1<<2)|0,p=e[B>>2]|0,h2=(p|0)>-1,i2=0-p|0,S=h2?p:i2,b=e[L1>>2]|0,U2(n,S,b),v=K1+1|0,j1=(v|0)==(l2|0),!j1;)K1=v}while(!1);return A=0,A|0}function Th(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,g=(n|0)<0,g||(u=t+12|0,y=e[u>>2]|0,x=y+4|0,L=e[x>>2]|0,F=(L|0)>(n|0),!F)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(n<<2)|0,G=e[N>>2]|0,E=y+8|0,I=e[E>>2]|0,m=I+n|0,B=d[m>>0]|0,p=B<<24>>24,U2(A,G,p),S=e[u>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+n|0,D=d[w>>0]|0,_=D<<24>>24,a=_,a|0)}function rC(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0;return v=C,a=t+8|0,g=e[a>>2]|0,u=(g|0)>0,!u||(E=Nh(t,n)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,B=e[m>>2]|0,p=B+(E<<2)|0,S=e[p>>2]|0,A=S,A|0)}function $S(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0;if(j=C,m=t+8|0,B=e[m>>2]|0,F=(B|0)>0,!F)return g=0,C=j,g|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,u=U,l0=C,C=C+((1*u|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(K=t+16|0,n0=0;;){if(N=Nh(t,A)|0,G=(N|0)==-1,G){g=-1;break}if(O=e[K>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=l0+(n0<<2)|0,e[J>>2]=t0,W=n0+1|0,q=(W|0)<(X|0),q)n0=W;else{$0=z;break e}}return C=j,g|0}else $0=e0;while(!1);if(E=($0|0)<1,I=Z^1,s0=E|I,s0)return g=0,C=j,g|0;for(V=0,o0=0;;){for(h0=0;v=l0+(h0<<2)|0,w=e[v>>2]|0,D=w+(V<<2)|0,y=+s[D>>2],_=h0+o0|0,x=n+(_<<2)|0,L=+s[x>>2],M=L+y,s[x>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(p=V+1|0,S=o0+X|0,b=(p|0)<($0|0),b)V=p,o0=S;else{g=0;break}}return C=j,g|0}function lS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,g0=(t0|0)>0,!g0)return g=0,g|0;if(E0=e[t>>2]|0,F0=(E0|0)>8,F0){if(x1=(a|0)>0,!x1)return g=0,g|0;for(V1=t+16|0,X1=0;;){if(Z=Nh(t,A)|0,K=(Z|0)==-1,K){g=-1,T1=29;break}if($0=e[V1>>2]|0,s0=e[t>>2]|0,i0=r5(s0,Z)|0,n0=(s0|0)>0,n0){for(V=(s0|0)>1,O2=V?s0:1,f2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,o0=$0+(z<<2)|0,j=+s[o0>>2],c0=f2+1|0,u0=n+(f2<<2)|0,I0=+s[u0>>2],w0=I0+j,s[u0>>2]=w0,C0=(h0|0)<(s0|0),C0;)f2=c0,d2=h0;u2=X1+O2|0,s2=u2}else s2=X1;if(J=(s2|0)<(a|0),J)X1=s2;else{g=0,T1=29;break}}if((T1|0)==29)return g|0}if(e1=t+16|0,o1=(a|0)>0,o1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(q=Nh(t,A)|0,X=(q|0)==-1,X){g=-1,T1=29;break e}switch(U=e[e1>>2]|0,l0=e[t>>2]|0,l0|0){case 4:{p=q,y=U,T1=19;break t}case 3:{S=q,_=U,T1=21;break t}case 7:{I=q,v=U,T1=13;break t}case 6:{m=q,w=U,T1=15;break t}case 8:{u=U,E=q,T1=12;break t}case 5:{B=q,D=U,T1=17;break t}case 1:{K1=q,$2=U,N2=t2,o5=0;break t}case 2:{b=q,x=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,v0=E<<3,d0=u+(v0<<2)|0,p0=+s[d0>>2],B0=t2+1|0,b0=n+(t2<<2)|0,K0=+s[b0>>2],L0=K0+p0,s[b0>>2]=L0,T0=v0,P0=u,y2=B0,K2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,T0=Q0,P0=v,y2=t2,K2=0,T1=14):(T1|0)==15?(T1=0,J0=m*6|0,z0=J0,q0=w,k2=t2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=B*5|0,g1=$1,s1=D,w2=t2,H2=0,T1=18):(T1|0)==19?(T1=0,m1=p<<2,E1=m1,B1=y,C2=t2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=S*3|0,v1=F1,Z1=_,F2=t2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=b<<1,n2=Y1,P1=x,D2=t2,z2=0,T1=24),(T1|0)==14&&(T1=0,M0=K2+1|0,O=K2+T0|0,G0=P0+(O<<2)|0,y0=+s[G0>>2],Y0=y2+1|0,_0=n+(y2<<2)|0,N0=+s[_0>>2],V0=N0+y0,s[_0>>2]=V0,z0=T0,q0=P0,k2=Y0,G2=M0,T1=16),(T1|0)==16&&(T1=0,O0=G2+1|0,G=G2+z0|0,U0=q0+(G<<2)|0,r1=+s[U0>>2],H0=k2+1|0,D0=n+(k2<<2)|0,i1=+s[D0>>2],c1=i1+r1,s[D0>>2]=c1,g1=z0,s1=q0,w2=H0,H2=O0,T1=18),(T1|0)==18&&(T1=0,u1=H2+1|0,N=H2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,Z0=n+(w2<<2)|0,I1=+s[Z0>>2],h1=I1+a1,s[Z0>>2]=h1,E1=g1,B1=s1,C2=n1,M2=u1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,p1=B1+(T<<2)|0,Q1=+s[p1>>2],L1=C2+1|0,w1=n+(C2<<2)|0,b1=+s[w1>>2],R1=b1+Q1,s[w1>>2]=R1,v1=E1,Z1=B1,F2=L1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+v1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],_1=F2+1|0,O1=n+(F2<<2)|0,q1=+s[O1>>2],H1=q1+N1,s[O1>>2]=H1,n2=v1,P1=Z1,D2=_1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,F=z2+n2|0,W1=P1+(F<<2)|0,c2=+s[W1>>2],z1=D2+1|0,o2=n+(D2<<2)|0,E2=+s[o2>>2],A2=E2+c2,s[o2>>2]=A2,K1=n2,$2=P1,N2=z1,o5=j1),L=o5+K1|0,h2=$2+(L<<2)|0,i2=+s[h2>>2],l2=N2+1|0,r2=n+(N2<<2)|0,a2=+s[r2>>2],W=a2+i2,s[r2>>2]=W,e0=(l2|0)<(a|0),e0)t2=l2;else{g=0,T1=29;break}}return(T1|0)==29?g|0:0}function cS(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0;if(g0=C,p=t+8|0,S=e[p>>2]|0,T=(S|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=u+A|0,q=(e0|0)/(a|0)&-1,X=(W|0)<(q|0),!X))return I=0,I|0;for(U=t+16|0,K=0,i0=W;;){if(Z=Nh(t,g)|0,b=(Z|0)==-1,b){I=-1,o0=8;break}if(v=e[U>>2]|0,w=e[t>>2]|0,D=r5(w,Z)|0,y=(w|0)>0,y)for(s0=K,V=i0,h0=0;;)if(B=h0+D|0,_=v+(B<<2)|0,x=+s[_>>2],L=s0+1|0,F=n+(s0<<2)|0,M=e[F>>2]|0,N=M+(V<<2)|0,G=+s[N>>2],O=G+x,s[N>>2]=O,z=(L|0)==(a|0),Y=z&1,m=Y+V|0,E=z?0:L,t0=h0+1|0,J=(t0|0)<(w|0),J)s0=E,V=m,h0=t0;else{$0=E,n0=m;break}else $0=K,n0=i0;if(l0=(n0|0)<(q|0),l0)K=$0,i0=n0;else{I=0,o0=8;break}}return(o0|0)==8?I|0:0}function Nh(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0;h1=C,g=t+40|0,u=e[g>>2]|0,y=t+36|0,Y=e[y>>2]|0,$0=up(n,Y)|0,I0=($0|0)>-1;do if(I0){if(Q0=t+32|0,J0=e[Q0>>2]|0,c1=J0+($0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,B=t+8|0,p=e[B>>2]|0,S=$1&32767,b=p-S|0,u1=b,l1=m;break}return v=$1+-1|0,w=t+28|0,D=e[w>>2]|0,_=D+v|0,x=d[_>>0]|0,L=x<<24>>24,fp(n,L),A=v,A|0}else F=t+8|0,M=e[F>>2]|0,u1=M,l1=0;while(!1);if(T=up(n,u)|0,N=(T|0)<0,G=(u|0)>1,O=N&G,O)for(Z0=u;;)if(z=Z0+-1|0,t0=up(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)Z0=z;else{a=J,n1=t0,o1=z;break}else a=N,n1=T,o1=u;if(a)return A=-1,A|0;if(q=n1>>>16,X=n1<<16,U=q|X,l0=U>>>8,Z=l0&16711935,K=U<<8,s0=K&-16711936,i0=Z|s0,n0=i0>>>4,V=n0&252645135,h0=i0<<4,o0=h0&-252645136,g0=V|o0,j=g0>>>2,c0=j&858993459,u0=g0<<2,w0=u0&-858993460,C0=c0|w0,v0=C0>>>1,d0=v0&1431655765,p0=C0<<1,B0=p0&-1431655766,E0=d0|B0,b0=u1-l1|0,K0=(b0|0)>1,K0)for(L0=t+20|0,M0=e[L0>>2]|0,G0=b0,g1=u1,a1=l1;;)if(T0=G0>>1,P0=T0+a1|0,y0=M0+(P0<<2)|0,Y0=e[y0>>2]|0,F0=Y0>>>0>E0>>>0,_0=F0?0:T0,N0=_0+a1|0,V0=F0?T0:0,O0=g1-V0|0,z0=O0-N0|0,U0=(z0|0)>1,U0)G0=z0,g1=O0,a1=N0;else{s1=N0;break}else s1=l1;return q0=t+28|0,r1=e[q0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,D0=e1<<24>>24,i1=(D0|0)>(o1|0),i1?(fp(n,o1),A=-1,A|0):(fp(n,D0),A=s1,A|0)}function gS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;for(c1=C,B=n+28|0,p=e[B>>2]|0,M=n+4|0,q=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,p0=t+8|0,e[p0>>2]=64,y0=p+2932|0,J0=e[y0>>2]|0,O0=t+12|0,e[O0>>2]=J0,e[t>>2]=q,z0=t+164|0,e[z0>>2]=128,S=p+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=n4(128,4)|0,y=t+36|0,e[y>>2]=D,_=t+16|0,Ep(_,128),x=e[y>>2]|0,H0=0;L=+(H0|0),F=L*.024736950028266088,T=+Pn(+F),N=T,G=x+(H0<<2)|0,O=N*N,s[G>>2]=O,z=H0+1|0,r1=(z|0)==128,!r1;)H0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,l0=t+92|0,e[l0>>2]=8,Z=t+104|0,e[Z>>2]=13,K=t+108|0,e[K>>2]=8,$0=t+120|0,e[$0>>2]=17,s0=t+124|0,e[s0>>2]=8,i0=t+136|0,e[i0>>2]=22,n0=t+140|0,e[n0>>2]=8,o0=4,D0=0;;){if(V=o0<<2,g0=S9(V)|0,j=((t+40|0)+(D0<<4)|0)+8|0,e[j>>2]=g0,c0=(o0|0)>0,c0){for(u0=+(o0|0),I0=((t+40|0)+(D0<<4)|0)+12|0,m=+s[I0>>2],L0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,v0=C0/u0,d0=v0*3.141592653589793,B0=+Pn(+d0),E0=B0,b0=g0+(e1<<2)|0,s[b0>>2]=E0,K0=L0+E0,Q0=e1+1|0,U0=(Q0|0)==(o0|0),U0){A=K0;break}else L0=K0,e1=Q0;s[I0>>2]=A,E=I0,T0=A}else g=((t+40|0)+(D0<<4)|0)+12|0,I=+s[g>>2],E=g,T0=I;if(M0=1/T0,s[E>>2]=M0,G0=D0+1|0,q0=(G0|0)==7,q0)break;a=((t+40|0)+(G0<<4)|0)+4|0,u=e[a>>2]|0,o0=u,D0=G0}P0=q*7|0,Y0=n4(P0,144)|0,F0=t+152|0,e[F0>>2]=Y0,_0=e[z0>>2]|0,N0=n4(_0,4)|0,V0=t+160|0,e[V0>>2]=N0}function hS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0;N=C,n=t+16|0,mp(n),A=t+48|0,v=e[A>>2]|0,I2(v),D=t+64|0,y=e[D>>2]|0,I2(y),_=t+80|0,x=e[_>>2]|0,I2(x),L=t+96|0,F=e[L>>2]|0,I2(F),M=t+112|0,a=e[M>>2]|0,I2(a),g=t+128|0,u=e[g>>2]|0,I2(u),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,B=e[m>>2]|0,I2(B),p=t+152|0,S=e[p>>2]|0,I2(S),b=t+160|0,w=e[b>>2]|0,I2(w),ae(t|0,0,180)|0}function uS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,u=t+4|0,E=e[u>>2]|0,F=E+28|0,e0=e[F>>2]|0,V=e0+2868|0,d0=t+104|0,P0=e[d0>>2]|0,q0=e[P0>>2]|0,s1=q0+168|0,B1=e[s1>>2]|0,I=q0+8|0,S=e[I>>2]|0,b=(B1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,_=(b|0)<0,n=_?0:b,x=D+2|0,L=q0+164|0,M=e[L>>2]|0,T=(x|0)>(M|0),T&&(e[L>>2]=x,N=q0+160|0,G=e[N>>2]|0,O=x<<2,z=Hi(G,O)|0,e[N>>2]=z),Y=(n|0)<(y|0),Y)for(t0=q0+156|0,J=q0+160|0,W=t+8|0,q=q0+40|0,X=q0+152|0,_1=n;;){if(U=e[t0>>2]|0,l0=U+1|0,Z=(U|0)>23,a=Z?24:l0,e[t0>>2]=a,K=e[q0>>2]|0,$0=(K|0)>0,$0){for(N1=0,H1=0;;)if(h0=e[W>>2]|0,o0=h0+(N1<<2)|0,g0=e[o0>>2]|0,j=e[I>>2]|0,c0=r5(j,_1)|0,u0=g0+(c0<<2)|0,I0=e[X>>2]|0,w0=N1*7|0,C0=I0+(w0*144|0)|0,v0=IS(q0,V,u0,q,C0)|0,p0=v0|H1,B0=N1+1|0,E0=e[q0>>2]|0,b0=(B0|0)<(E0|0),b0)N1=B0,H1=p0;else{g=p0;break}K0=_1+2|0,L0=e[J>>2]|0,Q0=L0+(K0<<2)|0,e[Q0>>2]=0,M0=g&1,T0=(M0|0)==0,T0||(G0=L0+(_1<<2)|0,e[G0>>2]=1,y0=_1+1|0,Y0=L0+(y0<<2)|0,e[Y0>>2]=1),F0=g&2,_0=(F0|0)==0,_0||(N0=L0+(_1<<2)|0,e[N0>>2]=1,V0=(_1|0)>0,V0&&(J0=_1+-1|0,O0=L0+(J0<<2)|0,e[O0>>2]=1)),z0=g&4,U0=(z0|0)==0,U0||(e[t0>>2]=-1)}else s0=_1+2|0,i0=e[J>>2]|0,n0=i0+(s0<<2)|0,e[n0>>2]=0;if(r1=_1+1|0,Z1=(r1|0)==(y|0),Z1)break;_1=r1}if(H0=e[I>>2]|0,e1=r5(H0,y)|0,e[s1>>2]=e1,D0=t+48|0,i1=e[D0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,u1=e0+($1<<2)|0,g1=e[u1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,o1=e[n1>>2]|0,Z0=(o1|0)/2&-1,I1=a1+Z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=q0+176|0,p1=e[E1>>2]|0,Q1=e1-H0|0,L1=(p1|0)<(Q1|0),!L1)return A=-1,A|0;for(x1=q0+160|0,V1=p1;;){if(R1=(V1|0)<(d1|0),!R1){A=1,Y1=22;break}if(e[E1>>2]=V1,F1=(V1|0)/(H0|0)&-1,G1=e[x1>>2]|0,v1=G1+(F1<<2)|0,U1=e[v1>>2]|0,m=(U1|0)!=0,B=(V1|0)>(i1|0),q1=B&m,w1=H0+V1|0,q1){O1=V1,Y1=21;break}if(b1=(w1|0)<(Q1|0),b1)V1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(p=q0+172|0,e[p>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function fS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0;if(p0=C,g=t+104|0,u=e[g>>2]|0,y=e[u>>2]|0,Y=t+4|0,$0=e[Y>>2]|0,o0=$0+28|0,g0=e[o0>>2]|0,j=t+48|0,c0=e[j>>2]|0,u0=t+40|0,E=e[u0>>2]|0,I=g0+(E<<2)|0,m=e[I>>2]|0,B=(m|0)/4&-1,p=c0-B|0,S=B+c0|0,b=(E|0)==0,b?(G=e[g0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(v=t+36|0,w=e[v>>2]|0,D=g0+(w<<2)|0,_=e[D>>2]|0,x=(_|0)/4&-1,L=t+44|0,F=e[L>>2]|0,M=g0+(F<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=x),I0=p-a|0,w0=S+A|0,z=y+172|0,t0=e[z>>2]|0,J=(t0|0)>=(I0|0),W=(t0|0)<(w0|0),v0=J&W,v0)return n=1,n|0;if(e0=y+8|0,q=e[e0>>2]|0,X=(I0|0)/(q|0)&-1,U=(w0|0)/(q|0)&-1,l0=(X|0)<(U|0),!l0)return n=0,n|0;for(Z=y+160|0,K=e[Z>>2]|0,C0=X;;){if(n0=K+(C0<<2)|0,V=e[n0>>2]|0,h0=(V|0)==0,s0=C0+1|0,!h0){n=1,d0=9;break}if(i0=(s0|0)<(U|0),i0)C0=s0;else{n=0,d0=9;break}}return(d0|0)==9?n|0:0}function dS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0;if(G=C,A=t+168|0,a=e[A>>2]|0,w=t+8|0,y=e[w>>2]|0,_=(a|0)/(y|0)&-1,x=_+2|0,L=(n|0)/(y|0)&-1,F=t+160|0,M=e[F>>2]|0,T=M+(L<<2)|0,g=x-L|0,u=g<<2,ea(M|0,T|0,u|0)|0,E=e[A>>2]|0,I=E-n|0,e[A>>2]=I,m=t+172|0,B=e[m>>2]|0,p=(B|0)>-1,!p){b=t+176|0,v=e[b>>2]|0,D=v-n|0,e[b>>2]=D;return}S=B-n|0,e[m>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-n|0,e[b>>2]=D}function IS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,l2=t+12|0,F2=+s[l2>>2],O2=t0<<2,_=O2,v2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,x2=(g2|0)>5,F5=(g2|0)/2&-1,u=x2?F5:2,J=n+60|0,i0=+s[J>>2],C0=F5+-2|0,T0=+(C0|0),z0=i0-T0,g1=z0<0,u6=g1?0:z0,E1=u6>i0,Q3=E1?i0:u6,v1=(t0|0)>0,v1)for(n2=t+36|0,$2=e[n2>>2]|0,O5=0;r2=A+(O5<<2)|0,a2=+s[r2>>2],X1=$2+(O5<<2)|0,s2=+s[X1>>2],f2=s2*a2,t2=v2+(O5<<2)|0,s[t2>>2]=f2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;k2=t+16|0,gQ(k2,v2,v2),w2=+s[v2>>2],C2=w2*w2,D2=C2,N2=v2+4|0,d2=+s[N2>>2],K2=d2,G2=K2*K2,H2=G2*.7,M2=H2+D2,P2=v2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,x5=M2+X2,e5=x5,b5=g+140|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5?(k5=g+136|0,P5=+s[k5>>2],l5=P5+e5,m5=g+132|0,s[m5>>2]=l5,s[k5>>2]=e5,T=m5,q2=l5):(n5=g+132|0,L2=+s[n5>>2],_2=L2+e5,s[n5>>2]=_2,p2=g+136|0,C5=+s[p2>>2],R5=C5+e5,s[p2>>2]=R5,T=n5,q2=_2),d5=(g+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=q2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,p5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=q2*.0625,g5=(s[B2>>2]=S5,e[B2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),B5=W2*7177114298428933e-22,t5=B5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,u5=J2,x=u5,M0=w2,v5=0;;){if(Q0=M0*M0,G0=v5|1,P0=v2+(G0<<2)|0,y0=+s[P0>>2],Y0=y0*y0,F0=Y0+Q0,_0=(s[B2>>2]=F0,e[B2>>2]|0),N0=_0&2147483647,V0=+(N0>>>0),J0=V0*35885571492144663e-23,O0=J0+-382.30810546875,U0=O0>1,H0=v2+(r1<<2)|0,s[H0>>2]=z,e1=v5+2|0,D0=(e1|0)<(p5|0),!D0)break e;i1=x+-8,F=v2+(e1<<2)|0,M=+s[F>>2],x=i1,M0=M,v5=e1}while(!1);if(i5=(u|0)>0,i5)A3=0,O3=0;else{for(e3=0,j3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,u1=($1|0)>0,u1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,P3=0;;)if(o1=s1+P3|0,Z0=v2+(o1<<2)|0,I1=+s[Z0>>2],h1=n1+(P3<<2)|0,m1=+s[h1>>2],d1=m1*I1,p1=d1+a3,B1=P3+1|0,Q1=(B1|0)<($1|0),Q1)a3=p1,P3=B1;else{x3=p1;break}else x3=0;if(L1=(a+(e3<<4)|0)+12|0,x1=+s[L1>>2],w1=x1*x3,b1=(g+(e3*144|0)|0)+68|0,R1=e[b1>>2]|0,F1=(R1|0)<1,B=F1?16:-1,I=B+R1|0,G1=(g+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,S=_1?U1:w1,V1=S+-99999,O1=N1+99999,q1=(g+(e3*144|0)|0)+(R1<<2)|0,s[q1>>2]=w1,H1=e[b1>>2]|0,Y1=H1+1|0,j1=(H1|0)>15,D=j1?0:Y1,e[b1>>2]=D,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+Q3,z1=O1>c2,u2=j3|5,K5=z1?u2:j3,o2=(n+32|0)+(e3<<2)|0,E2=+s[o2>>2],A2=E2-Q3,K1=V1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,s0=e[w0>>2]|0,v0=(a+(A3<<4)|0)+8|0,o0=e[v0>>2]|0,l3=0,M5=0;;)if($0=s0+M5|0,n0=v2+($0<<2)|0,V=+s[n0>>2],h0=o0+(M5<<2)|0,g0=+s[h0>>2],j=g0*V,c0=j+l3,u0=M5+1|0,I0=(u0|0)<(j2|0),I0)l3=c0,M5=u0;else{U3=c0;break}else U3=0;for(d0=(a+(A3<<4)|0)+12|0,p0=+s[d0>>2],h3=p0*U3,X5=(g+(A3*144|0)|0)+68|0,f3=e[X5>>2]|0,B0=(f3|0)<1,p=B0?16:-1,m=p+f3|0,E0=(g+(A3*144|0)|0)+(m<<2)|0,b0=+s[E0>>2],K0=h3b0,b=L0?b0:h3,o6=0,R3=m,k3=-99999,y3=99999;;)if(e0=(R3|0)<1,w=e0?16:-1,v=w+R3|0,q=(g+(A3*144|0)|0)+(v<<2)|0,X=+s[q>>2],U=k3X,N=Z?X:y3,K=o6+1|0,H5=(K|0)==(u|0),H5){L=l0,G=N;break}else o6=K,R3=v,k3=l0,y3=N;if(Q5=b-G,q5=j5-L,E5=(g+(A3*144|0)|0)+(f3<<2)|0,s[E5>>2]=h3,J5=e[X5>>2]|0,n3=J5+1|0,m3=(J5|0)>15,y=m3?0:n3,e[X5>>2]=y,V5=(n+4|0)+(A3<<2)|0,v3=+s[V5>>2],u3=v3+Q3,B3=q5>u3,z3=O3|5,S3=B3?z3:O3,G3=(n+32|0)+(A3<<2)|0,z5=+s[G3>>2],w3=z5-Q3,W5=Q5>2]|0,C2=n+1288|0,X3=e[C2>>2]|0,M3=n+1284|0,E6=e[M3>>2]|0,E9=(E6|0)>0,E9){for(f8=0;X4=B4+(f8<<2)|0,e[X4>>2]=-200,pe=f8+1|0,Be=(pe|0)==(E6|0),!Be;)f8=pe;if(E9){for(J3=0;f4=c4+(J3<<2)|0,e[f4>>2]=-200,W=J3+1|0,l4=(W|0)==(E6|0),!l4;)J3=W;if(E9){for(n0=E6<<2,ae(N8|0,0,n0|0)|0,w9=0;v0=De+(w9<<2)|0,e[v0>>2]=1,G0=w9+1|0,Ue=(G0|0)==(E6|0),!Ue;)w9=G0;if(E9){if(l1=E6<<2,ae(j8|0,-1,l1|0)|0,p1=(E6|0)>1,!p1)return re=0,C=e4,re|0;for(U1=X3+-1|0,W1=J+1112|0,i2=E6+-1|0,M=e[n>>2]|0,C4=M,p9=0,Qe=0;;){b4=p9+1|0,D4=n+(b4<<2)|0,x4=e[D4>>2]|0,T4=P6+(p9*56|0)|0,Me=T4,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[T4>>2]=C4,N4=(P6+(p9*56|0)|0)+4|0,e[N4>>2]=x4,U9=(x4|0)<(X3|0),rt=U9?x4:U1,G4=(rt|0)<(C4|0),G4)k8=0,tt=0,D8=0,_8=0,C8=0,Fe=0,nt=0,H9=0,z8=0,x8=0,Ht=0,Yt=0;else for(v4=C4,d8=0,Pe=0,q4=0,j9=0,ye=0,a8=0,I3=0,D9=0,l8=0,B9=0,lt=0,R8=0;;){a4=a+(v4<<2)|0,O=+s[a4>>2],R4=O*7.314285755157471,u4=R4+1023.5,Ce=~~u4,q9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,S=q9?1023:E,Ne=(S|0)==0;do if(Ne)Y8=d8,r8=Pe,s8=q4,m8=j9,qe=ye,Q4=a8,B8=I3,V8=D9,Y4=l8,Ve=B9,oe=lt,Z8=R8;else if(e8=A+(v4<<2)|0,U4=+s[e8>>2],Ge=+s[W1>>2],P4=Ge+U4,ee=!(P4>=O),ee){le=v4+a8|0,W9=S+R8|0,ce=r5(v4,v4)|0,ge=ce+j9|0,p4=r5(S,S)|0,e0=p4+B9|0,q=r5(S,v4)|0,X=q+D9|0,U=Pe+1|0,Y8=d8,r8=U,s8=q4,m8=ge,qe=ye,Q4=le,B8=I3,V8=X,Y4=l8,Ve=e0,oe=lt,Z8=W9;break}else{be=v4+ye|0,t8=S+lt|0,Z9=r5(v4,v4)|0,$e=Z9+q4|0,_6=r5(S,S)|0,O4=_6+l8|0,R9=r5(S,v4)|0,$4=R9+I3|0,_4=d8+1|0,Y8=_4,r8=Pe,s8=$e,m8=j9,qe=be,Q4=a8,B8=$4,V8=D9,Y4=O4,Ve=B9,oe=t8,Z8=R8;break}while(!1);if(l0=v4+1|0,Z=(v4|0)<(rt|0),Z)v4=l0,d8=Y8,Pe=r8,q4=s8,j9=m8,ye=qe,a8=Q4,I3=B8,D9=V8,l8=Y4,B9=Ve,lt=oe,R8=Z8;else{k8=Y8,tt=r8,D8=s8,_8=m8,C8=qe,Fe=Q4,nt=B8,H9=V8,z8=Y4,x8=Ve,Ht=oe,Yt=Z8;break}}if(K=(P6+(p9*56|0)|0)+8|0,e[K>>2]=C8,$0=(P6+(p9*56|0)|0)+12|0,e[$0>>2]=Ht,s0=(P6+(p9*56|0)|0)+16|0,e[s0>>2]=D8,i0=(P6+(p9*56|0)|0)+20|0,e[i0>>2]=z8,V=(P6+(p9*56|0)|0)+24|0,e[V>>2]=nt,h0=(P6+(p9*56|0)|0)+28|0,e[h0>>2]=k8,o0=(P6+(p9*56|0)|0)+32|0,e[o0>>2]=Fe,g0=(P6+(p9*56|0)|0)+36|0,e[g0>>2]=Yt,j=(P6+(p9*56|0)|0)+40|0,e[j>>2]=_8,c0=(P6+(p9*56|0)|0)+44|0,e[c0>>2]=x8,u0=(P6+(p9*56|0)|0)+48|0,e[u0>>2]=H9,I0=(P6+(p9*56|0)|0)+52|0,e[I0>>2]=tt,w0=k8+Qe|0,g6=(b4|0)==(i2|0),g6){dt=w0;break}else C4=x4,p9=b4,Qe=w0}}else Ie=9}else Ie=9}else Ie=9}else Ie=9;if((Ie|0)==9){if(U0=(E6|0)==0,!U0)return re=0,C=e4,re|0;F2=P6+4|0,Me=P6,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[F2>>2]=X3,O2=(X3|0)<1,O2)q8=0,et=0,J8=0,E8=0,A8=0,X9=0,p8=0,ne=0,At=0,at=0,Gt=0,Ut=0;else for(v2=J+1112|0,g4=0,S8=0,I8=0,n8=0,ue=0,fe=0,de=0,H4=0,se=0,$8=0,Je=0,Dt=0,c8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,x2=g2+1023.5,F5=~~x2,x3=(F5|0)>1023,M5=(F5|0)<0,u=M5?0:F5,p=x3?1023:u,O3=(p|0)==0;do if(O3)H8=S8,xe=I8,Re=n8,o8=ue,Oe=fe,we=de,He=H4,Ye=se,L8=$8,$t=Je,_t=Dt,Lt=c8;else if(c6=A+(g4<<2)|0,Y3=+s[c6>>2],n6=+s[v2>>2],s9=n6+Y3,R6=!(s9>=G),R6){u9=g4+de|0,f9=p+c8|0,d9=r5(g4,g4)|0,a9=d9+ue|0,$9=r5(p,p)|0,T9=$9+Je|0,T6=r5(p,g4)|0,i9=T6+se|0,N9=I8+1|0,H8=S8,xe=N9,Re=n8,o8=a9,Oe=fe,we=u9,He=H4,Ye=i9,L8=$8,$t=T9,_t=Dt,Lt=f9;break}else{U6=g4+fe|0,D6=p+Dt|0,z6=r5(g4,g4)|0,y6=z6+n8|0,F6=r5(p,p)|0,M6=F6+$8|0,t9=r5(p,g4)|0,A9=t9+H4|0,X6=S8+1|0,H8=X6,xe=I8,Re=y6,o8=ue,Oe=U6,we=de,He=A9,Ye=se,L8=M6,$t=Je,_t=D6,Lt=c8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(X3|0),C9){q8=H8,et=xe,J8=Re,E8=o8,A8=Oe,X9=we,p8=He,ne=Ye,At=L8,at=$t,Gt=_t,Ut=Lt;break}else g4=I9,S8=H8,I8=xe,n8=Re,ue=o8,fe=Oe,de=we,H4=He,se=Ye,$8=L8,Je=$t,Dt=_t,c8=Lt}E4=P6+8|0,e[E4>>2]=A8,o4=P6+12|0,e[o4>>2]=Gt,h4=P6+16|0,e[h4>>2]=J8,G9=P6+20|0,e[G9>>2]=At,z9=P6+24|0,e[z9>>2]=p8,b9=P6+28|0,e[b9>>2]=q8,q6=P6+32|0,e[q6>>2]=X9,r9=P6+36|0,e[r9>>2]=Ut,m4=P6+40|0,e[m4>>2]=E8,S4=P6+44|0,e[S4>>2]=at,A4=P6+48|0,e[A4>>2]=ne,y9=P6+52|0,e[y9>>2]=et,dt=q8}if(C0=(dt|0)==0,C0)return re=0,C=e4,re|0;e[ot>>2]=-200,e[K8>>2]=-200,d0=E6+-1|0,dp(P6,d0,ot,K8,J)|0,p0=e[ot>>2]|0,e[B4>>2]=p0,e[c4>>2]=p0,B0=e[K8>>2]|0,E0=c4+4|0,e[E0>>2]=B0,b0=B4+4|0,e[b0>>2]=B0,K0=(E6|0)>2;do if(K0){L0=J+1112|0,Q0=J+1096|0,M0=J+1100|0,T0=J+1104|0,M4=2;e:for(;;){P0=(n+520|0)+(M4<<2)|0,y0=e[P0>>2]|0,Y0=N8+(y0<<2)|0,F0=e[Y0>>2]|0,_0=De+(y0<<2)|0,N0=e[_0>>2]|0,V0=j8+(F0<<2)|0,J0=e[V0>>2]|0,O0=(J0|0)==(N0|0);t:do if(!O0){if(z0=(n+520|0)+(F0<<2)|0,q0=e[z0>>2]|0,r1=(n+520|0)+(N0<<2)|0,H0=e[r1>>2]|0,e[V0>>2]=N0,e1=(J+836|0)+(F0<<2)|0,D0=e[e1>>2]|0,i1=(J+836|0)+(N0<<2)|0,c1=e[i1>>2]|0,$1=B4+(F0<<2)|0,u1=e[$1>>2]|0,g1=(u1|0)<0,s1=c4+(F0<<2)|0,a1=e[s1>>2]|0,g1?w=a1:(n1=(a1|0)<0,n1?w=u1:(o1=a1+u1|0,Z0=o1>>1,w=Z0)),I1=B4+(N0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(N0<<2)|0,E1=e[d1>>2]|0,m1?y=E1:(B1=(E1|0)<0,B1?y=h1:(Q1=E1+h1|0,L1=Q1>>1,y=L1)),x1=(w|0)==-1,w1=(y|0)==-1,St=x1|w1,St){Ie=38;break e}b1=y-w|0,R1=c1-D0|0,Le=(b1|0)>-1,v9=0-b1|0,F1=Le?b1:v9,G1=(b1|0)/(R1|0)&-1,v1=b1>>31,Z1=v1|1,N1=a+(D0<<2)|0,Y=+s[N1>>2],_1=Y*7.314285755157471,V1=_1+1023.5,O1=~~V1,q1=(O1|0)>1023,H1=(O1|0)<0,I=H1?0:O1,b=q1?1023:I,Y1=r5(G1,R1)|0,gt=(Y1|0)>-1,ft=0-Y1|0,j1=gt?Y1:ft,n2=F1-j1|0,P1=w-b|0,c2=r5(P1,P1)|0,z1=A+(D0<<2)|0,u2=+s[z1>>2],o2=+s[L0>>2],E2=o2+u2,A2=!(E2>=Y),A2?Ie=42:(K1=+(w|0),h2=+s[Q0>>2],$2=h2+K1,l2=+(b|0),r2=$2>2],X1=K1-a2,s2=X1>l2,s2||(Ie=42)));i:do if((Ie|0)==42){if(Ie=0,f2=D0+1|0,t2=(f2|0)<(c1|0),t2)for(d2=f2,te=0,kt=c2,O8=1,It=w;;){if(y2=te+n2|0,k2=(y2|0)<(R1|0),w2=k2?0:Z1,D2=k2?0:R1,F4=y2-D2|0,F=It+G1|0,st=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],K2=z*7.314285755157471,G2=K2+1023.5,H2=~~G2,M2=(H2|0)>1023,P2=(H2|0)<0,m=P2?0:H2,D=M2?1023:m,z2=st-D|0,o5=r5(z2,z2)|0,T1=o5+kt|0,X2=O8+1|0,x5=A+(d2<<2)|0,e5=+s[x5>>2],b5=e5+o2,Z2=b5>=z,f5=(D|0)!=0,it=Z2&f5,it&&(k5=+(st|0),P5=+s[Q0>>2],l5=P5+k5,m5=+(D|0),n5=l5>2],_2=k5-L2,p2=_2>m5,p2)))break i;if(C5=d2+1|0,R5=(C5|0)<(c1|0),R5)d2=C5,te=F4,kt=T1,O8=X2,It=st;else{X8=T1,P8=X2;break}}else X8=c2,P8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(P8|0),q2=D5/G5,I5=+s[T0>>2],A5=q2>I5,!A5&&(c5=+s[M0>>2],p5=c5*c5,M1=p5/G5,S5=M1>I5,!S5&&(g5=(X8|0)/(P8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=B4+(M4<<2)|0,e[l3>>2]=-200,c3=c4+(M4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[G8>>2]=-200,e[U8>>2]=-200,e[_e>>2]=-200,e[i8>>2]=-200,B5=P6+(q0*56|0)|0,t5=y0-q0|0,s5=dp(B5,t5,G8,U8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,u5=dp(h5,J2,_e,i8,J)|0,i5=(s5|0)!=0,i5&&(e[G8>>2]=w,L5=e[_e>>2]|0,e[U8>>2]=L5),j2=(u5|0)==0,!j2&&($5=e[U8>>2]|0,e[_e>>2]=$5,e[i8>>2]=y,i5)){Q5=B4+(M4<<2)|0,e[Q5>>2]=-200,q5=c4+(M4<<2)|0,e[q5>>2]=-200;break}if(j5=e[G8>>2]|0,e[s1>>2]=j5,E5=(F0|0)==0,E5&&(e[B4>>2]=j5),f3=e[U8>>2]|0,h3=B4+(M4<<2)|0,e[h3>>2]=f3,J5=e[_e>>2]|0,X5=c4+(M4<<2)|0,e[X5>>2]=J5,n3=e[i8>>2]|0,e[I1>>2]=n3,m3=(N0|0)==1,m3&&(e[E0>>2]=n3),V5=J5&f3,v3=(V5|0)>-1,v3){u3=(y0|0)>0;i:do if(u3)for(W8=y0;;){if(vt=W8+-1|0,z3=De+(vt<<2)|0,G3=e[z3>>2]|0,z5=(G3|0)==(N0|0),!z5)break i;if(e[z3>>2]=M4,w3=(W8|0)>1,w3)W8=vt;else break}while(!1);if(ut=y0+1|0,B3=(ut|0)<(E6|0),B3)for(T8=ut;;){if(W5=N8+(T8<<2)|0,i6=e[W5>>2]|0,U3=(i6|0)==(F0|0),!U3)break t;if(e[W5>>2]=M4,ht=T8+1|0,a3=(ht|0)<(E6|0),a3)T8=ht;else break}}}while(!1);if(C3=M4+1|0,H5=(C3|0)<(E6|0),H5)M4=C3;else{Ie=68;break}}if((Ie|0)==38)Gk(1);else if((Ie|0)==68){T=e[B4>>2]|0,N=e[c4>>2]|0,v5=T,o6=N;break}}else v5=p0,o6=p0;while(!1);if(U5=E6<<2,O5=qt(t,U5)|0,P3=(v5|0)<0,P3?v=o6:(e3=(o6|0)<0,e3?v=v5:(A3=o6+v5|0,R3=A3>>1,v=R3)),e[O5>>2]=v,u6=e[b0>>2]|0,Q3=(u6|0)<0,k3=e[E0>>2]|0,Q3?x=k3:(y3=(k3|0)<0,y3?x=u6:(r6=k3+u6|0,j3=r6>>1,x=j3)),K5=O5+4|0,e[K5>>2]=x,K0)ie=2;else return re=O5,C=e4,re|0;for(;;)if(S3=ie+-2|0,g3=(n+1032|0)+(S3<<2)|0,q3=e[g3>>2]|0,l6=(n+780|0)+(S3<<2)|0,d3=e[l6>>2]|0,v6=(J+836|0)+(q3<<2)|0,k6=e[v6>>2]|0,S6=(J+836|0)+(d3<<2)|0,p6=e[S6>>2]|0,B6=O5+(q3<<2)|0,L6=e[B6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,b3=(J+836|0)+(ie<<2)|0,e6=e[b3>>2]|0,t6=L6&32767,f6=C6&32767,H3=f6-t6|0,D3=p6-k6|0,ct=(H3|0)>-1,b8=0-H3|0,Z3=ct?H3:b8,b6=e6-k6|0,A6=r5(Z3,b6)|0,t3=(A6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,L=O6?s3:t3,_=L+t6|0,a6=B4+(ie<<2)|0,d6=e[a6>>2]|0,_3=(d6|0)<0,N6=c4+(ie<<2)|0,Q6=e[N6>>2]|0,_3?B=Q6:(x6=(Q6|0)<0,x6?B=d6:(K6=Q6+d6|0,I6=K6>>1,B=I6)),J6=(B|0)<0,F3=(_|0)==(B|0),bt=J6|F3,j6=_|32768,g=bt?j6:B,G6=O5+(ie<<2)|0,e[G6>>2]=g,e9=ie+1|0,he=(e9|0)==(E6|0),he){re=O5;break}else ie=e9;return C=e4,re|0}function M8(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0;if($0=C,u=n+1284|0,E=e[u>>2]|0,_=(A|0)!=0,z=(a|0)!=0,l0=_&z,!l0)return Z=0,Z|0;if(Y=E<<2,t0=qt(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-g|0,U=0;;)if(e0=A+(U<<2)|0,q=e[e0>>2]|0,I=q&32767,m=r5(I,W)|0,B=a+(U<<2)|0,p=e[B>>2]|0,S=p&32767,b=r5(S,g)|0,v=m+32768|0,w=v+b|0,D=w>>16,y=t0+(U<<2)|0,e[y>>2]=D,x=e[e0>>2]|0,L=x&32768,F=(L|0)==0,F||(M=e[B>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[y>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function ES(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;if(M6=C,C=C+336|0,R6=M6+64|0,g3=M6+32|0,F3=M6,D=A+1296|0,y=e[D>>2]|0,h2=A+1284|0,L2=e[h2>>2]|0,A5=n+64|0,s5=e[A5>>2]|0,j5=s5+4|0,u3=e[j5>>2]|0,l3=u3+28|0,A3=e[l3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,s0=(a|0)==0,s0)return U2(t,0,1),x5=n+36|0,e5=e[x5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,ae(g|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(L2|0)>0,w0)for(M0=y+832|0,f6=0;O0=a+(f6<<2)|0,u1=e[O0>>2]|0,d1=u1&32767,G1=e[M0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?($2=d1>>>3,U6=$2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,f5=u1&32768,k5=f5|U6,e[O0>>2]=k5,P5=f6+1|0,C6=(P5|0)==(L2|0),!C6;)f6=P5;if(l5=e[a>>2]|0,e[R6>>2]=l5,v2=a+4|0,m5=e[v2>>2]|0,n5=R6+4|0,e[n5>>2]=m5,_2=(L2|0)>2,p2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,R5=(A+1032|0)+(C5<<2)|0,d5=e[R5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(y+836|0)+(d5<<2)|0,q2=e[_5>>2]|0,I5=(y+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,p5=a+(d5<<2)|0,M1=e[p5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(y+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,B5=g5&32767,t5=B5-g2|0,h5=c5-q2|0,Y3=(t5|0)>-1,j6=0-t5|0,J2=Y3?t5:j6,u5=W2-q2|0,i5=r5(J2,u5)|0,L5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-L5|0,m=j2?$5:L5,I=m+g2|0,x2=a+(H3<<2)|0,Q5=e[x2>>2]|0,q5=Q5&32768,E5=(q5|0)!=0,f3=(Q5|0)==(I|0),s9=E5|f3,s9)h3=I|32768,e[x2>>2]=h3,J5=R6+(H3<<2)|0,e[J5>>2]=0;else{X5=e[p2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),u=m3?n3:I,F5=Q5-I|0,V5=(F5|0)<0;do if(V5)if(v3=0-u|0,B3=(F5|0)<(v3|0),B3){z3=F5^-1,G3=u+z3|0,D6=G3;break}else{z5=F5<<1,w3=z5^-1,D6=w3;break}else if(W5=(u|0)>(F5|0),W5){x3=F5<<1,D6=x3;break}else{i6=u+F5|0,D6=i6;break}while(!1);U3=R6+(H3<<2)|0,e[U3>>2]=D6,e[p5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(L2|0),Y6)break;H3=C3}S=e[R6>>2]|0,b=e[n5>>2]|0,r6=S,S3=b}else r6=l5,S3=m5;if(U2(t,1,1),H5=A+1308|0,U5=e[H5>>2]|0,O5=U5+1|0,e[H5>>2]=O5,v5=e[p2>>2]|0,P3=v5+-1|0,M5=Nt(P3)|0,o6=M5<<1,e3=A+1304|0,R3=e[e3>>2]|0,u6=R3+o6|0,e[e3>>2]=u6,Q3=e[p2>>2]|0,k3=Q3+-1|0,y3=Nt(k3)|0,U2(t,r6,y3),j3=e[p2>>2]|0,O3=j3+-1|0,K5=Nt(O3)|0,U2(t,S3,K5),x=e[y>>2]|0,L=(x|0)>0,L)for(F=A+1300|0,D3=0,A6=2;;){if(M=(y+4|0)+(D3<<2)|0,T=e[M>>2]|0,N=(y+128|0)+(T<<2)|0,G=e[N>>2]|0,O=(y+192|0)+(T<<2)|0,z=e[O>>2]|0,Y=1<>2]=0,e[g3+4>>2]=0,e[g3+8>>2]=0,e[g3+12>>2]=0,e[g3+16>>2]=0,e[g3+20>>2]=0,e[g3+24>>2]=0,e[g3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;c0=((y+320|0)+(T<<5)|0)+(s3<<2)|0,u0=e[c0>>2]|0,I0=(u0|0)<0,I0?w=1:(C0=(A3+1824|0)+(u0<<2)|0,v0=e[C0>>2]|0,d0=v0+4|0,p0=e[d0>>2]|0,w=p0),B0=F3+(s3<<2)|0,e[B0>>2]=w,E0=s3+1|0,b0=(E0|0)<(Y|0),b0;)s3=E0;e0=(G|0)>0;e:do if(e0){if(W)for(q3=0,v6=0,a6=0;;)if(K0=g3+(a6<<2)|0,L0=e[K0>>2]|0,Q0=L0<>2]|0,N6=0;;){if(q=F3+(N6<<2)|0,X=e[q>>2]|0,l0=(U|0)<(X|0),l0){n6=N6,M3=31;break}if(Z=N6+1|0,K=(Z|0)<(Y|0),K)N6=Z;else{M3=33;break}}if((M3|0)==31?(M3=0,$0=g3+(d6<<2)|0,e[$0>>2]=n6,n0=n6):(M3|0)==33&&(M3=0,B=g3+(d6<<2)|0,v=e[B>>2]|0,n0=v),i0=n0<>2]|0,F0=t0+(Y0*56|0)|0,_0=Th(F0,d3,t)|0,N0=e[F>>2]|0,V0=N0+_0|0,e[F>>2]=V0}if(J0=(G|0)>0,J0)for(_3=0;z0=g3+(_3<<2)|0,U0=e[z0>>2]|0,q0=((y+320|0)+(T<<5)|0)+(U0<<2)|0,r1=e[q0>>2]|0,H0=(r1|0)>-1,H0&&(e1=_3+A6|0,D0=R6+(e1<<2)|0,i1=e[D0>>2]|0,c1=(t0+(r1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(r1*56|0)|0,s1=Th(l1,i1,t)|0,a1=e[e3>>2]|0,n1=a1+s1|0,e[e3>>2]=n1)),o1=_3+1|0,B6=(o1|0)==(G|0),!B6;)_3=o1;if(Z0=G+A6|0,I1=D3+1|0,h1=e[y>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,A6=Z0;else break}if(E1=e[a>>2]|0,p1=y+832|0,B1=e[p1>>2]|0,Q1=r5(B1,E1)|0,L1=n+28|0,x1=e[L1>>2]|0,w1=A3+(x1<<2)|0,b1=e[w1>>2]|0,R1=(b1|0)/2&-1,F1=e[h2>>2]|0,v1=(F1|0)>1,v1)for(e6=0,t3=1,Q6=0,I6=Q1;;){if(V1=(A+260|0)+(t3<<2)|0,O1=e[V1>>2]|0,q1=a+(O1<<2)|0,H1=e[q1>>2]|0,Y1=H1&32767,n2=(Y1|0)==(H1|0),n2)if(W1=e[p1>>2]|0,P1=r5(W1,H1)|0,c2=(y+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,u2=P1-I6|0,o2=z1-Q6|0,Z3=(u2|0)>-1,G6=0-u2|0,E2=Z3?u2:G6,A2=(u2|0)/(o2|0)&-1,K1=u2>>31,i2=K1|1,l2=r5(A2,o2)|0,b6=(l2|0)>-1,e9=0-l2|0,r2=b6?l2:e9,a2=E2-r2|0,X1=(R1|0)>(z1|0),z6=X1?z1:R1,s2=(z6|0)>(Q6|0),s2&&(f2=g+(Q6<<2)|0,e[f2>>2]=I6),t2=Q6+1|0,y2=(t2|0)<(z6|0),y2)for(d2=t2,S6=0,y6=I6;;)if(k2=S6+a2|0,C2=(k2|0)<(o2|0),F2=C2?0:i2,D2=C2?0:o2,p6=k2-D2|0,p=y6+A2|0,F6=p+F2|0,N2=g+(d2<<2)|0,e[N2>>2]=F6,K2=d2+1|0,c6=(K2|0)==(z6|0),c6){t6=z1,x6=z1,J6=P1;break}else d2=K2,S6=p6,y6=F6;else t6=z1,x6=z1,J6=P1;else t6=e6,x6=Q6,J6=I6;if(G2=t3+1|0,H2=e[h2>>2]|0,M2=(G2|0)<(H2|0),M2)e6=t6,t3=G2,Q6=x6,I6=J6;else{b3=t6,K6=J6;break}}else b3=0,K6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,_1=(b3|0)<(N1|0),_1)O6=b3;else return E=1,C=M6,E|0;for(;;)if(P2=g+(O6<<2)|0,e[P2>>2]=K6,o5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(o5|0)<(T1|0),X2)O6=o5;else{E=1;break}return C=M6,E|0}function dp(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,B=e[t>>2]|0,p=n+-1|0,i0=(t+(p*56|0)|0)+4|0,C0=e[i0>>2]|0,T0=(n|0)>0,T0)for(z0=g+1108|0,g1=+s[z0>>2],i2=0,X1=0,f2=0,w2=0,N2=0,H2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,v1=e[E1>>2]|0,n2=(t+(X1*56|0)|0)+28|0,S=e[n2>>2]|0,T=S+v1|0,q=+(T|0),X=q*g1,U=S+1|0,l0=+(U|0),Z=X/l0,K=Z,$0=K+1,s0=(t+(X1*56|0)|0)+32|0,n0=e[s0>>2]|0,V=+(n0|0),h0=(t+(X1*56|0)|0)+8|0,o0=e[h0>>2]|0,g0=+(o0|0),j=g0*$0,c0=V+w2,u0=c0+j,I0=(t+(X1*56|0)|0)+36|0,w0=e[I0>>2]|0,v0=+(w0|0),d0=(t+(X1*56|0)|0)+12|0,p0=e[d0>>2]|0,B0=+(p0|0),E0=B0*$0,b0=v0+H2,K0=b0+E0,L0=(t+(X1*56|0)|0)+40|0,Q0=e[L0>>2]|0,M0=+(Q0|0),G0=(t+(X1*56|0)|0)+16|0,P0=e[G0>>2]|0,y0=+(P0|0),Y0=y0*$0,F0=M0+f2,_0=F0+Y0,N0=(t+(X1*56|0)|0)+48|0,V0=e[N0>>2]|0,J0=+(V0|0),O0=(t+(X1*56|0)|0)+24|0,U0=e[O0>>2]|0,q0=+(U0|0),r1=q0*$0,H0=J0+N2,e1=H0+r1,D0=+(v1|0),i1=+(S|0),c1=$0*i1,$1=D0+i2,u1=$1+c1,l1=X1+1|0,a2=(l1|0)==(n|0),a2){$2=u1,s2=_0,k2=u0,D2=e1,G2=K0;break}else i2=u1,X1=l1,f2=_0,w2=u0,N2=e1,H2=K0;else $2=0,s2=0,k2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(n1=+(B|0),o1=k2+n1,Z0=+(s1|0),I1=Z0+G2,h1=r5(B,B)|0,m1=+(h1|0),d1=s2+m1,p1=r5(s1,B)|0,B1=+(p1|0),Q1=B1+D2,L1=$2+1,l2=L1,t2=d1,C2=o1,d2=Q1,M2=I1):(l2=$2,t2=s2,C2=k2,d2=D2,M2=G2),x1=e[a>>2]|0,w1=(x1|0)>-1,w1?(b1=+(C0|0),R1=C2+b1,F1=+(x1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=t2+Z1,_1=r5(x1,C0)|0,V1=+(_1|0),O1=V1+d2,q1=l2+1,r2=q1,y2=N1,F2=R1,K2=O1,P2=G1):(r2=l2,y2=t2,F2=C2,K2=d2,P2=M2),H1=y2*r2,Y1=F2*F2,j1=H1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*K2,z1=P1-c2,u2=z1/j1,o2=K2*r2,E2=F2*P2,A2=o2-E2,K1=A2/j1,h2=+(B|0),b=K1*h2,v=b+u2,w=+qi(v),D=~~w,e[A>>2]=D,y=+(C0|0),_=K1*y,x=_+u2,L=+qi(x),F=~~L,e[a>>2]=F,M=e[A>>2]|0,N=(M|0)>1023,N?(e[A>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=F,W=M),O=(G|0)>1023,O?(e[a>>2]=1023,I=e[A>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[A>>2]=0,m=e[a>>2]|0,t0=m):t0=e0,J=(t0|0)<0,J?(e[a>>2]=0,u=0,u|0):(u=0,u|0)):(e[A>>2]=0,e[a>>2]=0,u=1,u|0)}function mS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0;if(D0=C,E=t+836|0,I=t+840|0,x=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,C0=(i0|0)>0,C0){for(T0=t+4|0,V0=0,H0=-1;;)if(p=T0+(V0<<2)|0,S=e[p>>2]|0,U2(n,S,4),b=e[p>>2]|0,v=(H0|0)<(b|0),A=v?b:H0,w=V0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)V0=w,H0=A;else{a=A;break}if(P0=(a|0)>-1,P0)for(y0=t+128|0,Y0=t+192|0,m=t+256|0,B=t+320|0,J0=0;;){if(_=y0+(J0<<2)|0,L=e[_>>2]|0,F=L+-1|0,U2(n,F,3),M=Y0+(J0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(z0=0,e1=8):(O=m+(J0<<2)|0,z=e[O>>2]|0,U2(n,z,8),g=e[M>>2]|0,Y=(g|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(B+(J0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),q=z0+1|0,X=e[M>>2]|0,U=1<>2]|0,s0=$0+-1|0,U2(n,s0,2),n0=x+-1|0,V=Nt(n0)|0,U2(n,V,4),h0=Nt(n0)|0,o0=e[t>>2]|0,g0=(o0|0)>0,!!g0)for(j=t+4|0,c0=t+128|0,G0=o0,F0=0,O0=0,U0=0;;){if(u0=j+(O0<<2)|0,I0=e[u0>>2]|0,w0=c0+(I0<<2)|0,v0=e[w0>>2]|0,d0=v0+F0|0,p0=(U0|0)<(d0|0),p0){for(r1=U0;B0=r1+2|0,E0=E+(B0<<2)|0,b0=e[E0>>2]|0,U2(n,b0,h0),K0=r1+1|0,_0=(K0|0)==(d0|0),!_0;)r1=K0;u=e[t>>2]|0,M0=u,q0=d0}else M0=G0,q0=U0;if(L0=O0+1|0,Q0=(L0|0)<(M0|0),Q0)G0=M0,F0=d0,O0=L0,U0=q0;else break}}function CS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,D=t+28|0,y=e[D>>2]|0,Y=n4(1,1120)|0,$0=j4(n,5)|0,e[Y>>2]=$0,I0=($0|0)>0;e:do if(I0){for(Q0=Y+4|0,Z1=0,n2=-1;;){if(L=j4(n,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=L,M=(L|0)<0,M)break e;if(T=(n2|0)<(L|0),g=T?L:n2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,n2=g;else{u=g;break}}if(J0=(u|0)>-1,J0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=y+24|0,x=Y+320|0,N1=0;;){if(z=j4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=j4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,q=(W|0)<0,q||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=j4(n,8)|0,l0=F1+(N1<<2)|0,e[l0>>2]=U,Z=U),K=(Z|0)<0,K)||(s0=e[_>>2]|0,i0=(Z|0)<(s0|0),!i0))break e;if(n0=e[e0>>2]|0,V=(n0|0)==31,!V)for(q1=0;;){if(c0=j4(n,8)|0,u0=c0+-1|0,w0=(x+(N1<<5)|0)+(q1<<2)|0,e[w0>>2]=u0,C0=(c0|0)<0,C0||(v0=e[_>>2]|0,d0=(c0|0)>(v0|0),g0=q1+1|0,d0))break e;if(h0=e[e0>>2]|0,o0=1<>2]=b0,L0=j4(n,4)|0,M0=(L0|0)<0,!M0)){if(T0=e[Y>>2]|0,G0=(T0|0)>0,G0)for(P0=Y+4|0,y0=Y+128|0,Y0=Y+836|0,F0=1<>2]|0,V0=y0+(N0<<2)|0,O0=e[V0>>2]|0,z0=O0+U1|0,U0=(z0|0)>63,U0)break e;if(q0=(H1|0)<(z0|0),q0){for(j1=H1;;){if(r1=j4(n,L0)|0,H0=j1+2|0,e1=Y0+(H0<<2)|0,e[e1>>2]=r1,D0=(r1|0)>-1,i1=(r1|0)<(F0|0),W1=D0&i1,!W1)break e;if(c1=j1+1|0,u1=(c1|0)<(z0|0),u1)j1=c1;else{a=c1;break}}p=e[Y>>2]|0,s1=p,Y1=a}else s1=G1,Y1=H1;if(g1=_1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=z0,_1=g1,H1=Y1;else{m=Y0,B=F0,v1=z0;break}}else v=Y+836|0,w=1<>2]=0,a1=Y+840|0,e[a1>>2]=B,n1=v1+2|0,o1=(v1|0)>-2,o1)for(V1=0;Z0=m+(V1<<2)|0,I1=P1+(V1<<2)|0,e[I1>>2]=Z0,h1=V1+1|0,d1=(h1|0)<(n1|0),d1;)V1=h1;Gh(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(S=e[P1>>2]|0,b=e[S>>2]|0,w1=b,O1=1;Q1=P1+(O1<<2)|0,L1=e[Q1>>2]|0,x1=e[L1>>2]|0,b1=(w1|0)==(x1|0),p1=O1+1|0,!b1;)if(B1=(p1|0)<(n1|0),B1)w1=x1,O1=p1;else break t;if(R1=(Y|0)==0,R1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function pS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0;if(R1=C,C=C+272|0,w1=R1,a=n4(1,1312)|0,g=a+1296|0,e[g>>2]=n,D=n+836|0,z=n+840|0,K=e[z>>2]|0,u0=a+1288|0,e[u0>>2]=K,L0=e[n>>2]|0,V0=(L0|0)>0,V0){for(H0=n+4|0,u=n+128|0,g1=0,Q1=0;;)if(E=H0+(g1<<2)|0,I=e[E>>2]|0,m=u+(I<<2)|0,B=e[m>>2]|0,p=B+Q1|0,S=g1+1|0,b=(S|0)<(L0|0),b)g1=S,Q1=p;else{A=p;break}v=A+2|0,w=a+1284|0,e[w>>2]=v,y=(A|0)>-2,y?(M=v,B1=A,b1=7):(Gh(w1,v,4,8),p1=A)}else r1=a+1284|0,e[r1>>2]=2,M=2,B1=0,b1=7;if((b1|0)==7){for(l1=0;_=D+(l1<<2)|0,x=w1+(l1<<2)|0,e[x>>2]=_,L=l1+1|0,F=(L|0)<(M|0),F;)l1=L;for(Gh(w1,M,4,8),T=D,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,q=N+(s1<<2)|0,e[q>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,$0=e[Z>>2]|0,s0=O+($0<<2)|0,e[s0>>2]=a1,i0=a1+1|0,n0=(i0|0)<(M|0),n0;)a1=i0;for(l0=a+260|0,n1=0;;)if(V=l0+(n1<<2)|0,h0=e[V>>2]|0,o0=D+(h0<<2)|0,g0=e[o0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=g0,c0=n1+1|0,I0=(c0|0)<(M|0),I0)n1=c0;else{p1=B1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(B0=a+1292|0,e[B0>>2]=64):(C0|0)==2?(d0=a+1292|0,e[d0>>2]=128):(C0|0)==1?(v0=a+1292|0,e[v0>>2]=256):(C0|0)==3&&(p0=a+1292|0,e[p0>>2]=86),E0=(p1|0)>0,!E0)return C=R1,a|0;for(b0=a+1032|0,K0=a+780|0,o1=0;;){for(Q0=o1+2|0,M0=D+(Q0<<2)|0,T0=e[M0>>2]|0,G0=e[u0>>2]|0,D0=1,$1=G0,Z0=0,I1=0,d1=0;;)if(P0=D+(Z0<<2)|0,y0=e[P0>>2]|0,Y0=(y0|0)>(d1|0),F0=(y0|0)<(T0|0),L1=Y0&F0,h1=L1?Z0:I1,E1=L1?y0:d1,_0=(y0|0)<($1|0),N0=(y0|0)>(T0|0),x1=_0&N0,i1=x1?Z0:D0,u1=x1?y0:$1,J0=Z0+1|0,O0=(J0|0)<(Q0|0),O0)D0=i1,$1=u1,Z0=J0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(z0=b0+(o1<<2)|0,e[z0>>2]=m1,U0=K0+(o1<<2)|0,e[U0>>2]=c1,q0=o1+1|0,e1=(q0|0)==(p1|0),e1)break;o1=q0}return C=R1,a|0}function BS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function QS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function yS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0;if(w2=C,u=n+1296|0,E=e[u>>2]|0,n0=t+64|0,v0=e[n0>>2]|0,G0=v0+4|0,U0=e[G0>>2]|0,l1=U0+28|0,p1=e[l1>>2]|0,U1=p1+2848|0,W1=e[U1>>2]|0,I=t+4|0,x=j4(I,1)|0,J=(x|0)==1,!J)return A=0,A|0;U=n+1284|0,l0=e[U>>2]|0,Z=l0<<2,K=qt(t,Z)|0,$0=n+1292|0,s0=e[$0>>2]|0,i0=s0+-1|0,V=Nt(i0)|0,h0=j4(I,V)|0,e[K>>2]=h0,o0=e[$0>>2]|0,g0=o0+-1|0,j=Nt(g0)|0,c0=j4(I,j)|0,u0=K+4|0,e[u0>>2]=c0,I0=e[E>>2]|0,w0=(I0|0)>0;e:do if(w0){r2=0,s2=2;t:for(;;){if(E0=(E+4|0)+(r2<<2)|0,b0=e[E0>>2]|0,K0=(E+128|0)+(b0<<2)|0,L0=e[K0>>2]|0,Q0=(E+192|0)+(b0<<2)|0,M0=e[Q0>>2]|0,T0=1<>2]|0,F0=W1+(Y0*56|0)|0,_0=rC(F0,I)|0,N0=(_0|0)==-1,N0){A=0,k2=25;break}else i2=_0;if(V0=(L0|0)>0,V0)for(J0=T0+-1|0,l2=i2,f2=0;;){if(O0=l2&J0,z0=((E+320|0)+(b0<<5)|0)+(O0<<2)|0,q0=e[z0>>2]|0,r1=l2>>M0,H0=(q0|0)>-1,H0){if(e1=W1+(q0*56|0)|0,D0=rC(e1,I)|0,i1=f2+s2|0,c1=K+(i1<<2)|0,e[c1>>2]=D0,$1=(D0|0)==-1,$1){A=0,k2=25;break t}}else u1=f2+s2|0,g1=K+(u1<<2)|0,e[g1>>2]=0;if(s1=f2+1|0,a1=(s1|0)<(L0|0),a1)l2=r1,f2=s1;else break}if(n1=L0+s2|0,o1=r2+1|0,Z0=e[E>>2]|0,I1=(o1|0)<(Z0|0),I1)r2=o1,s2=n1;else break e}if((k2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,d0=(C0|0)>2,!d0)return A=K,A|0;for(p0=n+1032|0,B0=n+780|0,a2=2;;){if(h1=a2+-2|0,m1=p0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,B1=e[E1>>2]|0,Q1=B0+(h1<<2)|0,L1=e[Q1>>2]|0,x1=(E+836|0)+(L1<<2)|0,w1=e[x1>>2]|0,b1=K+(d1<<2)|0,R1=e[b1>>2]|0,F1=K+(L1<<2)|0,G1=e[F1>>2]|0,v1=(E+836|0)+(a2<<2)|0,Z1=e[v1>>2]|0,N1=R1&32767,_1=G1&32767,V1=_1-N1|0,O1=w1-B1|0,X1=(V1|0)>-1,t2=0-V1|0,q1=X1?V1:t2,H1=Z1-B1|0,Y1=r5(q1,H1)|0,j1=(Y1|0)/(O1|0)&-1,n2=(V1|0)<0,P1=0-j1|0,g=n2?P1:j1,a=g+N1|0,c2=e[$0>>2]|0,z1=c2-a|0,u2=K+(a2<<2)|0,o2=e[u2>>2]|0,E2=(o2|0)==0,E2)W=a|32768,e[u2>>2]=W;else{A2=(z1|0)<(a|0),K1=A2?z1:a,h2=K1<<1,$2=(o2|0)<(h2|0);do if($2)if(b=o2&1,v=(b|0)==0,v){_=o2>>1,y2=_;break}else{w=o2+1|0,D=w>>1,y=0-D|0,y2=y;break}else if(m=(z1|0)>(a|0),m){B=o2-a|0,y2=B;break}else{p=o2-z1|0,S=p^-1,y2=S;break}while(!1);L=y2+a|0,F=L&32767,e[u2>>2]=F,M=e[m1>>2]|0,T=K+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=K+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=a2+1|0,q=e[U>>2]|0,X=(e0|0)<(q|0),X)a2=e0;else{A=K;break}}return A|0}function wS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0;if(v1=C,E=n+1296|0,I=e[E>>2]|0,x=t+64|0,J=e[x>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,T0=C0+28|0,z0=e[T0>>2]|0,$1=t+28|0,u1=e[$1>>2]|0,m=z0+(u1<<2)|0,B=e[m>>2]|0,p=(B|0)/2&-1,S=(A|0)==0,S)return c1=p<<2,ae(a|0,0,c1|0)|0,g=0,g|0;if(b=e[A>>2]|0,v=I+832|0,w=e[v>>2]|0,D=r5(w,b)|0,y=(D|0)<0,_=(D|0)>255,L=_?255:D,F=y?0:L,M=n+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=n+260|0,o1=0,m1=1,E1=0,Q1=F;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=A+(W<<2)|0,q=e[e0>>2]|0,X=q&32767,U=(X|0)==(q|0),U)if(l0=(I+836|0)+(W<<2)|0,Z=e[l0>>2]|0,K=r5(w,q)|0,$0=(K|0)<0,s0=(K|0)>255,n0=s0?255:K,V=$0?0:n0,h0=V-Q1|0,o0=Z-E1|0,I1=(h0|0)>-1,x1=0-h0|0,g0=I1?h0:x1,j=(h0|0)/(o0|0)&-1,c0=h0>>31,u0=c0|1,I0=r5(j,o0)|0,h1=(I0|0)>-1,w1=0-I0|0,w0=h1?I0:w1,v0=g0-w0|0,d0=(p|0)>(Z|0),b1=d0?Z:p,p0=(b1|0)>(E1|0),p0&&(B0=1768+(Q1<<2)|0,E0=+s[B0>>2],b0=a+(E1<<2)|0,K0=+s[b0>>2],L0=K0*E0,s[b0>>2]=L0),Q0=E1+1|0,M0=(Q0|0)<(b1|0),M0)for(V0=Q0,g1=0,R1=Q1;;)if(G0=g1+v0|0,P0=(G0|0)<(o0|0),y0=P0?0:u0,Y0=P0?0:o0,l1=G0-Y0|0,u=R1+j|0,F1=u+y0|0,F0=1768+(F1<<2)|0,_0=+s[F0>>2],N0=a+(V0<<2)|0,J0=+s[N0>>2],O0=J0*_0,s[N0>>2]=O0,U0=V0+1|0,a1=(U0|0)==(b1|0),a1){Z0=Z,p1=Z,L1=V;break}else V0=U0,g1=l1,R1=F1;else Z0=Z,p1=Z,L1=V;else Z0=o1,p1=E1,L1=Q1;if(q0=m1+1|0,r1=(q0|0)<(T|0),r1)o1=Z0,m1=q0,E1=p1,Q1=L1;else{n1=Z0,B1=L1;break}}else n1=0,B1=F;if(O=(n1|0)<(p|0),!O)return g=1,g|0;for(z=1768+(B1<<2)|0,Y=+s[z>>2],d1=n1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],D0=e1*Y,s[H0>>2]=D0,i1=d1+1|0,s1=(i1|0)==(p|0),s1){g=1;break}else d1=i1;return g|0}function vS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,g=e[n>>2]|0,u=e[g>>2]|0,E=a-u|0,E|0}function kS(t){t=t|0;var n=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function SS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0;$0=C,g=tl(n|0)|0,u=tl(A|0)|0,y=g+2|0,Y=y+u|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,pp(J|0,n|0)|0,Z=tl(J|0)|0,l0=J+Z|0,d[l0>>0]=61,d[l0+1>>0]=0,_Q(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,q=e[e0>>2]|0,X=q<<2,U=X+8|0,E=Hi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,B=e[e0>>2]|0,p=B<<2,S=p+8|0,b=Hi(m,S)|0,e[I>>2]=b,v=tl(J|0)|0,w=e[e0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,_=v+1|0,x=S9(_)|0,L=e[t>>2]|0,F=L+(w<<2)|0,e[F>>2]=x,M=e[t>>2]|0,T=M+(w<<2)|0,N=e[T>>2]|0,pp(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=$0}function bS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;if(Y=C,g=(t|0)==0,!g){if(u=e[t>>2]|0,y=(u|0)==0,!y){if(x=t+8|0,L=e[x>>2]|0,F=(L|0)>0,F){for(_=L,T=u,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),A=e[x>>2]|0,m=A),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,B=a}else B=u;I2(B)}p=t+4|0,S=e[p>>2]|0,b=(S|0)==0,b||I2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||I2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function DS(t){t=t|0;var n=0,A=0,a=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,n=n4(1,3664)|0,A=t+28|0,e[A>>2]=n}function Ip(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;if(p1=C,u=t+28|0,E=e[u>>2]|0,_=(E|0)==0,_){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(t0=E+8|0,s0=e[t0>>2]|0,w0=(s0|0)>0,w0)for(g1=s0,o1=0;n1=(E+32|0)+(o1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?S=g1:(I2(I),n=e[t0>>2]|0,S=n),B=o1+1|0,p=(B|0)<(S|0),p;)g1=S,o1=B;if(M0=E+12|0,O0=e[M0>>2]|0,u1=(O0|0)>0,u1)for(l1=O0,Z0=0;D=(E+544|0)+(Z0<<2)|0,y=e[D>>2]|0,x=(y|0)==0,x?Y=l1:(L=(E+288|0)+(Z0<<2)|0,F=e[L>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,to[G&7](y),A=e[M0>>2]|0,Y=A),O=Z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,Z0=O;if(b=E+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(s1=v,I1=0;q=(E+1056|0)+(I1<<2)|0,X=e[q>>2]|0,U=(X|0)==0,U?o0=s1:(l0=(E+800|0)+(I1<<2)|0,Z=e[l0>>2]|0,K=25640+(Z<<2)|0,$0=e[K>>2]|0,i0=$0+12|0,n0=e[i0>>2]|0,to[n0&7](X),a=e[b>>2]|0,o0=a),V=I1+1|0,h0=(V|0)<(o0|0),h0;)s1=o0,I1=V;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;I0=(E+1568|0)+(h1<<2)|0,C0=e[I0>>2]|0,v0=(C0|0)==0,v0?T0=a1:(d0=(E+1312|0)+(h1<<2)|0,p0=e[d0>>2]|0,B0=25648+(p0<<2)|0,E0=e[B0>>2]|0,b0=E0+12|0,K0=e[b0>>2]|0,to[K0&7](C0),g=e[J>>2]|0,T0=g),L0=h1+1|0,Q0=(L0|0)<(T0|0),Q0;)a1=T0,h1=L0;if(g0=E+24|0,j=e[g0>>2]|0,c0=(j|0)>0,u0=E+2848|0,c0)for(m1=0;G0=(E+1824|0)+(m1<<2)|0,P0=e[G0>>2]|0,y0=(P0|0)==0,y0||Cp(P0),Y0=e[u0>>2]|0,F0=(Y0|0)==0,F0||(_0=Y0+(m1*56|0)|0,ab(_0)),N0=m1+1|0,V0=e[g0>>2]|0,J0=(N0|0)<(V0|0),J0;)m1=N0;if(z0=e[u0>>2]|0,U0=(z0|0)==0,U0||I2(z0),q0=E+28|0,r1=e[q0>>2]|0,H0=(r1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,D0=e[e1>>2]|0,PS(D0),i1=d1+1|0,c1=e[q0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function _S(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,B=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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,u=-129,C=W2,u|0;if(c2=B+4|0,r2=e[c2>>2]|0,D2=(r2|0)<1,D2)S5=-129,a5=27;else if(gp(M1),T1=B+28|0,m5=e[T1>>2]|0,p=(m5|0)==0,p)S5=-130,a5=27;else if(M=e[m5>>2]|0,q=(M|0)<64,q)S5=-130,a5=27;else if(h0=m5+4|0,p0=e[h0>>2]|0,y0=(p0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=B+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=B+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),o1=B+16|0,Z0=e[o1>>2]|0,U2(M1,Z0,32),I1=B+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Nt(d1)|0,U2(M1,E1,4),p1=e[h0>>2]|0,B1=p1+-1|0,L1=Nt(B1)|0,U2(M1,L1,4),U2(M1,1,1),x1=Q1+64|0,w1=e[x1>>2]|0,b1=(w1|0)==0,b1||I2(w1),R1=wt(M1)|0,F1=S9(R1)|0,e[x1>>2]=F1,G1=M1+8|0,v1=e[G1>>2]|0,U1=wt(M1)|0,s4(F1|0,v1|0,U1|0)|0,Z1=e[x1>>2]|0,e[A>>2]=Z1,_1=wt(M1)|0,V1=A+4|0,e[V1>>2]=_1,O1=A+8|0,e[O1>>2]=1,q1=A+12|0,e[q1>>2]=0,e[q1+4>>2]=0,e[q1+8>>2]=0,e[q1+12>>2]=0,e[q1+16>>2]=0,u7(M1),LS(M1,n),H1=Q1+68|0,Y1=e[H1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),n2=wt(M1)|0,W1=S9(n2)|0,e[H1>>2]=W1,P1=e[G1>>2]|0,z1=wt(M1)|0,s4(W1|0,P1|0,z1|0)|0,u2=e[H1>>2]|0,e[a>>2]=u2,o2=wt(M1)|0,E2=a+4|0,e[E2>>2]=o2,A2=a+8|0,K1=a+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=K1,$2=h2,e[$2>>2]=1,i2=h2+4|0,l2=i2,e[l2>>2]=0,u7(M1),a2=e[T1>>2]|0,X1=(a2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),s2=a2+24|0,f2=e[s2>>2]|0,t2=f2+-1|0,U2(M1,t2,8),y2=e[s2>>2]|0,k2=(y2|0)>0,k2)for(q2=0;;){if(N2=(a2+1824|0)+(q2<<2)|0,d2=e[N2>>2]|0,K2=aS(d2,M1)|0,G2=(K2|0)==0,C2=q2+1|0,!G2)break e;if(w2=e[s2>>2]|0,F2=(C2|0)<(w2|0),F2)q2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),H2=a2+16|0,M2=e[H2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[H2>>2]|0,o5=(z2|0)>0,o5)for(I5=0;;){if(O2=(a2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),x5=e[O2>>2]|0,e5=25640+(x5<<2)|0,b5=e[e5>>2]|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5)break e;if(k5=(a2+1056|0)+(I5<<2)|0,P5=e[k5>>2]|0,wp[Z2&3](P5,M1),l5=I5+1|0,v2=e[H2>>2]|0,n5=(l5|0)<(v2|0),n5)I5=l5;else break}if(L2=a2+20|0,_2=e[L2>>2]|0,p2=_2+-1|0,U2(M1,p2,6),C5=e[L2>>2]|0,R5=(C5|0)>0,R5)for(A5=0;d5=(a2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,S=e[_5>>2]|0,b=e[S>>2]|0,v=(a2+1568|0)+(A5<<2)|0,w=e[v>>2]|0,wp[b&3](w,M1),D=A5+1|0,y=e[L2>>2]|0,_=(D|0)<(y|0),_;)A5=D;if(x=a2+12|0,L=e[x>>2]|0,F=L+-1|0,U2(M1,F,6),T=e[x>>2]|0,N=(T|0)>0,N)for(c5=0;G=(a2+288|0)+(c5<<2)|0,O=e[G>>2]|0,U2(M1,O,16),z=e[G>>2]|0,Y=25664+(z<<2)|0,t0=e[Y>>2]|0,J=e[t0>>2]|0,W=(a2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,TQ[J&1](B,e0,M1),X=c5+1|0,U=e[x>>2]|0,l0=(X|0)<(U|0),l0;)c5=X;if(Z=a2+8|0,K=e[Z>>2]|0,$0=K+-1|0,U2(M1,$0,6),s0=e[Z>>2]|0,i0=(s0|0)>0,i0)for(p5=0;n0=(a2+32|0)+(p5<<2)|0,V=e[n0>>2]|0,o0=e[V>>2]|0,U2(M1,o0,1),g0=e[n0>>2]|0,j=g0+4|0,c0=e[j>>2]|0,U2(M1,c0,16),u0=e[n0>>2]|0,I0=u0+8|0,w0=e[I0>>2]|0,U2(M1,w0,16),C0=e[n0>>2]|0,v0=C0+12|0,d0=e[v0>>2]|0,U2(M1,d0,8),B0=p5+1|0,E0=e[Z>>2]|0,b0=(B0|0)<(E0|0),b0;)p5=B0;return U2(M1,1,1),K0=Q1+72|0,L0=e[K0>>2]|0,Q0=(L0|0)==0,Q0||I2(L0),M0=wt(M1)|0,T0=S9(M0)|0,e[K0>>2]=T0,G0=e[G1>>2]|0,P0=wt(M1)|0,s4(T0|0,G0|0,P0|0)|0,Y0=e[K0>>2]|0,e[g>>2]=Y0,F0=wt(M1)|0,_0=g+4|0,e[_0>>2]=F0,N0=g+8|0,V0=g+24|0,e[N0>>2]=0,e[N0+4>>2]=0,e[N0+8>>2]=0,e[N0+12>>2]=0,J0=V0,O0=J0,e[O0>>2]=2,z0=J0+4|0,U0=z0,e[U0>>2]=0,hp(M1),u=0,C=W2,u|0}while(!1);e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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=x1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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,E=Q1+64|0,I=E,g5=S5),hp(M1),q0=e[I>>2]|0,H0=(q0|0)==0,H0||I2(q0),e1=Q1+68|0,D0=e[e1>>2]|0,i1=(D0|0)==0,i1||I2(D0),c1=Q1+72|0,$1=e[c1>>2]|0,u1=($1|0)==0,u1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,u=g5,C=W2,u|0}function LS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,g=44;E=g+-1|0,I=A+1|0,x=d[A>>0]|0,J=x<<24>>24,U2(t,J,8),q=(E|0)==0,!q;)A=I,g=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),l0=e[X>>2]|0,Z=(l0|0)>0,!Z){U2(t,1,1);return}for(K=n+4|0,$0=0;;){if(m=e[n>>2]|0,B=m+($0<<2)|0,p=e[B>>2]|0,S=(p|0)==0,S)U2(t,0,32);else if(b=e[K>>2]|0,v=b+($0<<2)|0,w=e[v>>2]|0,U2(t,w,32),D=e[K>>2]|0,y=D+($0<<2)|0,_=e[y>>2]|0,L=(_|0)==0,!L)for(F=e[n>>2]|0,M=F+($0<<2)|0,T=e[M>>2]|0,a=T,u=_;N=u+-1|0,G=a+1|0,O=d[a>>0]|0,z=O<<24>>24,U2(t,z,8),Y=(N|0)==0,!Y;)a=G,u=N;if(t0=$0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)$0=t0;else break}U2(t,1,1)}function lQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0;if(Y1=C,m=a+1|0,B=m<<3,g=B,F=C,C=C+((1*g|0)+15&-16)|0,e0=a<<3,u=e0,V=C,C=C+((1*u|0)+15&-16)|0,d0=(m|0)==0,d0)N=0;else{for(P0=a;;){if(q0=(P0|0)<(A|0),q0)for(m1=0,R1=P0;;)if(s1=t+(R1<<2)|0,I1=+s[s1>>2],p=I1,S=R1-P0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*p,y=D+m1,_=R1+1|0,b1=(_|0)==(A|0),b1){h1=y;break}else m1=y,R1=_;else h1=0;if(x=F+(P0<<3)|0,A1[x>>3]=h1,L=P0+-1|0,M=(P0|0)==0,M)break;P0=L}I=+A1[F>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,Z0=Q1,C=Y1,+Z0;for(;;){if(v1=F1+1|0,Y=E1>3],U=-X,l0=(F1|0)>0,l0){for(U1=0,O1=U;;)if($0=V+(U1<<3)|0,s0=+A1[$0>>3],i0=F1-U1|0,n0=F+(i0<<3)|0,h0=+A1[n0>>3],o0=h0*s0,g0=O1-o0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=g0;break}else U1=j,O1=g0;if(c0=E/E1,u0=V+(F1<<3)|0,A1[u0>>3]=c0,I0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,v0=(I0|0)>1,N1=0;p0=V+(N1<<3)|0,B0=+A1[p0>>3],E0=C0-N1|0,b0=V+(E0<<3)|0,K0=+A1[b0>>3],L0=K0*c0,Q0=L0+B0,A1[p0>>3]=Q0,M0=B0*c0,T0=+A1[b0>>3],G0=T0+M0,A1[b0>>3]=G0,y0=N1+1|0,Y0=(y0|0)<(I0|0),Y0;)N1=y0;q1=v0?I0:1,O0=c0,Z1=q1}else O0=c0,Z1=0}else Z=U/E1,K=V+(F1<<3)|0,A1[K>>3]=Z,O0=Z,Z1=0;if(F0=F1&1,_0=(F0|0)==0,_0||(N0=V+(Z1<<3)|0,V0=+A1[N0>>3],J0=V0*O0,z0=J0+V0,A1[N0>>3]=z0),U0=O0*O0,r1=1-U0,H0=r1*E1,e1=(v1|0)<(a|0),e1)E1=H0,F1=v1;else{B1=H0;break}}if((H1|0)==8&&(t0=V+(G1<<3)|0,J=a-G1|0,W=J<<3,ae(t0|0,0,W|0)|0,B1=p1),z)d1=.99,_1=0;else return Q1=B1,Z0=Q1,C=Y1,+Z0;for(;D0=V+(_1<<3)|0,i1=+A1[D0>>3],c1=i1*d1,A1[D0>>3]=c1,$1=d1*.99,u1=_1+1|0,x1=(u1|0)==(a|0),!x1;)d1=$1,_1=u1;if(z)V1=0;else return Q1=B1,Z0=Q1,C=Y1,+Z0;for(;;)if(g1=V+(V1<<3)|0,l1=+A1[g1>>3],a1=l1,n1=n+(V1<<2)|0,s[n1>>2]=a1,o1=V1+1|0,L1=(o1|0)==(a|0),L1){Q1=B1;break}else V1=o1;return Z0=Q1,C=Y1,+Z0}function cQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0;if(K=C,I=g+A|0,m=I<<2,u=m,L=C,C=C+((1*u|0)+15&-16)|0,M=(n|0)==0,T=(A|0)>0,M?T&&(G=A<<2,ae(L|0,0,G|0)|0):T&&(N=A<<2,s4(L|0,n|0,N|0)|0),O=(g|0)>0,!O){C=K;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=g<<2,ae(L|0,0,Y|0)|0,ae(a|0,0,Y|0)|0,C=K;return}for(;;){for(X=W,U=A,l0=0;;)if(b=X+1|0,v=L+(X<<2)|0,w=+s[v>>2],D=U+-1|0,y=t+(D<<2)|0,_=+s[y>>2],x=_*w,F=l0-x,t0=(b|0)==(e0|0),t0){E=F;break}else X=b,U=D,l0=F;if(B=L+(e0<<2)|0,s[B>>2]=E,p=a+(W<<2)|0,s[p>>2]=E,S=W+1|0,q=e0+1|0,J=(S|0)==(g|0),J)break;W=S,e0=q}C=K}function xS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0;if(b0=C,g=e[n>>2]|0,u=(g|0)>1,u?(U2(A,1,1),y=e[n>>2]|0,Y=y+-1|0,U2(A,Y,4)):U2(A,0,1),$0=n+1156|0,u0=e[$0>>2]|0,I0=(u0|0)>0,I0){if(U2(A,1,1),w0=e[$0>>2]|0,C0=w0+-1|0,U2(A,C0,8),v0=e[$0>>2]|0,E=(v0|0)>0,E)for(I=n+1160|0,m=t+4|0,B=n+2184|0,d0=0;p=I+(d0<<2)|0,S=e[p>>2]|0,b=e[m>>2]|0,v=b+-1|0,w=Nt(v)|0,U2(A,S,w),D=B+(d0<<2)|0,_=e[D>>2]|0,x=e[m>>2]|0,L=x+-1|0,F=Nt(L)|0,U2(A,_,F),M=d0+1|0,T=e[$0>>2]|0,N=(M|0)<(T|0),N;)d0=M}else U2(A,0,1);if(U2(A,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,p0=0;l0=W+(p0<<2)|0,Z=e[l0>>2]|0,U2(A,Z,4),K=p0+1|0,s0=e[z>>2]|0,i0=(K|0)<(s0|0),i0;)p0=K;a=e[n>>2]|0,e0=a,E0=13}}else e0=G,E0=13;if(!((E0|0)==13&&(q=(e0|0)>0,!q)))for(X=n+1028|0,U=n+1092|0,B0=0;U2(A,0,8),n0=X+(B0<<2)|0,V=e[n0>>2]|0,U2(A,V,8),h0=U+(B0<<2)|0,o0=e[h0>>2]|0,U2(A,o0,8),g0=B0+1|0,j=e[n>>2]|0,c0=(g0|0)<(j|0),c0;)B0=g0}function RS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,g=n4(1,3208)|0,u=t+28|0,y=e[u>>2]|0,ae(g|0,0,3208)|0,Y=t+4|0,$0=e[Y>>2]|0,I0=($0|0)<1;e:do if(I0)a1=24;else if(Q0=j4(n,1)|0,J0=(Q0|0)<0,J0)a1=24;else{if(H0=(Q0|0)==0,H0)e[g>>2]=1;else if(e1=j4(n,4)|0,E=e1+1|0,e[g>>2]=E,I=(e1|0)<0,I)break;if(m=j4(n,1)|0,B=(m|0)<0,!B){if(p=(m|0)==0,!p){if(S=j4(n,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,_=g+2184|0,a=e[Y>>2]|0,T=a,D0=0;;){if(M=T+-1|0,N=Nt(M)|0,G=j4(n,N)|0,O=D+(D0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Nt(t0)|0,W=j4(n,J)|0,e0=_+(D0<<2)|0,e[e0>>2]=W,q=W|G,X=(q|0)<0,U=(G|0)==(W|0),$1=U|X,$1||(l0=e[Y>>2]|0,Z=(G|0)<(l0|0),K=(W|0)<(l0|0),u1=Z&K,L=D0+1|0,!u1))break e;if(x=e[v>>2]|0,F=(L|0)<(x|0),F)T=l0,D0=L;else break}}if(s0=j4(n,2)|0,i0=(s0|0)==0,i0){if(n0=e[g>>2]|0,V=(n0|0)>1,V){if(h0=e[Y>>2]|0,o0=(h0|0)>0,o0)for(g0=g+4|0,i1=0;;){if(E0=j4(n,4)|0,b0=g0+(i1<<2)|0,e[b0>>2]=E0,K0=e[g>>2]|0,L0=(E0|0)>=(K0|0),M0=(E0|0)<0,g1=M0|L0,p0=i1+1|0,g1)break e;if(d0=e[Y>>2]|0,B0=(p0|0)<(d0|0),B0)i1=p0;else{j=K0,a1=17;break}}}else j=n0,a1=17;if((a1|0)==17&&(c0=(j|0)>0,!c0))return A=g,A|0;for(u0=g+1028|0,w0=y+16|0,C0=g+1092|0,v0=y+20|0,c1=0;;){if(j4(n,8)|0,y0=j4(n,8)|0,Y0=u0+(c1<<2)|0,e[Y0>>2]=y0,F0=e[w0>>2]|0,_0=(y0|0)>=(F0|0),N0=(y0|0)<0,l1=N0|_0,l1||(V0=j4(n,8)|0,O0=C0+(c1<<2)|0,e[O0>>2]=V0,z0=e[v0>>2]|0,U0=(V0|0)>=(z0|0),q0=(V0|0)<0,s1=q0|U0,G0=c1+1|0,s1))break e;if(T0=e[g>>2]|0,P0=(G0|0)<(T0|0),P0)c1=G0;else{A=g;break}}return A|0}}}while(!1);return(a1|0)==24&&(r1=(g|0)==0,r1)?(A=0,A|0):(I2(g),A=0,A|0)}function FS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function MS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,e8=0,U4=0,Ge=0,P4=0,ee=0,be=0,t8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,i8=0,g4=0,v4=0,f8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,d8=0,H8=0,Y8=0,et=0,tt=0,I8=0,Pe=0,xe=0,r8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,n8=0,q4=0,Re=0,s8=0,E8=0,_8=0,ue=0,j9=0,o8=0,m8=0,A8=0,C8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,a8=0,we=0,Q4=0,p8=0,nt=0,H4=0,I3=0,He=0,B8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,$8=0,l8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,c8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,Q8=0,mt=0,Ft=0,Wr=0,mr=0,io=0,qn=0,ro=0,Hn=0,no=0,so=0,Yn=0,oo=0,jr=0,Ao=0,ao=0,$o=0,Jn=0,lo=0,Vn=0,Kn=0,co=0,Xr=0,zn=0,en=0,Zn=0,Wn=0,go=0,ho=0,uo=0,tn=0,jn=0,fo=0,Cr=0,rn=0,Io=0,Eo=0,nn=0,ui=0,Xn=0,mo=0,Co=0,es=0,ts=0,is=0,po=0,fi=0,sn=0,Bo=0,rs=0,Qo=0,yo=0,wo=0,ns=0,vo=0,ko=0,So=0,bo=0,ss=0,Do=0,_o=0,on=0,pr=0,An=0,Lo=0,Xi=0,xo=0,os=0,an=0,As=0,$n=0,Ro=0,as=0,$s=0,Fo=0,ls=0,cs=0,Mo=0,Br=0,gs=0,di=0,ln=0,Qr=0,er=0,yr=0,Yi=0,wr=0,hs=0,Ji=0,vi=0,ki=0,j7=0,Si=0,vr=0,tr=0,ir=0,kr=0,Ii=0,To=0,l7=0,rl=0,cn=0,gn=0;if(cn=C,_=t+64|0,x=e[_>>2]|0,i2=x+4|0,O3=e[i2>>2]|0,_4=O3+28|0,Y4=e[_4>>2]|0,Io=x+104|0,fi=e[Io>>2]|0,bo=t+104|0,an=e[bo>>2]|0,L=t+36|0,W=e[L>>2]|0,n0=O3+4|0,v0=e[n0>>2]|0,G0=v0<<2,a=G0,U0=C,C=C+((1*a|0)+15&-16)|0,l1=qt(t,G0)|0,p1=e[n0>>2]|0,U1=p1<<2,W1=qt(t,U1)|0,l2=e[n0>>2]|0,F2=l2<<2,O2=qt(t,F2)|0,v2=an+4|0,_5=+s[v2>>2],g2=e[n0>>2]|0,x2=g2<<2,g=x2,F5=C,C=C+((1*g|0)+15&-16)|0,x3=an+8|0,M5=e[x3>>2]|0,K5=t+28|0,c6=e[K5>>2]|0,Y3=(Y4+544|0)+(c6<<2)|0,n6=e[Y3>>2]|0,R6=fi+56|0,u9=e[R6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,D=A4+M5|0,a4=u9+(D*52|0)|0,P4=t+40|0,e[P4>>2]=c6,le=(g2|0)>0,le)for(l4=+(W|0),J3=4/l4,ut=(s[B2>>2]=J3,e[B2>>2]|0),k8=(W|0)/2&-1,b8=k8<<2,D8=ut&2147483647,A8=+(D8>>>0),Q4=A8*7177114298428933e-22,Ye=Q4+-764.6162109375,at=Ye,oe=at+.345,r7=oe,n7=fi+4|0,Y7=t+24|0,hi=t+32|0,Ot=r7+-764.6162109375,Wr=W+-1|0,Ao=(Wr|0)>1,Zn=r7+-382.30810546875,wr=_5,Ji=0;;){if(Eo=e[t>>2]|0,nn=Eo+(Ji<<2)|0,ui=e[nn>>2]|0,Xn=qt(t,b8)|0,mo=W1+(Ji<<2)|0,e[mo>>2]=Xn,Co=qt(t,b8)|0,es=l1+(Ji<<2)|0,e[es>>2]=Co,ts=e[Y7>>2]|0,is=e[K5>>2]|0,po=e[hi>>2]|0,db(ui,n7,Y4,ts,is,po),sn=e[K5>>2]|0,Bo=(fi+12|0)+(sn<<2)|0,rs=e[Bo>>2]|0,Qo=e[rs>>2]|0,yo=e[es>>2]|0,gQ(Qo,ui,yo),wo=e[K5>>2]|0,ns=(fi+20|0)+(wo*12|0)|0,cb(ns,ui),vo=e[ui>>2]|0,ko=vo&2147483647,So=+(ko>>>0),ss=So*7177114298428933e-22,Do=Ot+ss,_o=Do,on=_o+.345,pr=on,s[ui>>2]=pr,An=F5+(Ji<<2)|0,s[An>>2]=pr,Ao)for(O=pr,vr=1;;)if(Lo=ui+(vr<<2)|0,Xi=+s[Lo>>2],xo=Xi*Xi,os=vr+1|0,As=ui+(os<<2)|0,$n=+s[As>>2],Ro=$n*$n,as=Ro+xo,$s=(s[B2>>2]=as,e[B2>>2]|0),Fo=$s&2147483647,ls=+(Fo>>>0),cs=ls*35885571492144663e-23,Mo=Zn+cs,Br=Mo,F=Br+.345,M=F,T=os>>1,N=ui+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[An>>2]=M,Cr=M):Cr=O,z=vr+2|0,Y=(z|0)<(Wr|0),Y)O=Cr,vr=z;else{J=Cr;break}else J=pr;if(t0=J>0,t0?(s[An>>2]=0,q=0):q=J,e0=q>wr,hs=e0?q:wr,X=Ji+1|0,U=e[n0>>2]|0,l0=(X|0)<(U|0),l0)wr=hs,Ji=X;else{B=b8,S=k8,Yi=hs;break}}else b=(W|0)/2&-1,v=b<<2,B=v,S=b,Yi=_5;Z=qt(t,B)|0,K=qt(t,B)|0,$0=e[n0>>2]|0,s0=($0|0)>0;e:do if(s0){if(i0=(W|0)>1,V=fi+48|0,i0)ki=0;else{for(vi=0;;){t6=(n6+4|0)+(vi<<2)|0,f6=e[t6>>2]|0,H3=l1+(vi<<2)|0,D3=e[H3>>2]|0,Z3=e[t>>2]|0,b6=Z3+(vi<<2)|0,A6=e[b6>>2]|0,t3=A6+(S<<2)|0,e[P4>>2]=c6,O6=qt(t,60)|0,s3=O2+(vi<<2)|0,e[s3>>2]=O6,l7=O6,gn=l7+60|0;do e[l7>>2]=0,l7=l7+4|0;while((l7|0)<(gn|0));if(dQ(a4,t3,Z),a6=F5+(vi<<2)|0,d6=+s[a6>>2],IQ(a4,A6,K,Yi,d6),el(a4,Z,K,1,A6,D3,t3),_3=(n6+1028|0)+(f6<<2)|0,N6=e[_3>>2]|0,Q6=(Y4+800|0)+(N6<<2)|0,x6=e[Q6>>2]|0,K6=(x6|0)==1,!K6){A=-1;break}if(I6=e[V>>2]|0,J6=I6+(N6<<2)|0,F3=e[J6>>2]|0,j6=X$(t,F3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=j6,s9=Mh(t)|0,U6=(s9|0)==0,U6||(D6=e[s3>>2]|0,z6=D6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(el(a4,Z,K,2,A6,D3,t3),M3=e[_3>>2]|0,M6=e[V>>2]|0,t9=M6+(M3<<2)|0,A9=e[t9>>2]|0,X6=X$(t,A9,t3,A6)|0,f9=e[s3>>2]|0,d9=f9+56|0,e[d9>>2]=X6,el(a4,Z,K,0,A6,D3,t3),a9=e[_3>>2]|0,$9=e[V>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=X$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[_3>>2]|0,I9=e[V>>2]|0,o4=I9+(N9<<2)|0,h4=e[o4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,b9=G9+28|0,E9=e[b9>>2]|0,q6=M8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=q6,S4=e[_3>>2]|0,y9=e[V>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,x4=e[s3>>2]|0,T4=e[x4>>2]|0,X4=x4+28|0,C4=e[X4>>2]|0,N4=M8(t,D4,T4,C4,18724)|0,U9=e[s3>>2]|0,G4=U9+8|0,e[G4>>2]=N4,R4=e[_3>>2]|0,u4=e[V>>2]|0,Ce=u4+(R4<<2)|0,q9=e[Ce>>2]|0,m9=e[s3>>2]|0,pe=e[m9>>2]|0,Ne=m9+28|0,e8=e[Ne>>2]|0,U4=M8(t,q9,pe,e8,28086)|0,Ge=e[s3>>2]|0,ee=Ge+12|0,e[ee>>2]=U4,be=e[_3>>2]|0,t8=e[V>>2]|0,Z9=t8+(be<<2)|0,$e=e[Z9>>2]|0,f4=e[s3>>2]|0,_6=e[f4>>2]|0,O4=f4+28|0,R9=e[O4>>2]|0,$4=M8(t,$e,_6,R9,37449)|0,W9=e[s3>>2]|0,ce=W9+16|0,e[ce>>2]=$4,ge=e[_3>>2]|0,p4=e[V>>2]|0,te=p4+(ge<<2)|0,F4=e[te>>2]|0,he=e[s3>>2]|0,C9=e[he>>2]|0,g6=he+28|0,Ue=e[g6>>2]|0,Be=M8(t,F4,C9,Ue,46811)|0,B4=e[s3>>2]|0,c4=B4+20|0,e[c4>>2]=Be,P6=e[_3>>2]|0,De=e[V>>2]|0,_e=De+(P6<<2)|0,i8=e[_e>>2]|0,g4=e[s3>>2]|0,v4=e[g4>>2]|0,f8=g4+28|0,w9=e[f8>>2]|0,p9=M8(t,i8,v4,w9,56173)|0,M4=e[s3>>2]|0,ie=M4+24|0,e[ie>>2]=p9,ct=e[_3>>2]|0,Le=e[V>>2]|0,gt=Le+(ct<<2)|0,vt=e[gt>>2]|0,W8=e[s3>>2]|0,ht=W8+28|0,T8=e[ht>>2]|0,N8=W8+56|0,G8=e[N8>>2]|0,U8=M8(t,vt,T8,G8,9362)|0,j8=e[s3>>2]|0,X8=j8+32|0,e[X8>>2]=U8,kt=e[_3>>2]|0,P8=e[V>>2]|0,O8=P8+(kt<<2)|0,q8=e[O8>>2]|0,S8=e[s3>>2]|0,d8=S8+28|0,H8=e[d8>>2]|0,Y8=S8+56|0,et=e[Y8>>2]|0,tt=M8(t,q8,H8,et,18724)|0,I8=e[s3>>2]|0,Pe=I8+36|0,e[Pe>>2]=tt,xe=e[_3>>2]|0,r8=e[V>>2]|0,v9=r8+(xe<<2)|0,ft=e[v9>>2]|0,Qe=e[s3>>2]|0,dt=Qe+28|0,St=e[dt>>2]|0,it=Qe+56|0,bt=e[it>>2]|0,re=M8(t,ft,St,bt,28086)|0,rt=e[s3>>2]|0,J8=rt+40|0,e[J8>>2]=re,n8=e[_3>>2]|0,q4=e[V>>2]|0,Re=q4+(n8<<2)|0,s8=e[Re>>2]|0,E8=e[s3>>2]|0,_8=E8+28|0,ue=e[_8>>2]|0,j9=E8+56|0,o8=e[j9>>2]|0,m8=M8(t,s8,ue,o8,37449)|0,C8=e[s3>>2]|0,fe=C8+44|0,e[fe>>2]=m8,ye=e[_3>>2]|0,Oe=e[V>>2]|0,qe=Oe+(ye<<2)|0,X9=e[qe>>2]|0,Fe=e[s3>>2]|0,de=Fe+28|0,a8=e[de>>2]|0,we=Fe+56|0,p8=e[we>>2]|0,nt=M8(t,X9,a8,p8,46811)|0,H4=e[s3>>2]|0,I3=H4+48|0,e[I3>>2]=nt,He=e[_3>>2]|0,B8=e[V>>2]|0,ne=B8+(He<<2)|0,H9=e[ne>>2]|0,se=e[s3>>2]|0,D9=se+28|0,V8=e[D9>>2]|0,It=se+56|0,st=e[It>>2]|0,ot=M8(t,H9,V8,st,56173)|0,K8=e[s3>>2]|0,At=K8+52|0,e[At>>2]=ot)),z8=vi+1|0,$8=e[n0>>2]|0,l8=(z8|0)<($8|0),l8)vi=z8;else{p=V,x8=$8;break e}}return C=cn,A|0}for(;;){L6=(n6+4|0)+(ki<<2)|0,I0=e[L6>>2]|0,Y6=l1+(ki<<2)|0,c0=e[Y6>>2]|0,C6=e[t>>2]|0,b3=C6+(ki<<2)|0,j=e[b3>>2]|0,h0=j+(S<<2)|0,e[P4>>2]=c6,e6=qt(t,60)|0,Q0=O2+(ki<<2)|0,e[Q0>>2]=e6,l7=e6,gn=l7+60|0;do e[l7>>2]=0,l7=l7+4|0;while((l7|0)<(gn|0));for(tr=0;j3=c0+(tr<<2)|0,S3=e[j3>>2]|0,g3=S3&2147483647,q3=+(g3>>>0),l6=q3*7177114298428933e-22,d3=l6+-764.6162109375,v6=d3,k6=v6+.345,S6=k6,y=tr+S|0,p6=j+(y<<2)|0,s[p6>>2]=S6,X3=tr+1|0,B6=(X3|0)<(S|0),B6;)tr=X3;if(dQ(a4,h0,Z),o0=F5+(ki<<2)|0,g0=+s[o0>>2],IQ(a4,j,K,Yi,g0),el(a4,Z,K,1,j,c0,h0),u0=(n6+1028|0)+(I0<<2)|0,w0=e[u0>>2]|0,C0=(Y4+800|0)+(w0<<2)|0,d0=e[C0>>2]|0,p0=(d0|0)==1,!p0){A=-1;break}if(B0=e[V>>2]|0,E0=B0+(w0<<2)|0,b0=e[E0>>2]|0,K0=X$(t,b0,h0,j)|0,L0=e[Q0>>2]|0,M0=L0+28|0,e[M0>>2]=K0,T0=Mh(t)|0,P0=(T0|0)==0,P0||(y0=e[Q0>>2]|0,Y0=y0+28|0,F0=e[Y0>>2]|0,_0=(F0|0)==0,_0||(el(a4,Z,K,2,j,c0,h0),N0=e[u0>>2]|0,V0=e[V>>2]|0,J0=V0+(N0<<2)|0,O0=e[J0>>2]|0,z0=X$(t,O0,h0,j)|0,q0=e[Q0>>2]|0,r1=q0+56|0,e[r1>>2]=z0,el(a4,Z,K,0,j,c0,h0),H0=e[u0>>2]|0,e1=e[V>>2]|0,D0=e1+(H0<<2)|0,i1=e[D0>>2]|0,c1=X$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,u1=e[u0>>2]|0,g1=e[V>>2]|0,s1=g1+(u1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,o1=e[n1>>2]|0,Z0=n1+28|0,I1=e[Z0>>2]|0,h1=M8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[u0>>2]|0,B1=e[V>>2]|0,Q1=B1+(E1<<2)|0,L1=e[Q1>>2]|0,x1=e[Q0>>2]|0,w1=e[x1>>2]|0,b1=x1+28|0,R1=e[b1>>2]|0,F1=M8(t,L1,w1,R1,18724)|0,G1=e[Q0>>2]|0,v1=G1+8|0,e[v1>>2]=F1,Z1=e[u0>>2]|0,N1=e[V>>2]|0,_1=N1+(Z1<<2)|0,V1=e[_1>>2]|0,O1=e[Q0>>2]|0,q1=e[O1>>2]|0,H1=O1+28|0,Y1=e[H1>>2]|0,j1=M8(t,V1,q1,Y1,28086)|0,n2=e[Q0>>2]|0,P1=n2+12|0,e[P1>>2]=j1,c2=e[u0>>2]|0,z1=e[V>>2]|0,u2=z1+(c2<<2)|0,o2=e[u2>>2]|0,E2=e[Q0>>2]|0,A2=e[E2>>2]|0,K1=E2+28|0,h2=e[K1>>2]|0,$2=M8(t,o2,A2,h2,37449)|0,r2=e[Q0>>2]|0,a2=r2+16|0,e[a2>>2]=$2,X1=e[u0>>2]|0,s2=e[V>>2]|0,f2=s2+(X1<<2)|0,t2=e[f2>>2]|0,y2=e[Q0>>2]|0,k2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=M8(t,t2,k2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,K2=e[u0>>2]|0,G2=e[V>>2]|0,H2=G2+(K2<<2)|0,M2=e[H2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=M8(t,M2,z2,T1,56173)|0,x5=e[Q0>>2]|0,e5=x5+24|0,e[e5>>2]=X2,b5=e[u0>>2]|0,Z2=e[V>>2]|0,f5=Z2+(b5<<2)|0,k5=e[f5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,L2=e[n5>>2]|0,_2=M8(t,k5,m5,L2,9362)|0,p2=e[Q0>>2]|0,C5=p2+32|0,e[C5>>2]=_2,R5=e[u0>>2]|0,d5=e[V>>2]|0,D5=d5+(R5<<2)|0,G5=e[D5>>2]|0,q2=e[Q0>>2]|0,I5=q2+28|0,A5=e[I5>>2]|0,c5=q2+56|0,p5=e[c5>>2]|0,M1=M8(t,G5,A5,p5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[u0>>2]|0,W2=e[V>>2]|0,B5=W2+(a5<<2)|0,t5=e[B5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,u5=s5+56|0,i5=e[u5>>2]|0,L5=M8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=L5,Q5=e[u0>>2]|0,q5=e[V>>2]|0,j5=q5+(Q5<<2)|0,E5=e[j5>>2]|0,f3=e[Q0>>2]|0,h3=f3+28|0,J5=e[h3>>2]|0,X5=f3+56|0,n3=e[X5>>2]|0,m3=M8(t,E5,J5,n3,37449)|0,V5=e[Q0>>2]|0,v3=V5+44|0,e[v3>>2]=m3,u3=e[u0>>2]|0,B3=e[V>>2]|0,z3=B3+(u3<<2)|0,G3=e[z3>>2]|0,z5=e[Q0>>2]|0,w3=z5+28|0,W5=e[w3>>2]|0,i6=z5+56|0,U3=e[i6>>2]|0,a3=M8(t,G3,W5,U3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[u0>>2]|0,H5=e[V>>2]|0,U5=H5+(C3<<2)|0,O5=e[U5>>2]|0,v5=e[Q0>>2]|0,P3=v5+28|0,o6=e[P3>>2]|0,e3=v5+56|0,A3=e[e3>>2]|0,R3=M8(t,O5,o6,A3,56173)|0,u6=e[Q0>>2]|0,Q3=u6+52|0,e[Q3>>2]=R3)),k3=ki+1|0,y3=e[n0>>2]|0,r6=(k3|0)<(y3|0),r6)ki=k3;else{p=V,x8=y3;break e}}return C=cn,A|0}else w=fi+48|0,p=w,x8=$0;while(!1);for(s[v2>>2]=Yi,L8=x8<<2,u=L8,Je=C,C=C+((1*u|0)+15&-16)|0,E=L8,B9=C,C=C+((1*E|0)+15&-16)|0,$t=Mh(t)|0,Ve=($t|0)!=0,Gt=Ve?0:7,Ht=fi+44|0,Dt=t+24|0,lt=t+32|0,_t=Y4+2868|0,Ut=fi+52|0,Ii=Gt;;){if(Yt=(an+12|0)+(Ii<<2)|0,c8=e[Yt>>2]|0,U2(c8,0,1),R8=e[Ht>>2]|0,U2(c8,c6,R8),Lt=e[K5>>2]|0,Z8=(Lt|0)==0,Z8||(Me=e[Dt>>2]|0,U2(c8,Me,1),Ie=e[lt>>2]|0,U2(c8,Ie,1)),e4=e[n0>>2]|0,xt=(e4|0)>0,xt)for(j7=0;;)if(G7=(n6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Jt=(n6+1028|0)+(U7<<2)|0,I7=e[Jt>>2]|0,Vt=e[p>>2]|0,E7=Vt+(I7<<2)|0,Kt=e[E7>>2]|0,m7=O2+(j7<<2)|0,$i=e[m7>>2]|0,O7=$i+(Ii<<2)|0,C7=e[O7>>2]|0,p7=ES(c8,t,Kt,C7,d7)|0,li=U0+(j7<<2)|0,e[li>>2]=p7,B7=j7+1|0,s7=e[n0>>2]|0,ci=(B7|0)<(s7|0),ci)j7=B7;else{I=s7;break}else I=e4;if(q7=e[K5>>2]|0,H7=((Y4+3240|0)+(q7*60|0)|0)+(Ii<<2)|0,J7=e[H7>>2]|0,HS(Ii,_t,a4,n6,l1,W1,U0,J7,I),o7=e[n6>>2]|0,Q7=(o7|0)>0,Q7)for(Si=0;;){if(V7=(n6+1092|0)+(Si<<2)|0,zt=e[V7>>2]|0,A7=e[n0>>2]|0,Pt=(A7|0)>0,Pt)for(rn=A7,di=0,ir=0;;)if(Zt=(n6+4|0)+(ir<<2)|0,gi=e[Zt>>2]|0,K7=(gi|0)==(Si|0),K7?(y7=B9+(di<<2)|0,z7=U0+(ir<<2)|0,w7=e[z7>>2]|0,To=(w7|0)!=0,n=To&1,e[y7>>2]=n,v7=W1+(ir<<2)|0,Z7=e[v7>>2]|0,k7=di+1|0,Wt=Je+(di<<2)|0,e[Wt>>2]=Z7,m=e[n0>>2]|0,a7=m,ln=k7):(a7=rn,ln=di),S7=ir+1|0,W7=(S7|0)<(a7|0),W7)rn=a7,di=ln,ir=S7;else{gs=ln;break}else gs=0;if(b7=(Y4+1312|0)+(zt<<2)|0,ve=e[b7>>2]|0,D7=25648+(ve<<2)|0,Rt=e[D7>>2]|0,$7=Rt+20|0,n9=e[$7>>2]|0,Et=e[Ut>>2]|0,Q8=Et+(zt<<2)|0,mt=e[Q8>>2]|0,Ft=vp[n9&7](t,mt,Je,B9,gs)|0,mr=e[n0>>2]|0,io=(mr|0)>0,io)for(er=0,kr=0;;)if(qn=(n6+4|0)+(kr<<2)|0,ro=e[qn>>2]|0,Hn=(ro|0)==(Si|0),Hn?(no=W1+(kr<<2)|0,so=e[no>>2]|0,Yn=er+1|0,oo=Je+(er<<2)|0,e[oo>>2]=so,yr=Yn):yr=er,jr=kr+1|0,ao=(jr|0)<(mr|0),ao)er=yr,kr=jr;else{Qr=yr;break}else Qr=0;if($o=e[b7>>2]|0,Jn=25648+($o<<2)|0,lo=e[Jn>>2]|0,Vn=lo+24|0,Kn=e[Vn>>2]|0,co=e[Ut>>2]|0,Xr=co+(zt<<2)|0,zn=e[Xr>>2]|0,NQ[Kn&3](c8,t,zn,Je,B9,Qr,Ft,Si)|0,en=Si+1|0,Wn=e[n6>>2]|0,go=(en|0)<(Wn|0),go)Si=en;else break}if(ho=Ii+1|0,uo=Mh(t)|0,tn=(uo|0)!=0,jn=tn?14:7,fo=(Ii|0)<(jn|0),fo)Ii=ho;else{A=0;break}}return C=cn,A|0}function TS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0;if(x2=C,b=t+64|0,v=e[b>>2]|0,m1=v+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,y2=v+104|0,M2=e[y2>>2]|0,f5=t+28|0,R5=e[f5>>2]|0,w=K1+(R5<<2)|0,O=e[w>>2]|0,Z=t+36|0,e[Z>>2]=O,c0=F1+4|0,K0=e[c0>>2]|0,N0=K0<<2,g=N0,i1=C,C=C+((1*g|0)+15&-16)|0,u=N0,Z0=C,C=C+((1*u|0)+15&-16)|0,E=N0,I1=C,C=C+((1*E|0)+15&-16)|0,I=N0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[c0>>2]|0,E1=(d1|0)>0,E1)for(p1=n+4|0,B1=n+1028|0,Q1=M2+48|0,L1=O<<1,x1=L1&2147483646,W2=0;;)if(U1=p1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=B1+(Z1<<2)|0,_1=e[N1>>2]|0,V1=(K1+800|0)+(_1<<2)|0,O1=e[V1>>2]|0,q1=25640+(O1<<2)|0,H1=e[q1>>2]|0,j1=H1+20|0,n2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(_1<<2)|0,c2=e[P1>>2]|0,z1=f7[n2&15](t,c2)|0,u2=h1+(W2<<2)|0,e[u2>>2]=z1,o2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[o2>>2]=A,E2=e[t>>2]|0,A2=E2+(W2<<2)|0,h2=e[A2>>2]|0,ae(h2|0,0,x1|0)|0,$2=W2+1|0,i2=e[c0>>2]|0,l2=($2|0)<(i2|0),l2)W2=$2;else{n1=i2;break}else n1=d1;if(w1=n+1156|0,b1=e[w1>>2]|0,R1=(b1|0)>0,R1)for(G1=n+1160|0,v1=n+2184|0,g2=0;t2=G1+(g2<<2)|0,k2=e[t2>>2]|0,w2=I1+(k2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=v1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,K2=e[d2>>2]|0,G2=(K2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,H2=I1+(N2<<2)|0,e[H2>>2]=1),P2=g2+1|0,z2=(P2|0)<(b1|0),z2;)g2=P2;if(r2=e[n>>2]|0,a2=(r2|0)>0,a2){for(X1=n+1092|0,s2=M2+52|0,f2=n+4|0,o5=n1,B5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,u5=0;;)if(T1=f2+(u5<<2)|0,X2=e[T1>>2]|0,x5=(X2|0)==(B5|0),x5?(e5=I1+(u5<<2)|0,b5=e[e5>>2]|0,Z2=Z0+(g5<<2)|0,L5=(b5|0)!=0,a=L5&1,e[Z2>>2]=a,k5=e[t>>2]|0,P5=k5+(u5<<2)|0,l5=e[P5>>2]|0,v2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,p=e[c0>>2]|0,_2=p,a5=v2):(_2=o1,a5=g5),n5=u5+1|0,L2=(n5|0)<(_2|0),L2)o1=_2,g5=a5,u5=n5;else{S5=a5;break}else S5=0;if(p2=X1+(B5<<2)|0,C5=e[p2>>2]|0,d5=(K1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,q2=_5+28|0,I5=e[q2>>2]|0,A5=e[s2>>2]|0,c5=A5+(C5<<2)|0,p5=e[c5>>2]|0,vp[I5&7](t,p5,i1,Z0,S5)|0,M1=B5+1|0,D=e[n>>2]|0,y=(M1|0)<(D|0),!y)break;B=e[c0>>2]|0,o5=B,B5=M1}S=e[w1>>2]|0,_=S}else _=b1;if(x=(_|0)>0,x)for(L=n+1160|0,F=e[t>>2]|0,M=n+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=L+(t5<<2)|0,q=e[e0>>2]|0,X=F+(q<<2)|0,U=e[X>>2]|0,l0=M+(t5<<2)|0,K=e[l0>>2]|0,$0=F+(K<<2)|0,s0=e[$0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,n0=+s[i0>>2],V=s0+(i5<<2)|0,h0=+s[V>>2],o0=n0>0,g0=h0>0;do if(o0)if(g0){s[i0>>2]=n0,j=n0-h0,s[V>>2]=j;break}else{s[V>>2]=n0,u0=h0+n0,s[i0>>2]=u0;break}else if(g0){s[i0>>2]=n0,I0=h0+n0,s[V>>2]=I0;break}else{s[V>>2]=n0,w0=n0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,v0=(C0|0)<(T|0),v0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[c0>>2]|0,Y=(z|0)>0,!Y)return C=x2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(p0=e[t>>2]|0,B0=p0+(h5<<2)|0,E0=e[B0>>2]|0,b0=t0+(h5<<2)|0,L0=e[b0>>2]|0,Q0=J+(L0<<2)|0,M0=e[Q0>>2]|0,T0=(K1+800|0)+(M0<<2)|0,G0=e[T0>>2]|0,P0=25640+(G0<<2)|0,y0=e[P0>>2]|0,Y0=y0+24|0,F0=e[Y0>>2]|0,_0=e[W>>2]|0,V0=_0+(M0<<2)|0,J0=e[V0>>2]|0,O0=h1+(h5<<2)|0,z0=e[O0>>2]|0,yp[F0&3](t,J0,z0,E0)|0,U0=h5+1|0,q0=e[c0>>2]|0,r1=(U0|0)<(q0|0),r1)h5=U0;else{m=q0;break}if(d0=(m|0)>0,!d0)return C=x2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,D0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,u1=e[$1>>2]|0,g1=e[u1>>2]|0,NS(g1,D0,D0),l1=J2+1|0,s1=e[c0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=x2,0}function Ep(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0;if(w1=C,A=(n|0)/4&-1,a=A<<2,w=S9(a)|0,O=A+n|0,Z=O<<2,c0=S9(Z)|0,K0=n>>1,N0=+(n|0),i1=N0,I1=+zr(+i1),g=I1*1.4426950408889634,u=+qi(g),E=~~u,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=c0,B=t+12|0,e[B>>2]=w,p=(n|0)>3,!p){Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0;return}for(S=+(n|0),b=3.141592653589793/S,v=n<<1,D=+(v|0),y=3.141592653589793/D,p1=0;M=p1<<2,T=+(M|0),N=b*T,G=+jA(+N),z=G,Y=p1<<1,t0=c0+(Y<<2)|0,s[t0>>2]=z,J=+Pn(+N),W=J,e0=-W,q=Y|1,X=c0+(q<<2)|0,s[X>>2]=e0,U=+(q|0),l0=y*U,K=+jA(+l0),$0=K,s0=Y+K0|0,i0=c0+(s0<<2)|0,s[i0>>2]=$0,n0=+Pn(+l0),V=n0,h0=s0+1|0,o0=c0+(h0<<2)|0,s[o0>>2]=V,g0=p1+1|0,j=(g0|0)<(A|0),j;)p1=g0;if(_=(n|0)/8&-1,x=(n|0)>7,!x){Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0;return}for(L=+(n|0),F=3.141592653589793/L,B1=0;u0=B1<<2,I0=u0|2,w0=+(I0|0),C0=F*w0,v0=+jA(+C0),d0=v0*.5,p0=d0,B0=B1<<1,E0=B0+n|0,b0=c0+(E0<<2)|0,s[b0>>2]=p0,L0=+Pn(+C0),Q0=L0*-.5,M0=Q0,T0=E0+1|0,G0=c0+(T0<<2)|0,s[G0>>2]=M0,P0=B1+1|0,y0=(P0|0)<(_|0),y0;)B1=P0;if(Y0=E+-1|0,F0=1<>2]=Z0;return}for(;;){for(z0=J0,m1=0,L1=0;;)if(O0=z0&Q1,U0=(O0|0)==0,q0=1<>H0,D0=(e1|0)==0,D0){E1=d1;break}else z0=e1,m1=d1,L1=H0;if(c1=E1^-1,$1=_0&c1,u1=$1+-1|0,g1=Q1<<1,l1=w+(g1<<2)|0,e[l1>>2]=u1,s1=g1|1,a1=w+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,o1=(n1|0)<(_|0),o1)Q1=n1;else break}Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0}function mp(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;B=C,n=(t|0)==0,!n&&(A=t+8|0,a=e[A>>2]|0,g=(a|0)==0,g||I2(a),u=t+12|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function NS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0;for(q3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,K2=n+(a<<2)|0,g=I+W1|0,e5=A+(g<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=K2,k3=e5;E5=k3+-16|0,B3=U5+8|0,m=+s[B3>>2],L=c3+12|0,W=+s[L>>2],n0=m*W,v0=-n0,G0=+s[U5>>2],U0=c3+8|0,l1=+s[U0>>2],p1=l1*G0,U1=v0-p1,s[E5>>2]=U1,P1=+s[U5>>2],l2=+s[L>>2],y2=l2*P1,k2=+s[B3>>2],w2=+s[U0>>2],C2=w2*k2,F2=y2-C2,D2=k3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,H2=+s[G2>>2],M2=d2*H2,P2=-M2,z2=U5+16|0,o5=+s[z2>>2],O2=+s[c3>>2],T1=O2*o5,X2=P2-T1,x5=k3+-8|0,s[x5>>2]=X2,b5=+s[z2>>2],Z2=+s[G2>>2],f5=Z2*b5,k5=+s[N2>>2],P5=+s[c3>>2],l5=P5*k5,v2=f5-l5,m5=k3+-4|0,s[m5>>2]=v2,n5=U5+-32|0,L2=c3+16|0,p2=n5>>>0>>0,!p2;)c3=L2,U5=n5,k3=E5;for(C5=A+(I<<2)|0,u=I+-8|0,R5=n+(u<<2)|0,C3=h5,O5=R5,y3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,q2=+s[_5>>2],I5=q2*G5,A5=O5+24|0,p5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*p5,a5=g5+I5,s[y3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],B5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,u5=B5-J2,i5=y3+4|0,s[i5>>2]=u5,L5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],x2=$5*L5,Q5=O5+8|0,q5=+s[Q5>>2],j5=+s[d5>>2],f3=j5*q5,h3=f3+x2,J5=y3+8|0,s[J5>>2]=h3,X5=+s[O5>>2],n3=+s[d5>>2],m3=n3*X5,F5=+s[Q5>>2],V5=+s[j2>>2],v3=V5*F5,u3=m3-v3,z3=y3+12|0,s[z3>>2]=u3,G3=O5+-32|0,z5=y3+16|0,w3=G3>>>0>>0,!w3;)C3=d5,O5=G3,y3=z5;for(o6=t+4|0,e3=e[o6>>2]|0,hQ(e3,c5,C5,I),A3=e[t>>2]|0,R3=e[_2>>2]|0,u6=t+12|0,Q3=e[u6>>2]|0,uQ(A3,R3,Q3,A),W5=e[_2>>2]|0,i6=W5+(I<<2)|0,H5=i6,v5=A,r6=e5,K5=e5;x3=r6+-16|0,U3=+s[v5>>2],a3=H5+4|0,l3=+s[a3>>2],B=l3*U3,p=v5+4|0,S=+s[p>>2],b=+s[H5>>2],v=b*S,w=B-v,D=r6+-4|0,s[D>>2]=w,y=+s[v5>>2],_=+s[H5>>2],x=_*y,F=+s[p>>2],M=+s[a3>>2],T=M*F,N=x+T,G=-N,s[K5>>2]=G,O=v5+8|0,z=+s[O>>2],Y=H5+12|0,t0=+s[Y>>2],J=t0*z,e0=v5+12|0,q=+s[e0>>2],X=H5+8|0,U=+s[X>>2],l0=U*q,Z=J-l0,K=r6+-8|0,s[K>>2]=Z,$0=+s[O>>2],s0=+s[X>>2],i0=s0*$0,V=+s[e0>>2],h0=+s[Y>>2],o0=h0*V,g0=i0+o0,j=-g0,c0=K5+4|0,s[c0>>2]=j,u0=v5+16|0,I0=+s[u0>>2],w0=H5+20|0,C0=+s[w0>>2],d0=C0*I0,p0=v5+20|0,B0=+s[p0>>2],E0=H5+16|0,b0=+s[E0>>2],K0=b0*B0,L0=d0-K0,Q0=r6+-12|0,s[Q0>>2]=L0,M0=+s[u0>>2],T0=+s[E0>>2],P0=T0*M0,y0=+s[p0>>2],Y0=+s[w0>>2],F0=Y0*y0,_0=P0+F0,N0=-_0,V0=K5+8|0,s[V0>>2]=N0,J0=v5+24|0,O0=+s[J0>>2],z0=H5+28|0,q0=+s[z0>>2],r1=q0*O0,H0=v5+28|0,e1=+s[H0>>2],D0=H5+24|0,i1=+s[D0>>2],c1=i1*e1,$1=r1-c1,s[x3>>2]=$1,u1=+s[J0>>2],g1=+s[D0>>2],s1=g1*u1,a1=+s[H0>>2],n1=+s[z0>>2],o1=n1*a1,Z0=s1+o1,I1=-Z0,h1=K5+12|0,s[h1>>2]=I1,m1=K5+16|0,d1=v5+32|0,E1=H5+32|0,B1=d1>>>0>>0,B1;)H5=E1,v5=d1,r6=x3,K5=m1;for(Q1=A+(W1<<2)|0,P3=e5,j3=Q1,S3=Q1;;)if(L1=j3+-16|0,x1=P3+-16|0,w1=P3+-4|0,b1=+s[w1>>2],R1=j3+-4|0,s[R1>>2]=b1,F1=-b1,s[S3>>2]=F1,G1=P3+-8|0,v1=+s[G1>>2],Z1=j3+-8|0,s[Z1>>2]=v1,N1=-v1,_1=S3+4|0,s[_1>>2]=N1,V1=P3+-12|0,O1=+s[V1>>2],q1=j3+-12|0,s[q1>>2]=O1,H1=-O1,Y1=S3+8|0,s[Y1>>2]=H1,j1=+s[x1>>2],s[L1>>2]=j1,n2=-j1,c2=S3+12|0,s[c2>>2]=n2,z1=S3+16|0,u2=z1>>>0>>0,u2)P3=x1,j3=L1,S3=z1;else{M5=e5,O3=e5;break}for(;o2=O3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[o2>>2]=A2,K1=M5+8|0,h2=e[K1>>2]|0,$2=O3+-12|0,e[$2>>2]=h2,i2=M5+4|0,r2=e[i2>>2]|0,a2=O3+-8|0,e[a2>>2]=r2,X1=e[M5>>2]|0,s2=O3+-4|0,e[s2>>2]=X1,f2=M5+16|0,t2=o2>>>0>C5>>>0,t2;)M5=f2,O3=o2}function gQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0;if(q5=C,v=e[t>>2]|0,w=v>>1,r1=v>>2,a1=v>>3,Q1=v<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(w<<2)|0,g=w+r1|0,r2=n+(g<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,D=T1+(w<<2)|0,z=(a1|0)>0,z){for(u=g+1|0,K=n+(u<<2)|0,u0=a1+-1|0,L0=u0>>>1,V0=L0<<1,O0=w+-2|0,z0=O0-V0|0,U0=g+-4|0,q0=L0<<2,H0=U0-q0|0,n5=D,D5=0,h5=r2,L5=K;e1=h5+-16|0,D0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[L5>>2],u1=$1+c1,g1=+s[e1>>2],l1=L5+8|0,s1=+s[l1>>2],n1=s1+g1,o1=n5+-4|0,Z0=+s[o1>>2],I1=n1*Z0,h1=+s[D0>>2],m1=h1*u1,d1=m1+I1,S=D5+w|0,E1=N1+(S<<2)|0,s[E1>>2]=d1,p1=+s[D0>>2],B1=p1*n1,L1=+s[o1>>2],x1=L1*u1,w1=B1-x1,b1=D5|1,b=b1+w|0,R1=N1+(b<<2)|0,s[R1>>2]=w1,F1=L5+16|0,G1=D5+2|0,v1=(G1|0)<(a1|0),v1;)n5=D0,D5=G1,h5=e1,L5=F1;U1=V0+2|0,g2=T1+(z0<<2)|0,B5=n+(H0<<2)|0,O2=z0,m5=g2,d5=U1,s5=B5}else O2=w,m5=D,d5=0,s5=r2;if(Z1=n+4|0,_1=w-a1|0,V1=(d5|0)<(_1|0),V1){for(O1=w+-1|0,q1=O1-d5|0,H1=q1-a1|0,Y1=H1>>>1,j1=Y1<<1,n2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;u2=_2+-8|0,o2=J2+-16|0,E2=J2+-8|0,A2=+s[E2>>2],K1=+s[$5>>2],h2=A2-K1,$2=+s[o2>>2],i2=$5+8|0,l2=+s[i2>>2],a2=$2-l2,X1=_2+-4|0,s2=+s[X1>>2],f2=a2*s2,t2=+s[u2>>2],y2=t2*h2,k2=y2+f2,m=_5+w|0,w2=N1+(m<<2)|0,s[w2>>2]=k2,C2=+s[u2>>2],F2=C2*a2,N2=+s[X1>>2],d2=N2*h2,K2=F2-d2,G2=_5|1,B=G2+w|0,H2=N1+(B<<2)|0,s[H2>>2]=K2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(_1|0),z2;)_2=u2,_5=P2,J2=o2,$5=M2;o5=n2+2|0,a5=n+(P1<<2)|0,p=O2+z1|0,W2=T1+(p<<2)|0,L2=W2,G5=o5,j2=a5}else L2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(w|0),X2)for(x5=n+(v<<2)|0,p2=L2,q2=G5,u5=x5,x2=j2;e5=p2+-8|0,b5=u5+-16|0,Z2=u5+-8|0,f5=+s[Z2>>2],k5=-f5,P5=+s[x2>>2],l5=k5-P5,v2=+s[b5>>2],y=-v2,_=x2+8|0,x=+s[_>>2],L=y-x,F=p2+-4|0,M=+s[F>>2],T=L*M,N=+s[e5>>2],G=N*l5,O=G+T,E=q2+w|0,Y=N1+(E<<2)|0,s[Y>>2]=O,t0=+s[e5>>2],J=t0*L,W=+s[F>>2],e0=W*l5,q=J-e0,X=q2|1,I=X+w|0,U=N1+(I<<2)|0,s[U>>2]=q,l0=x2+16|0,Z=q2+2|0,$0=(Z|0)<(w|0),$0;)p2=e5,q2=Z,u5=b5,x2=l0;if(A5=t+4|0,c5=e[A5>>2]|0,hQ(c5,T1,c2,w),g5=e[t>>2]|0,p5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,uQ(g5,p5,S5,N1),s0=(r1|0)>0,!s0){C=q5;return}for(i0=A+(w<<2)|0,n0=e[D2>>2]|0,V=n0+(w<<2)|0,h0=t+16|0,C5=V,I5=0,t5=N1,i5=i0;o0=i5+-4|0,g0=+s[t5>>2],j=+s[C5>>2],c0=j*g0,I0=t5+4|0,w0=+s[I0>>2],C0=C5+4|0,v0=+s[C0>>2],d0=v0*w0,p0=d0+c0,B0=+s[h0>>2],E0=p0*B0,b0=A+(I5<<2)|0,s[b0>>2]=E0,K0=+s[t5>>2],Q0=+s[C0>>2],M0=Q0*K0,T0=+s[I0>>2],G0=+s[C5>>2],P0=G0*T0,y0=M0-P0,Y0=+s[h0>>2],F0=y0*Y0,s[o0>>2]=F0,_0=t5+8|0,N0=C5+8|0,J0=I5+1|0,R5=(J0|0)==(r1|0),!R5;)C5=N0,I5=J0,t5=_0,i5=o0;C=q5}function hQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,e8=0,U4=0,Ge=0,P4=0,ee=0,be=0,t8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,i8=0,g4=0,v4=0,f8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,d8=0,H8=0,Y8=0,et=0,tt=0,I8=0,Pe=0,xe=0,r8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,n8=0,q4=0,Re=0,s8=0,E8=0,_8=0,ue=0,j9=0,o8=0,m8=0,A8=0,C8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,a8=0,we=0,Q4=0,p8=0,nt=0,H4=0,I3=0,He=0,B8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,$8=0,l8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,c8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,Q8=0,mt=0,Ft=0,Wr=0,mr=0;if(mr=C,I0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,_3=a>>1,p=_3+-8|0,W8=A+(p<<2)|0,g=n,Et=P5,mt=W8;c8=Et+24|0,P7=+s[c8>>2],C7=mt+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=Et+28|0,T0=+s[C0>>2],z0=mt+28|0,g1=+s[z0>>2],E1=T0-g1,v1=Q7+P7,s[c8>>2]=v1,n2=+s[z0>>2],$2=n2+T0,s[C0>>2]=$2,w2=g+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[g>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[g>>2],i6=m3*E1,P3=+s[w2>>2],j3=P3*w7,p6=i6-j3,s[z0>>2]=p6,H3=Et+16|0,N6=+s[H3>>2],s9=mt+16|0,X6=+s[s9>>2],I9=N6-X6,S4=Et+20|0,G4=+s[S4>>2],Ge=mt+20|0,$4=+s[Ge>>2],g6=G4-$4,v4=X6+N6,s[H3>>2]=v4,ht=+s[Ge>>2],q8=ht+G4,s[S4>>2]=q8,r8=g+20|0,J8=+s[r8>>2],m8=J8*g6,we=g+16|0,D9=+s[we>>2],L8=D9*I9,lt=L8+m8,s[s9>>2]=lt,Yt=+s[we>>2],R8=Yt*g6,Lt=+s[r8>>2],Z8=Lt*I9,Me=R8-Z8,s[Ge>>2]=Me,Ie=Et+8|0,e4=+s[Ie>>2],xt=mt+8|0,r7=+s[xt>>2],G7=e4-r7,U7=Et+12|0,d7=+s[U7>>2],Jt=mt+12|0,I7=+s[Jt>>2],Vt=d7-I7,E7=r7+e4,s[Ie>>2]=E7,Kt=+s[Jt>>2],m7=Kt+d7,s[U7>>2]=m7,n7=g+36|0,$i=+s[n7>>2],O7=$i*Vt,p7=g+32|0,li=+s[p7>>2],B7=li*G7,s7=B7+O7,s[xt>>2]=s7,ci=+s[p7>>2],q7=ci*Vt,H7=+s[n7>>2],Y7=H7*G7,J7=q7-Y7,s[Jt>>2]=J7,o7=+s[Et>>2],V7=+s[mt>>2],zt=o7-V7,A7=Et+4|0,Pt=+s[A7>>2],Zt=mt+4|0,gi=+s[Zt>>2],K7=Pt-gi,hi=V7+o7,s[Et>>2]=hi,y7=+s[Zt>>2],z7=y7+Pt,s[A7>>2]=z7,v7=g+52|0,Z7=+s[v7>>2],k7=Z7*K7,Wt=g+48|0,S7=+s[Wt>>2],W7=S7*zt,a7=W7+k7,s[mt>>2]=a7,Ot=+s[Wt>>2],b7=Ot*K7,ve=+s[v7>>2],v0=ve*zt,d0=b7-v0,s[Zt>>2]=d0,p0=Et+-32|0,B0=mt+-32|0,E0=g+64|0,b0=B0>>>0>>0,!b0;)g=E0,Et=p0,mt=B0;if(K0=(I0|0)>1,K0)for(Rt=1;;){if(L0=1<>Rt,G0=4<>1,S=P0+-8|0,N=G0+1|0,l0=G0<<1,i0=l0|1,h0=G0*3|0,g0=h0+1|0,c0=G0<<2,$7=0;;){for(Y0=r5($7,M0)|0,F0=A+(Y0<<2)|0,E=m+Y0|0,_0=A+(E<<2)|0,$0=S+Y0|0,N0=A+($0<<2)|0,u=n,Q8=_0,Ft=N0;V0=Q8+24|0,J0=+s[V0>>2],O0=Ft+24|0,U0=+s[O0>>2],q0=J0-U0,r1=Q8+28|0,H0=+s[r1>>2],e1=Ft+28|0,D0=+s[e1>>2],i1=H0-D0,c1=U0+J0,s[V0>>2]=c1,$1=+s[e1>>2],u1=$1+H0,s[r1>>2]=u1,l1=u+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[u>>2],o1=n1*q0,Z0=o1+a1,s[O0>>2]=Z0,I1=+s[u>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*q0,p1=h1-d1,s[e1>>2]=p1,B1=u+(G0<<2)|0,Q1=Q8+16|0,L1=+s[Q1>>2],x1=Ft+16|0,w1=+s[x1>>2],b1=L1-w1,R1=Q8+20|0,F1=+s[R1>>2],G1=Ft+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+L1,s[Q1>>2]=N1,_1=+s[G1>>2],V1=_1+F1,s[R1>>2]=V1,O1=u+(N<<2)|0,q1=+s[O1>>2],H1=q1*Z1,Y1=+s[B1>>2],j1=Y1*b1,W1=j1+H1,s[x1>>2]=W1,P1=+s[B1>>2],c2=P1*Z1,z1=+s[O1>>2],u2=z1*b1,o2=c2-u2,s[G1>>2]=o2,E2=u+(l0<<2)|0,A2=Q8+8|0,K1=+s[A2>>2],h2=Ft+8|0,i2=+s[h2>>2],l2=K1-i2,r2=Q8+12|0,a2=+s[r2>>2],X1=Ft+12|0,s2=+s[X1>>2],f2=a2-s2,t2=i2+K1,s[A2>>2]=t2,y2=+s[X1>>2],k2=y2+a2,s[r2>>2]=k2,C2=u+(i0<<2)|0,F2=+s[C2>>2],D2=F2*f2,N2=+s[E2>>2],d2=N2*l2,K2=d2+D2,s[h2>>2]=K2,G2=+s[E2>>2],H2=G2*f2,M2=+s[C2>>2],P2=M2*l2,o5=H2-P2,s[X1>>2]=o5,O2=u+(h0<<2)|0,T1=+s[Q8>>2],X2=+s[Ft>>2],x5=T1-X2,e5=Q8+4|0,b5=+s[e5>>2],Z2=Ft+4|0,f5=+s[Z2>>2],k5=b5-f5,v2=X2+T1,s[Q8>>2]=v2,m5=+s[Z2>>2],n5=m5+b5,s[e5>>2]=n5,L2=u+(g0<<2)|0,_2=+s[L2>>2],p2=_2*k5,C5=+s[O2>>2],R5=C5*x5,d5=R5+p2,s[Ft>>2]=d5,D5=+s[O2>>2],_5=D5*k5,q2=+s[L2>>2],I5=q2*x5,A5=_5-I5,s[Z2>>2]=A5,c5=u+(c0<<2)|0,p5=Q8+-32|0,M1=Ft+-32|0,S5=M1>>>0>>0,!S5;)u=c5,Q8=p5,Ft=M1;if(g5=$7+1|0,a5=(g5|0)<(L0|0),a5)$7=g5;else break}if(g2=Rt+1|0,D7=(g2|0)==(I0|0),D7)break;Rt=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;B5=A+(n9<<2)|0,B=n9|30,t5=A+(B<<2)|0,s5=+s[t5>>2],T=n9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],u5=s5-J2,U=n9|31,i5=A+(U<<2)|0,L5=+s[i5>>2],s0=n9|15,j2=A+(s0<<2)|0,x2=+s[j2>>2],Q5=L5-x2,q5=J2+s5,s[t5>>2]=q5,j5=x2+L5,s[i5>>2]=j5,s[h5>>2]=u5,s[j2>>2]=Q5,n0=n9|28,E5=A+(n0<<2)|0,f3=+s[E5>>2],V=n9|12,h3=A+(V<<2)|0,J5=+s[h3>>2],X5=f3-J5,o0=n9|29,n3=A+(o0<<2)|0,F5=+s[n3>>2],j=n9|13,V5=A+(j<<2)|0,v3=+s[V5>>2],u3=F5-v3,B3=J5+f3,s[E5>>2]=B3,z3=v3+F5,s[n3>>2]=z3,G3=X5*.9238795042037964,z5=u3*.3826834261417389,w3=G3-z5,s[h3>>2]=w3,W5=X5*.3826834261417389,x3=u3*.9238795042037964,U3=x3+W5,s[V5>>2]=U3,u0=n9|26,a3=A+(u0<<2)|0,l3=+s[a3>>2],b=n9|10,c3=A+(b<<2)|0,C3=+s[c3>>2],H5=l3-C3,v=n9|27,U5=A+(v<<2)|0,O5=+s[U5>>2],w=n9|11,v5=A+(w<<2)|0,M5=+s[v5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,R3=H5-o6,u6=R3*.7071067690849304,s[c3>>2]=u6,Q3=o6+H5,k3=Q3*.7071067690849304,s[v5>>2]=k3,D=n9|24,y3=A+(D<<2)|0,r6=+s[y3>>2],y=n9|8,O3=A+(y<<2)|0,K5=+s[O3>>2],S3=r6-K5,_=n9|25,g3=A+(_<<2)|0,q3=+s[g3>>2],x=n9|9,l6=A+(x<<2)|0,d3=+s[l6>>2],v6=q3-d3,k6=K5+r6,s[y3>>2]=k6,S6=d3+q3,s[g3>>2]=S6,X3=S3*.3826834261417389,c6=v6*.9238795042037964,B6=X3-c6,L6=v6*.3826834261417389,Y6=S3*.9238795042037964,C6=L6+Y6,L=n9|22,b3=A+(L<<2)|0,e6=+s[b3>>2],F=n9|6,t6=A+(F<<2)|0,f6=+s[t6>>2],D3=e6-f6,M=n9|7,Y3=A+(M<<2)|0,Z3=+s[Y3>>2],G=n9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=Z3-A6,O6=f6+e6,s[b3>>2]=O6,s3=A6+Z3,s[b6>>2]=s3,s[t6>>2]=t3,s[Y3>>2]=D3,O=n9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=A+(z<<2)|0,Q6=+s[n6>>2],x6=d6-Q6,Y=n9|5,K6=A+(Y<<2)|0,I6=+s[K6>>2],t0=n9|21,J6=A+(t0<<2)|0,F3=+s[J6>>2],j6=I6-F3,G6=Q6+d6,s[n6>>2]=G6,e9=F3+I6,s[J6>>2]=e9,R6=j6*.9238795042037964,U6=x6*.3826834261417389,D6=R6+U6,z6=j6*.3826834261417389,y6=x6*.9238795042037964,F6=z6-y6,J=n9|2,M3=A+(J<<2)|0,M6=+s[M3>>2],W=n9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],u9=M6-A9,e0=n9|3,f9=A+(e0<<2)|0,d9=+s[f9>>2],q=n9|19,a9=A+(q<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=A9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+u9,N9=i9*.7071067690849304,E4=T9-u9,o4=E4*.7071067690849304,h4=+s[B5>>2],X=n9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=n9|1,E9=A+(Z<<2)|0,q6=+s[E9>>2],K=n9|17,r9=A+(K<<2)|0,m4=+s[r9>>2],A4=q6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+q6,s[r9>>2]=b4,D4=A4*.3826834261417389,x4=b9*.9238795042037964,T4=D4+x4,X4=A4*.9238795042037964,C4=b9*.3826834261417389,N4=X4-C4,U9=N4-C6,a4=T4-B6,R4=T4+B6,u4=N4+C6,Ce=a4+U9,q9=U9-a4,m9=+s[v5>>2],pe=o4-m9,Ne=+s[c3>>2],e8=Ne-N9,U4=Ne+N9,P4=m9+o4,ee=+s[h3>>2],be=ee-D6,t8=+s[V5>>2],Z9=t8-F6,$e=ee+D6,f4=t8+F6,_6=be-Z9,O4=Z9+be,R9=+s[h5>>2],_4=R9-t3,le=+s[j2>>2],W9=le-D3,ce=t3+R9,ge=D3+le,p4=_4+pe,te=_4-pe,F4=_6+Ce,he=F4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=he+p4,s[t6>>2]=l4,Be=p4-he,s[a6>>2]=Be,B4=O4-q9,c4=B4*.7071067690849304,P6=W9-e8,De=c4+te,s[B5>>2]=De,_e=te-c4,s[M3>>2]=_e,i8=O4+q9,g4=i8*.7071067690849304,f8=W9+e8,J3=P6+Ue,s[f9>>2]=J3,w9=P6-Ue,s[E9>>2]=w9,p9=f8+g4,s[Y3>>2]=p9,M4=f8-g4,s[K6>>2]=M4,ie=ce+U4,ct=ce-U4,Le=R4+$e,gt=$e-R4,vt=ie+Le,s[h5>>2]=vt,ut=ie-Le,s[h3>>2]=ut,T8=f4-u4,N8=ge-P4,G8=ct+T8,s[O3>>2]=G8,U8=ct-T8,s[c3>>2]=U8,j8=f4+u4,X8=ge+P4,kt=N8+gt,s[v5>>2]=kt,P8=N8-gt,s[l6>>2]=P8,O8=X8+j8,s[j2>>2]=O8,k8=X8-j8,s[V5>>2]=k8,S8=+s[g3>>2],d8=b4-S8,H8=+s[y3>>2],Y8=y9-H8,et=H8+y9,tt=S8+b4,I8=Y8+d8,Pe=d8-Y8,xe=+s[a9>>2],b8=+s[U5>>2],v9=xe-b8,ft=+s[a3>>2],Qe=+s[t9>>2],dt=ft-Qe,St=Qe+ft,it=b8+xe,bt=+s[E5>>2],re=+s[n6>>2],rt=bt-re,D8=+s[n3>>2],n8=+s[J6>>2],q4=D8-n8,Re=re+bt,s8=n8+D8,E8=rt-q4,_8=q4+rt,ue=+s[t5>>2],j9=+s[b3>>2],o8=ue-j9,A8=+s[i5>>2],C8=+s[b6>>2],fe=A8-C8,ye=j9+ue,Oe=C8+A8,qe=o8+v9,X9=o8-v9,Fe=E8+I8,de=Fe*.7071067690849304,a8=E8-I8,Q4=a8*.7071067690849304,p8=de+qe,s[b3>>2]=p8,nt=qe-de,s[n6>>2]=nt,H4=_8-Pe,I3=H4*.7071067690849304,He=fe-dt,B8=I3+X9,s[G9>>2]=B8,ne=X9-I3,s[t9>>2]=ne,H9=_8+Pe,se=H9*.7071067690849304,Ye=fe+dt,V8=He+Q4,s[a9>>2]=V8,It=He-Q4,s[r9>>2]=It,st=Ye+se,s[b6>>2]=st,ot=Ye-se,s[J6>>2]=ot,K8=ye+St,At=ye-St,z8=Re+et,$8=Re-et,l8=K8+z8,s[t5>>2]=l8,Y4=K8-z8,s[E5>>2]=Y4,at=s8-tt,x8=Oe-it,Je=At+at,s[y3>>2]=Je,B9=At-at,s[a3>>2]=B9,$t=s8+tt,Ve=Oe+it,Gt=x8+$8,s[U5>>2]=Gt,Ht=x8-$8,s[g3>>2]=Ht,Dt=Ve+$t,s[i5>>2]=Dt,_t=Ve-$t,s[n3>>2]=_t,oe=n9+32|0,Ut=(oe|0)<(a|0),Ut;)n9=oe}function uQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0;for(m1=C,b=t>>1,v=a+(b<<2)|0,G=n+(t<<2)|0,n1=G,o1=A,Z0=a,I1=v;l0=e[o1>>2]|0,g=l0+b|0,j=a+(g<<2)|0,b0=o1+4|0,_0=e[b0>>2]|0,u=_0+b|0,D0=a+(u<<2)|0,E=g+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=u+1|0,w=a+(I<<2)|0,D=+s[w>>2],y=a1-D,_=+s[j>>2],x=+s[D0>>2],L=x+_,F=+s[n1>>2],M=L*F,T=n1+4|0,N=+s[T>>2],O=N*y,z=O+M,Y=N*L,t0=F*y,J=Y-t0,W=I1+-16|0,e0=D+a1,q=e0*.5,X=_-x,U=X*.5,Z=z+q,s[Z0>>2]=Z,K=q-z,$0=I1+-8|0,s[$0>>2]=K,s0=J+U,i0=Z0+4|0,s[i0>>2]=s0,n0=J-U,V=I1+-4|0,s[V>>2]=n0,h0=o1+8|0,o0=e[h0>>2]|0,m=o0+b|0,g0=a+(m<<2)|0,c0=o1+12|0,u0=e[c0>>2]|0,B=u0+b|0,I0=a+(B<<2)|0,p=m+1|0,w0=a+(p<<2)|0,C0=+s[w0>>2],S=B+1|0,v0=a+(S<<2)|0,d0=+s[v0>>2],p0=C0-d0,B0=+s[g0>>2],E0=+s[I0>>2],K0=E0+B0,L0=n1+8|0,Q0=+s[L0>>2],M0=K0*Q0,T0=n1+12|0,G0=+s[T0>>2],P0=G0*p0,y0=P0+M0,Y0=G0*K0,F0=Q0*p0,N0=Y0-F0,V0=d0+C0,J0=V0*.5,O0=B0-E0,z0=O0*.5,U0=y0+J0,q0=Z0+8|0,s[q0>>2]=U0,r1=J0-y0,s[W>>2]=r1,H0=N0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=N0-z0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,u1=o1+16|0,g1=Z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,o1=u1,Z0=g1,I1=W}function GS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0;return p=C,n=t+28|0,A=e[n>>2]|0,a=A+2868|0,g=n4(1,36)|0,u=t+4|0,E=e[u>>2]|0,I=g+4|0,e[I>>2]=E,s[g>>2]=-9999,m=g+8|0,e[m>>2]=a,g|0}function US(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function PS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function OS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,x=t+36|0,e[x>>2]=_,i2=+(_|0),j5=i2*8,u3=j5,l3=+zr(+u3),A3=l3*1.4426950408889634,g3=+qi(A3),L6=g3+-1,b6=~~L6,L=t+32|0,e[L>>2]=b6,W=+(g|0),n0=W*.25,v0=n0,G0=v0*.5,U0=+(a|0),l1=G0/U0,p1=+zr(+l1),U1=p1*1.4426950216293335,W1=U1+-5.965784072875977,l2=b6+1|0,F2=1<>2]=$5,Q5=+(a|0),q5=Q5+.25,E5=q5*W,f3=E5,h3=f3*.5,J5=h3/U0,X5=+zr(+J5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,V5=F5+.5,v3=~~V5,B3=1-$5|0,z3=B3+v3|0,G3=t+40|0,e[G3>>2]=z3,z5=a<<2,w3=S9(z5)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(z5)|0,x3=t+20|0,e[x3>>2]=i6,U3=S9(z5)|0,a3=t+24|0,e[a3>>2]=U3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=g,H5=t+48|0,s[H5>>2]=1,U5=(g|0)<26e3;do if(U5)s[H5>>2]=0;else{if(O5=(g|0)<38e3,O5){s[H5>>2]=.9399999976158142;break}v5=(g|0)>46e3,v5&&(s[H5>>2]=1.274999976158142)}while(!1);P3=U0*2,M5=+(g|0),o6=(a|0)>0,Q3=o6,z6=0,X6=0;e:for(;;){for(B=Q3^1,y6=z6;;){if(y3=y6+1|0,r6=+(y3|0),j3=r6*.08664337545633316,O3=j3+2.7488713472395148,K5=+On(+O3),S3=P3*K5,q3=S3/M5,l6=+qi(q3),d3=~~l6,m=(d3|0)<=(X6|0),K6=m|B,!K6){E=y3,I=d3,F6=y6;break}if(v6=(y3|0)<87,v6)y6=y3;else{A9=X6;break e}}for(k6=1272+(F6<<2)|0,S6=+s[k6>>2],p6=1272+(E<<2)|0,X3=+s[p6>>2],c6=X3-S6,B6=I-X6|0,Y6=+(B6|0),C6=c6/Y6,b3=X6-I|0,e6=X6-a|0,t6=b3>>>0>e6>>>0,T9=t6?b3:e6,e3=X6-T9|0,x6=S6,u9=X6;f6=x6+100,H3=w3+(u9<<2)|0,s[H3>>2]=f6,D3=x6+C6,Y3=u9+1|0,G6=(Y3|0)==(e3|0),!G6;)x6=D3,u9=Y3;if(R3=(e3|0)<(a|0),u6=(E|0)<87,u6)Q3=R3,z6=E,X6=e3;else{A9=e3;break}}if(k3=(A9|0)<(a|0),k3)for(f9=A9;N6=f9+-1|0,n6=w3+(N6<<2)|0,Q6=e[n6>>2]|0,F=w3+(f9<<2)|0,e[F>>2]=Q6,M=f9+1|0,j6=(M|0)==(a|0),!j6;)f9=M;if(Z3=(a|0)>0,Z3){for(A6=a<<1,t3=(g|0)/(A6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,_3=n+112|0,R6=1,M3=0,d9=-99;;){Y=r5(t3,M3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,q=+Zs(+e0),X=q*13.100000381469727,U=r5(Y,Y)|0,l0=+(U|0),Z=l0*18499999754340024e-24,K=Z,$0=+Zs(+K),s0=$0*2.240000009536743,i0=s0+X,V=t0*9999999747378752e-20,h0=V,o0=i0+h0,g0=o0,j=s3+d9|0,c0=(j|0)<(M3|0);e:do if(c0)for(u0=+s[_3>>2],I0=g0-u0,w0=I0,$9=d9;;){if(C0=r5($9,t3)|0,d0=+(C0|0),p0=d0*.0007399999885819852,B0=p0,E0=+Zs(+B0),b0=E0*13.100000381469727,K0=r5(C0,C0)|0,L0=+(K0|0),Q0=L0*18499999754340024e-24,M0=Q0,T0=+Zs(+M0),P0=T0*2.240000009536743,y0=d0*9999999747378752e-20,Y0=y0,F0=b0+Y0,_0=F0+P0,N0=_0(a|0);e:do if(V0)U6=R6;else for(J0=e[a6>>2]|0,O0=J0+M3|0,D6=R6;;){if(H0=(D6|0)<(O0|0),!H0&&(e1=r5(D6,t3)|0,D0=+(e1|0),i1=D0*.0007399999885819852,c1=i1,$1=+Zs(+c1),u1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,o1=+Zs(+n1),Z0=o1*2.240000009536743,I1=D0*9999999747378752e-20,h1=I1,m1=u1+h1,d1=m1+Z0,E1=+s[d6>>2],B1=E1+g0,Q1=B1,L1=d1>2]=F1,v1=M3+1|0,F3=(v1|0)==(a|0),F3)break;R6=U6,M3=v1,d9=a9}if(Z3)for(T=M5*.5,N=e[L>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){v=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(y=M5*.5,v=y),u2=n+36|0,o2=v/U0,E2=o2,A2=n+24|0,K1=+s[A2>>2],h2=n+28|0,$2=+s[h2>>2],r2=YS(u2,E2,a,K1,$2)|0,a2=t+8|0,e[a2>>2]=r2,X1=S9(12)|0,s2=t+12|0,e[s2>>2]=X1,f2=S9(z5)|0,e[X1>>2]=f2,t2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=t2,k2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=k2,!!Z3)for(C2=e[c3>>2]|0,b=e[X1>>2]|0,p=X1+4|0,w=e[p>>2]|0,S=X1+8|0,D=e[S>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,K2=d2/P3,G2=+zr(+K2),H2=G2*2.885390043258667,M2=H2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,u=e9>=16,s9=u?16:e9,o5=~~s9,T1=+(o5|0),X2=s9-T1,x5=X2,e5=1-x5,b5=o5+1|0,Z2=(C2+132|0)+(o5<<2)|0,f5=+s[Z2>>2],k5=f5,P5=k5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],n5=m5*X2,L2=n5,_2=L2+P5,p2=_2,C5=b+(t9<<2)|0,s[C5>>2]=p2,R5=(C2+200|0)+(o5<<2)|0,d5=+s[R5>>2],D5=d5,G5=D5*e5,q2=(C2+200|0)+(b5<<2)|0,I5=+s[q2>>2],A5=I5*X2,c5=A5,p5=c5+G5,M1=p5,S5=w+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,B5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,u5=J2+B5,i5=u5,L5=D+(t9<<2)|0,s[L5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function fQ(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;if(U0=C,A=(t|0)==0,!A){if(a=t+16|0,w=e[a>>2]|0,O=(w|0)==0,O||I2(w),Z=t+20|0,c0=e[Z>>2]|0,K0=(c0|0)==0,K0||I2(c0),F0=t+24|0,_0=e[F0>>2]|0,N0=(_0|0)==0,N0||I2(_0),g=t+8|0,u=e[g>>2]|0,E=(u|0)==0,!E){for(m=u,J0=0;I=m+(J0<<2)|0,B=e[I>>2]|0,p=e[B>>2]|0,I2(p),S=e[g>>2]|0,b=S+(J0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,I2(y),_=e[g>>2]|0,x=_+(J0<<2)|0,L=e[x>>2]|0,F=L+8|0,M=e[F>>2]|0,I2(M),T=e[g>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[g>>2]|0,J=t0+(J0<<2)|0,W=e[J>>2]|0,e0=W+16|0,q=e[e0>>2]|0,I2(q),X=e[g>>2]|0,U=X+(J0<<2)|0,l0=e[U>>2]|0,K=l0+20|0,$0=e[K>>2]|0,I2($0),s0=e[g>>2]|0,i0=s0+(J0<<2)|0,n0=e[i0>>2]|0,V=n0+24|0,h0=e[V>>2]|0,I2(h0),o0=e[g>>2]|0,g0=o0+(J0<<2)|0,j=e[g0>>2]|0,u0=j+28|0,I0=e[u0>>2]|0,I2(I0),w0=e[g>>2]|0,C0=w0+(J0<<2)|0,v0=e[C0>>2]|0,I2(v0),d0=J0+1|0,V0=(d0|0)==17,!V0;)n=e[g>>2]|0,m=n,J0=d0;p0=e[g>>2]|0,I2(p0)}B0=t+12|0,E0=e[B0>>2]|0,b0=(E0|0)==0,b0||(L0=e[E0>>2]|0,I2(L0),Q0=e[B0>>2]|0,M0=Q0+4|0,T0=e[M0>>2]|0,I2(T0),G0=e[B0>>2]|0,P0=G0+8|0,y0=e[P0>>2]|0,I2(y0),Y0=e[B0>>2]|0,I2(Y0)),O0=t,q0=O0+52|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(q0|0))}}function dQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,u=I,x=C,C=C+((1*u|0)+15&-16)|0,J=t+24|0,$0=e[J>>2]|0,EQ(E,$0,n,A,140,-1),s0=(E|0)>0,s0)for(c0=0;i0=n+(c0<<2)|0,n0=+s[i0>>2],V=A+(c0<<2)|0,h0=+s[V>>2],m=n0-h0,B=x+(c0<<2)|0,s[B>>2]=m,p=c0+1|0,g0=(p|0)==(E|0),!g0;)c0=p;if(S=e[J>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,EQ(E,S,x,A,0,D),s0)u0=0;else{C=C0;return}for(;_=n+(u0<<2)|0,L=+s[_>>2],F=x+(u0<<2)|0,M=+s[F>>2],T=L-M,s[F>>2]=T,N=u0+1|0,j=(N|0)==(E|0),!j;)u0=N;if(!s0){C=C0;return}for(y=e[b>>2]|0,I0=0;G=A+(I0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,g=e0?0:a,q=x+(I0<<2)|0,X=+s[q>>2],U=(y+336|0)+(g<<2)|0,l0=+s[U>>2],Z=l0+X,s[G>>2]=Z,K=I0+1|0,o0=(K|0)==(E|0),!o0;)I0=K;C=C0}function IQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=+a,g=+g;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,p1=l1<<2,I=p1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,i2=e[W1>>2]|0,C2=i2+4|0,o5=+s[C2>>2],l5=o5+g,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,g0=A5+1|0,E0=(g0|0)<(l1|0),E0;)A5=g0;if(F0=i2+8|0,e1=+s[F0>>2],c1=l50,$1){for(u1=t+16|0,g1=e[u1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=n1,Z0=g5+1|0,q2=(Z0|0)==(M|0),!q2;)g5=Z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=i2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(B1=t+20|0,Q1=e[B1>>2]|0,L1=t+32|0,x1=t+36|0,w1=t+28|0,c5=0;;){b1=n+(c5<<2)|0,R1=+s[b1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=R1;e:for(;;)for(p5=S5;;){if(v1=p5+1|0,Z1=(v1|0)<(M|0),!Z1){S=0,v=v1,M1=p5,h5=s5;break e}if(N1=Q1+(v1<<2)|0,_1=e[N1>>2]|0,V1=(_1|0)==(G1|0),!V1){S=1,v=v1,M1=p5,h5=s5;break e}if(O1=n+(v1<<2)|0,q1=+s[O1>>2],H1=q1>s5,H1){S5=v1,s5=q1;continue e}else p5=v1}if(Y1=h5+6,j1=A+(M1<<2)|0,n2=+s[j1>>2],P1=Y1>n2,P1&&(c2=e[L1>>2]|0,z1=G1>>c2,u2=(z1|0)>16,E=u2?16:z1,o2=(E|0)<0,u=o2?0:E,E2=h1+(u<<2)|0,A2=e[E2>>2]|0,K1=e[x1>>2]|0,h2=E1+h5,$2=h2,l2=$2+-30,r2=l2*.10000000149011612,a2=~~r2,X1=(a2|0)<0,s2=X1?0:a2,f2=(s2|0)>7,t2=f2?7:s2,y2=A2+(t2<<2)|0,k2=e[y2>>2]|0,w2=k2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[k2>>2],d2=~~N2,K2=(d2|0)<(D2|0),K2))for(G2=Q1+(M1<<2)|0,H2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=H2-M2|0,z2=+(P2|0),O2=K1>>1,T1=+(O2|0),X2=N2+-16,x5=+(K1|0),e5=X2*x5,b5=e5-T1,Z2=b5+z2,f5=~~Z2,I5=d2,q5=f5;k5=(q5|0)>0,k5&&(F=I5+2|0,P5=k2+(F<<2)|0,v2=+s[P5>>2],m5=v2+h5,n5=U1+(q5<<2)|0,L2=+s[n5>>2],_2=L2>2]=m5)),p2=q5+K1|0,C5=(p2|0)<(l1|0),R5=I5+1|0,d5=(R5|0)<(D2|0),$5=d5&C5,$5;)I5=R5,q5=p2;if(S)c5=v;else{x=x1;break}}else j5=7}else j5=7;(j5|0)==7&&(y=t+36|0,x=y),D5=e[x>>2]|0,JS(U1,D5,l1),G=e[t>>2]|0,O=(G|0)>1;e:do if(O)for(z=t+20|0,Y=t+28|0,t0=e[z>>2]|0,J=e[t0>>2]|0,W=D5>>1,e0=J-W|0,q=e[Y>>2]|0,X=e0-q|0,l0=e[W1>>2]|0,Z=l0+32|0,V=1,j=J,W2=0,x2=X;;){s0=U1+(x2<<2)|0,i0=+s[s0>>2],n0=t0+(V<<2)|0,h0=e[n0>>2]|0,o0=h0+j|0,c0=o0>>1,u0=c0-q|0,I0=+s[Z>>2],w0=i0>I0,J2=w0?I0:i0,C0=(x2|0)<(u0|0);t:do if(C0)for(m=x2,i5=J2;;){for(v0=i5==-9999,B=m;;){if(d0=B+1|0,p0=U1+(d0<<2)|0,B0=+s[p0>>2],b0=B0>-9999,b0){if(K0=B0=(G|0),G0=(j|0)>(M0|0),L5=T0|G0;t:do if(L5)g2=W2;else for(B5=W2;;){if(P0=A+(B5<<2)|0,y0=+s[P0>>2],Y0=y0>2]=u5),_0=B5+1|0,N0=(_0|0)<(G|0),!N0){g2=_0;break t}if(D=t0+(_0<<2)|0,L=e[D>>2]|0,V0=(L|0)>(M0|0),V0){g2=_0;break}else B5=_0}while(!1);if(K=g2+1|0,$0=(K|0)<(G|0),!$0){a5=g2;break e}w=t0+(g2<<2)|0,_=e[w>>2]|0,V=K,j=_,W2=g2,x2=Q5}else a5=0;while(!1);if(J0=e[T>>2]|0,O0=J0+-1|0,z0=U1+(O0<<2)|0,U0=+s[z0>>2],q0=(a5|0)<(G|0),q0)t5=a5;else{C=E5;return}for(;r1=A+(t5<<2)|0,H0=+s[r1>>2],D0=H0>2]=U0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function el(t,n,A,a,g,u,E){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0;var I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0;if(L0=C,m=e[t>>2]|0,B=t+4|0,F=e[B>>2]|0,e0=(F+12|0)+(a<<2)|0,V=+s[e0>>2],I0=(m|0)>0,!!I0)for(w0=t+48|0,C0=+s[w0>>2],v0=t+12|0,d0=e[v0>>2]|0,p=d0+(a<<2)|0,S=e[p>>2]|0,b=F+108|0,v=(a|0)==1,w=C0,D=w*.005,y=w*3e-4,E0=0;_=n+(E0<<2)|0,x=+s[_>>2],L=S+(E0<<2)|0,M=+s[L>>2],T=M+x,N=+s[b>>2],G=T>N,b0=G?N:T,O=A+(E0<<2)|0,z=+s[O>>2],Y=z+V,t0=b0>2]=I,v&&(W=E+(E0<<2)|0,q=+s[W>>2],X=b0-q,U=X>-17.200000762939453,l0=X+17.200000762939453,Z=l0,U?(K=D*Z,$0=1-K,s0=$0,i0=s0<0,i0?p0=9999999747378752e-20:p0=s0):(n0=y*Z,h0=1-n0,o0=h0,p0=o0),g0=u+(E0<<2)|0,j=+s[g0>>2],c0=j*p0,s[g0>>2]=c0),u0=E0+1|0,B0=(u0|0)==(m|0),!B0;)E0=u0}function qS(t,n){t=+t,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0;return N=C,a=n+4|0,g=e[a>>2]|0,w=g+28|0,D=e[w>>2]|0,y=n+40|0,_=e[y>>2]|0,x=D+(_<<2)|0,L=e[x>>2]|0,F=(L|0)/2&-1,M=+(F|0),u=g+8|0,E=e[u>>2]|0,I=+(E|0),m=M/I,B=D+2936|0,p=+s[B>>2],S=p*m,b=S+t,v=b<-9999,A=v?-9999:b,+A}function HS(t,n,A,a,g,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0;var B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0;if(G4=C,s0=e[A>>2]|0,i0=A+4|0,o5=e[i0>>2]|0,z3=o5+500|0,C3=e[z3>>2]|0,u6=(C3|0)==0,u6?V5=16:(l6=o5+508|0,C6=e[l6>>2]|0,V5=C6),t3=e[o5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,n0=e[I6>>2]|0,v0=(n+252|0)+(t<<2)|0,G0=e[v0>>2]|0,U0=1624+(G0<<3)|0,l1=+A1[U0>>3],p1=(n+312|0)+(t<<2)|0,U1=e[p1>>2]|0,W1=m<<2,S=W1,i2=C,C=C+((1*S|0)+15&-16)|0,b=W1,C2=C,C=C+((1*b|0)+15&-16)|0,y=W1,O2=C,C=C+((1*y|0)+15&-16)|0,_=W1,v2=C,C=C+((1*_|0)+15&-16)|0,x=W1,_5=C,C=C+((1*x|0)+15&-16)|0,g2=a+1156|0,x2=(s0|0)>1e3,N4=x2?1696:1624,T4=N4+(U1<<3)|0,x4=+A1[T4>>3],F5=r5(W1,V5)|0,L=F5,v3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=v3,v=F5,u3=C,C=C+((1*v|0)+15&-16)|0,e[C2>>2]=u3,w=F5,B3=C,C=C+((1*w|0)+15&-16)|0,e[O2>>2]=B3,D=F5,G3=C,C=C+((1*D|0)+15&-16)|0,e[v2>>2]=G3,z5=(m|0)>1,z5&&(w3=v3+(V5<<2)|0,W5=i2+4|0,e[W5>>2]=w3,i6=u3+(V5<<2)|0,x3=C2+4|0,e[x3>>2]=i6,U3=B3+(V5<<2)|0,a3=O2+4|0,e[a3>>2]=U3,l3=G3+(V5<<2)|0,c3=v2+4|0,e[c3>>2]=l3,u9=(m|0)==2,!u9))for(v5=2;M=e[i2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[v2>>2]|0,O5=r5(v5,V5)|0,P3=M+(O5<<2)|0,M5=i2+(v5<<2)|0,e[M5>>2]=P3,o6=G+(O5<<2)|0,e3=C2+(v5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,R3=O2+(v5<<2)|0,e[R3>>2]=A3,Q3=z+(O5<<2)|0,k3=v2+(v5<<2)|0,e[k3>>2]=Q3,y3=v5+1|0,X6=(y3|0)==(m|0),!X6;)v5=y3;if(H5=e[g2>>2]|0,U5=(s0|0)>0,U5)for(r6=e[v2>>2]|0,j3=(m|0)>0,O3=s0^-1,K5=V5^-1,T6=0,I9=O3;;){if(q3=(I9|0)>(K5|0),X4=q3?I9:K5,d3=X4^-1,v6=s0-T6|0,k6=(V5|0)>(v6|0),B=k6?v6:V5,s4(_5|0,E|0,W1|0)|0,ae(r6|0,0,F5|0)|0,j3)for(S6=(B|0)>0,p6=n0-T6|0,r9=0;;){if(b3=u+(r9<<2)|0,e6=e[b3>>2]|0,t6=e6+(T6<<2)|0,f6=_5+(r9<<2)|0,H3=e[f6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(b6=O2+(r9<<2)|0,A6=e[b6>>2]|0,O6=i2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,_3=v2+(r9<<2)|0,N6=e[_3>>2]|0,E9=0;N0=A6+(E9<<2)|0,s[N0>>2]=1000000013351432e-25,V0=s3+(E9<<2)|0,s[V0>>2]=0,J0=d6+(E9<<2)|0,s[J0>>2]=0,O0=N6+(E9<<2)|0,e[O0>>2]=0,U=E9+T6|0,z0=e6+(U<<2)|0,e[z0>>2]=0,q0=E9+1|0,M6=(q0|0)==(d3|0),!M6;)E9=q0}else{if(Y3=O2+(r9<<2)|0,Z3=e[Y3>>2]|0,S6){for(z9=0;l0=z9+T6|0,n6=e6+(l0<<2)|0,Q6=e[n6>>2]|0,x6=1768+(Q6<<2)|0,K6=e[x6>>2]|0,J6=Z3+(z9<<2)|0,e[J6>>2]=K6,F3=z9+1|0,y6=(F3|0)==(d3|0),!y6;)z9=F3;if(j6=g+(r9<<2)|0,G6=e[j6>>2]|0,e9=v2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;R6=(G9|0)>=(p6|0),$0=R6?x4:l1,U6=$0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+Wi(+z6),V=Z3+(G9<<2)|0,h0=+s[V>>2],o0=d9/h0,g0=s9+(G9<<2)|0,y9=!(o0>2]=p,j=G9+1|0,F6=(j|0)==(B|0),!F6;)G9=j;if(S6)for(c0=i2+(r9<<2)|0,u0=e[c0>>2]|0,I0=C2+(r9<<2)|0,w0=e[I0>>2]|0,b9=0;;)if(C0=b9+T6|0,d0=G6+(C0<<2)|0,p0=+s[d0>>2],B0=p0*p0,E0=u0+(b9<<2)|0,s[E0>>2]=B0,b0=w0+(b9<<2)|0,s[b0>>2]=B0,K0=+s[d0>>2],L0=K0<0,L0&&(Q0=+s[E0>>2],M0=-Q0,s[E0>>2]=M0),T0=Z3+(b9<<2)|0,P0=+s[T0>>2],y0=P0*P0,s[T0>>2]=y0,Y0=b9+1|0,M3=(Y0|0)==(d3|0),M3){T=I0,_0=u0;break}else b9=Y0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=i2+(r9<<2)|0,Y=e[F>>2]|0,q=C2+(r9<<2)|0,T=q,_0=Y),F0=e[T>>2]|0,b4=e[i0>>2]|0,+mQ(b4,n0,_0,F0,Z3,0,T6,B,t6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(X3=e[g2>>2]|0,c6=(X3|0)>0,c6)for(B6=(B|0)>0,L6=I-T6|0,Y6=n0-T6|0,m3=X3,C4=0;;){if(H0=(a+1160|0)+(C4<<2)|0,e1=e[H0>>2]|0,D0=(a+2184|0)+(C4<<2)|0,i1=e[D0>>2]|0,c1=u+(e1<<2)|0,$1=e[c1>>2]|0,u1=$1+(T6<<2)|0,g1=u+(i1<<2)|0,s1=e[g1>>2]|0,a1=i2+(e1<<2)|0,n1=e[a1>>2]|0,o1=i2+(i1<<2)|0,Z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,B1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,L1=e[Q1>>2]|0,x1=v2+(e1<<2)|0,w1=e[x1>>2]|0,b1=v2+(i1<<2)|0,R1=e[b1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,v1=(G1|0)==0,Z1=_5+(i1<<2)|0,v1?(N1=e[Z1>>2]|0,_1=(N1|0)==0,_1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,B6)for(q6=0;;){V1=(q6|0)<(L6|0);do if(V1){if(O1=w1+(q6<<2)|0,q1=e[O1>>2]|0,H1=(q1|0)==0,Y1=R1+(q6<<2)|0,H1&&(j1=e[Y1>>2]|0,n2=(j1|0)==0,n2)){e5=(q6|0)<(Y6|0);do if(e5)b5=Z0+(q6<<2)|0,Z2=+s[b5>>2],f5=n1+(q6<<2)|0,k5=+s[f5>>2],P5=k5+Z2,s[f5>>2]=P5,$9=+Wi(+P5),l5=h1+(q6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=n1+(q6<<2)|0,n5=+s[m5>>2],L2=Z0+(q6<<2)|0,_2=+s[L2>>2],p2=_2+n5,C5=p2<0,f9=+Wi(+n5),a9=+Wi(+_2),R5=a9+f9,d5=h1+(q6<<2)|0,s[d5>>2]=R5,C5){D5=-R5,s[m5>>2]=D5,N=L2;break}else{s[m5>>2]=R5,N=L2;break}while(!1);G5=d1+(q6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=q6+T6|0,q2=s1+(X<<2)|0,e[q2>>2]=0;break}P1=n1+(q6<<2)|0,c2=+s[P1>>2],T9=+Wi(+c2),z1=Z0+(q6<<2)|0,u2=+s[z1>>2],E6=+Wi(+u2),o2=E6+T9,s[P1>>2]=o2,E2=h1+(q6<<2)|0,A2=+s[E2>>2],K1=d1+(q6<<2)|0,h2=+s[K1>>2],$2=h2+A2,s[E2>>2]=$2,e[Y1>>2]=1,e[O1>>2]=1,K=q6+T6|0,l2=$1+(K<<2)|0,r2=e[l2>>2]|0,a2=s1+(K<<2)|0,X1=e[a2>>2]|0,E4=(r2|0)>-1,m4=0-r2|0,s2=E4?r2:m4,o4=(X1|0)>-1,A4=0-X1|0,f2=o4?X1:A4,t2=(s2|0)>(f2|0),t2?(y2=(r2|0)>0,k2=r2-X1|0,w2=X1-r2|0,F2=y2?k2:w2,e[a2>>2]=F2,J=e[l2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=r2-X1|0,d2=X1-r2|0,K2=D2?N2:d2,e[a2>>2]=K2,e[l2>>2]=X1,t0=e[a2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,H2=h4?G2:S4,M2=H2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[a2>>2]=T1,X2=e[l2>>2]|0,x5=0-X2|0,e[l2>>2]=x5)}while(!1);if(I5=B1+(q6<<2)|0,A5=+s[I5>>2],c5=L1+(q6<<2)|0,p5=+s[c5>>2],M1=p5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=q6+1|0,A9=(S5|0)==(d3|0),A9)break;q6=S5}D4=e[i0>>2]|0,+mQ(D4,n0,n1,h1,B1,w1,T6,B,u1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=X3;if(B5=T6+V5|0,t5=(s0|0)>(B5|0),N9=I9+V5|0,t5)T6=B5,I9=N9;else{S3=n3;break}}else S3=H5;if(g3=(S3|0)>0,g3)X5=S3,i9=0;else{C=G4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,u5=e[J2>>2]|0,i5=(u5|0)==0,L5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[L5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,q5=(Q5|0)==0,q5?J5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[L5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,J5=e0),f3=i9+1|0,h3=(f3|0)<(J5|0),h3;)X5=J5,i9=f3;C=G4}function YS(t,n,A,a,g){t=t|0,n=+n,A=A|0,a=+a,g=+g;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,e8=0,U4=0,Ge=0,P4=0,ee=0,be=0,t8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,i8=0,g4=0,v4=0,f8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,d8=0,H8=0,Y8=0,et=0,tt=0,I8=0,Pe=0,xe=0,r8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,n8=0,q4=0,Re=0,s8=0,E8=0,_8=0,ue=0,j9=0,o8=0,m8=0,A8=0,C8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,a8=0,we=0,Q4=0,p8=0,nt=0,H4=0,I3=0,He=0,B8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,$8=0,l8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0;for(Ve=C,C=C+32480|0,J3=Ve+32256|0,B9=Ve+1792|0,w9=Ve,L=A<<2,b=L,F=C,C=C+((1*b|0)+15&-16)|0,r2=S9(68)|0,ae(B9|0,0,30464)|0,S3=a>0,o4=a<0,v9=0;;){for(le=v9<<2,re=0;n5=re+le|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,q5=+s[t5>>2],H9=q5):H9=-30,v3=n5+1|0,a3=(v3|0)<88,a3?(R6=1272+(v3<<2)|0,U6=+s[R6>>2],z6=H9>U6,z6?se=U6:se=H9):(s9=H9>-30,s9?se=-30:se=H9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=se>t9,A9?D9=t9:D9=se):(M3=se>-30,M3?D9=-30:D9=se),X6=n5+3|0,u9=(X6|0)<88,u9?(a9=1272+(X6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(f9=D9>-30,f9?Ye=-30:Ye=D9),E6=J3+(re<<2)|0,s[E6>>2]=Ye,T6=re+1|0,G8=(T6|0)==56,!G8;)re=T6;if(l4=(B9+(v9*1792|0)|0)+448|0,M=2792+(v9*1344|0)|0,s4(l4|0,M|0,224)|0,q=(B9+(v9*1792|0)|0)+672|0,h0=(2792+(v9*1344|0)|0)+224|0,s4(q|0,h0|0,224)|0,p0=(B9+(v9*1792|0)|0)+896|0,y0=(2792+(v9*1344|0)|0)+448|0,s4(p0|0,y0|0,224)|0,r1=(B9+(v9*1792|0)|0)+1120|0,a1=(2792+(v9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(B9+(v9*1792|0)|0)+1344|0,N1=(2792+(v9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(B9+(v9*1792|0)|0)+1568|0,a2=(2792+(v9*1344|0)|0)+1120|0,s4(c2|0,a2|0,224)|0,N2=B9+(v9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(B9+(v9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,S3)for(n8=0;;){if(o4)for(m8=0;h4=16-m8|0,St=(h4|0)>-1,ot=0-h4|0,G9=St?h4:ot,z9=+(G9|0),b9=z9*g,E9=b9+a,q6=E9<0,I=q6?0:E9,r9=I>0,u=r9?0:I,m4=((B9+(v9*1792|0)|0)+(n8*224|0)|0)+(m8<<2)|0,S4=+s[m4>>2],A4=S4+u,s[m4>>2]=A4,b4=m8+1|0,q8=(b4|0)==56,!q8;)m8=b4;else for(A8=0;g3=16-A8|0,it=(g3|0)>-1,K8=0-g3|0,L6=it?g3:K8,b6=+(L6|0),x6=b6*g,D6=x6+a,d9=D6<0,m=d9?0:D6,i9=((B9+(v9*1792|0)|0)+(n8*224|0)|0)+(A8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=A8+1|0,O8=(E4|0)==56,!O8;)A8=E4;if(e3=n8+1|0,k8=(e3|0)==8,k8)break;n8=e3}else for(D8=0;;){if(o4)for(C8=0;X4=16-C8|0,bt=(X4|0)>-1,At=0-X4|0,C4=bt?X4:At,N4=+(C4|0),U9=N4*g,G4=U9+a,a4=G4>0,E=a4?0:G4,u4=((B9+(v9*1792|0)|0)+(D8*224|0)|0)+(C8<<2)|0,Ce=+s[u4>>2],q9=Ce+E,s[u4>>2]=q9,m9=C8+1|0,j8=(m9|0)==56,!j8;)C8=m9;else for(o8=0;pe=16-o8|0,dt=(pe|0)>-1,st=0-pe|0,Ne=dt?pe:st,e8=+(Ne|0),U4=e8*g,Ge=U4+a,P4=((B9+(v9*1792|0)|0)+(D8*224|0)|0)+(o8<<2)|0,be=+s[P4>>2],t8=be+Ge,s[P4>>2]=t8,Z9=o8+1|0,U8=(Z9|0)==56,!U8;)o8=Z9;if($e=D8+1|0,X8=($e|0)==8,X8)break;D8=$e}for(D4=t+(v9<<2)|0,x4=+s[D4>>2],T4=x4,q4=0;;){for(f4=(q4|0)<2,_6=+(q4|0),v=_6*10,w=70-v,O4=f4?50:w,R9=O4+T4,$4=R9,I8=0;_4=((B9+(v9*1792|0)|0)+(q4*224|0)|0)+(I8<<2)|0,W9=+s[_4>>2],ce=W9+$4,s[_4>>2]=ce,ge=I8+1|0,M4=(ge|0)==56,!M4;)I8=ge;for(p4=w9+(q4*224|0)|0,s4(p4|0,J3|0,224)|0,te=+(q4|0),F4=te*10,he=70-F4,b8=0;;)if(C9=(w9+(q4*224|0)|0)+(b8<<2)|0,g6=+s[C9>>2],Ue=he+g6,s[C9>>2]=Ue,Be=b8+1|0,gt=(Be|0)==56,gt){r8=0;break}else b8=Be;for(;B4=((B9+(v9*1792|0)|0)+(q4*224|0)|0)+(r8<<2)|0,c4=+s[B4>>2],P6=(w9+(q4*224|0)|0)+(r8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),i8=r8+1|0,Le=(i8|0)==56,!Le;)r8=i8;if(g4=q4+1|0,kt=(g4|0)==8,kt){Re=1;break}else q4=g4}for(;;){for(v4=Re+-1|0,xe=0;;)if(f8=(w9+(v4*224|0)|0)+(xe<<2)|0,T=+s[f8>>2],N=(w9+(Re*224|0)|0)+(xe<<2)|0,G=+s[N>>2],O=T>2]=T),z=xe+1|0,ct=(z|0)==56,ct){Pe=0;break}else xe=z;for(;Y=(w9+(Re*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((B9+(v9*1792|0)|0)+(Re*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,ie=(X|0)==56,!ie;)Pe=X;if(U=Re+1|0,P8=(U|0)==8,P8)break;Re=U}if(l0=v9+1|0,S8=(l0|0)==17,S8)break;v9=l0}for(y9=n,R4=(A|0)>0,ee=A^-1,Qe=0;;){for(Z=S9(32)|0,K=r2+(Qe<<2)|0,e[K>>2]=Z,$0=+(Qe|0),s0=$0*.5,i0=$0*.34657350182533264,n0=i0+4.135165354540845,V=+On(+n0),o0=V/y9,g0=+WA(+o0),j=~~g0,c0=+(j|0),u0=c0*n,I0=u0+1,w0=I0,C0=+zr(+w0),v0=C0*2.885390043258667,d0=v0+-11.931568145751953,B0=+cp(+d0),E0=~~B0,b0=j+1|0,K0=+(b0|0),L0=K0*n,Q0=L0,M0=+zr(+Q0),T0=M0*2.885390043258667,G0=T0+-11.931568145751953,P0=+WA(+G0),Y0=~~P0,F0=(E0|0)>(Qe|0),ft=F0?Qe:E0,_0=(ft|0)<0,B8=_0?0:ft,N0=(Y0|0)>16,B=N0?16:Y0,V0=(B8|0)>(B|0),J0=Qe+1|0,O0=(J0|0)<17,z0=s0+3.9657840728759766,ne=0;;){if(U0=S9(232)|0,q0=Z+(ne<<2)|0,e[q0>>2]=U0,R4)for(s8=0;H0=F+(s8<<2)|0,s[H0>>2]=999,e1=s8+1|0,p9=(e1|0)==(A|0),!p9;)s8=e1;if(!V0)for(fe=B8;;){for(D0=+(fe|0),i1=D0*.5,E8=0,ye=0;;){if(g1=+(E8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,o1=n1*.6931470036506653,Z0=+On(+o1),I1=Z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+On(+d1),p1=E1/y9,B1=p1+1,L1=~~B1,x1=(h1|0)<0,p=x1?0:h1,w1=(p|0)>(A|0),nt=w1?A:p,b1=(nt|0)<(ye|0),H4=b1?nt:ye,R1=(L1|0)<0,et=R1?0:L1,F1=(et|0)>(A|0),V8=F1?A:et,G1=(H4|0)<(V8|0),v1=(H4|0)<(A|0),z8=G1&v1,z8)for(U1=((B9+(fe*1792|0)|0)+(ne*224|0)|0)+(E8<<2)|0,Z1=+s[U1>>2],_1=(ye|0)<(A|0),V1=_1?ye:A,O1=V1^-1,q1=(h1|0)>0,_=h1^-1,H1=q1?_:-1,Y1=(H1|0)<(O1|0),Y4=Y1?O1:H1,j1=Y4^-1,n2=(L1|0)>0,x=L1^-1,W1=n2?x:-1,P1=(W1|0)<(ee|0),at=P1?ee:W1,z1=at-Y4|0,u2=Y4+A|0,o2=u2^-1,E2=z1>>>0>o2>>>0,x8=E2?z1:o2,A2=j1-x8|0,X9=H4;;)if(K1=F+(X9<<2)|0,h2=+s[K1>>2],$2=h2>Z1,$2&&(s[K1>>2]=Z1),i2=X9+1|0,d8=(i2|0)==(A2|0),d8){Oe=A2;break}else X9=i2;else Oe=H4;if(l2=E8+1|0,H8=(l2|0)==56,H8){qe=Oe;break}else E8=l2,ye=Oe}if(c1=(qe|0)<(A|0),c1)for($1=((B9+(fe*1792|0)|0)+(ne*224|0)|0)+220|0,u1=+s[$1>>2],Fe=qe;X1=F+(Fe<<2)|0,s2=+s[X1>>2],f2=s2>u1,f2&&(s[X1>>2]=u1),t2=Fe+1|0,Y8=(t2|0)==(A|0),!Y8;)Fe=t2;if(y2=fe+1|0,k2=(fe|0)<(B|0),k2)fe=y2;else break}if(O0){for(_8=0,de=0;;){if(G2=+(_8|0),H2=G2*.125,M2=H2+s0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+On(+z2),O2=o5/y9,T1=~~O2,x5=M2+4.028284072875977,e5=x5*.6931470036506653,b5=+On(+e5),Z2=b5/y9,f5=Z2+1,k5=~~f5,P5=(T1|0)<0,S=P5?0:T1,l5=(S|0)>(A|0),I3=l5?A:S,v2=(I3|0)<(de|0),He=v2?I3:de,m5=(k5|0)<0,tt=m5?0:k5,L2=(tt|0)>(A|0),It=L2?A:tt,_2=(He|0)<(It|0),p2=(He|0)<(A|0),$8=_2&p2,$8)for(C5=((B9+(J0*1792|0)|0)+(ne*224|0)|0)+(_8<<2)|0,R5=+s[C5>>2],d5=(de|0)<(A|0),D5=d5?de:A,G5=D5^-1,_5=(T1|0)>0,D=T1^-1,q2=_5?D:-1,A5=(q2|0)<(G5|0),l8=A5?G5:q2,c5=l8^-1,p5=(k5|0)>0,y=k5^-1,M1=p5?y:-1,S5=(M1|0)<(ee|0),L8=S5?ee:M1,g5=L8-l8|0,a5=l8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,B5=c5-Je|0,Q4=He;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>R5,J2&&(s[s5>>2]=R5),u5=Q4+1|0,vt=(u5|0)==(B5|0),vt){a8=B5;break}else Q4=u5;else a8=He;if(i5=_8+1|0,W8=(i5|0)==56,W8){we=a8;break}else _8=i5,de=a8}if(D2=(we|0)<(A|0),D2)for(d2=((B9+(J0*1792|0)|0)+(ne*224|0)|0)+220|0,K2=+s[d2>>2],p8=we;L5=F+(p8<<2)|0,j2=+s[L5>>2],$5=j2>K2,$5&&(s[L5>>2]=K2),x2=p8+1|0,ht=(x2|0)==(A|0),!ht;)p8=x2}for(w2=Z+(ne<<2)|0,C2=Z+(ne<<2)|0,F2=Z+(ne<<2)|0,ue=0;;){f3=+(ue|0),h3=f3*.125,J5=z0+h3,X5=J5*.6931470036506653,n3=+On(+X5),m3=n3/y9,F5=~~m3,V5=(F5|0)<0;do if(V5)u3=ue+2|0,B3=e[w2>>2]|0,z3=B3+(u3<<2)|0,s[z3>>2]=-999;else if(G3=(F5|0)<(A|0),G3){i6=F+(F5<<2)|0,x3=e[i6>>2]|0,U3=ue+2|0,l3=e[C2>>2]|0,c3=l3+(U3<<2)|0,e[c3>>2]=x3;break}else{z5=ue+2|0,w3=e[F2>>2]|0,W5=w3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(C3=ue+1|0,ut=(C3|0)==56,ut)break;ue=C3}Q5=U0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(H5=U0+12|0,U5=+s[H5>>2],O5=U5>-200,O5)j9=1;else if(y3=U0+16|0,r6=+s[y3>>2],j3=r6>-200,j3)j9=2;else if(O3=U0+20|0,K5=+s[O3>>2],q3=K5>-200,q3)j9=3;else if(l6=U0+24|0,d3=+s[l6>>2],v6=d3>-200,v6)j9=4;else if(k6=U0+28|0,S6=+s[k6>>2],p6=S6>-200,p6)j9=5;else if(X3=U0+32|0,c6=+s[X3>>2],B6=c6>-200,B6)j9=6;else if(Y6=U0+36|0,C6=+s[Y6>>2],b3=C6>-200,b3)j9=7;else if(e6=U0+40|0,t6=+s[e6>>2],f6=t6>-200,f6)j9=8;else if(H3=U0+44|0,D3=+s[H3>>2],Y3=D3>-200,Y3)j9=9;else if(Z3=U0+48|0,A6=+s[Z3>>2],t3=A6>-200,t3)j9=10;else if(O6=U0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=U0+56|0,_3=+s[d6>>2],N6=_3>-200,N6)j9=12;else if(n6=U0+60|0,Q6=+s[n6>>2],K6=Q6>-200,K6)j9=13;else{if(I6=U0+64|0,J6=+s[I6>>2],F3=J6>-200,F3){j9=14;break}if(j6=U0+68|0,G6=+s[j6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[U0>>2]=j9,J8=55;;){if(v5=J8+2|0,P3=U0+(v5<<2)|0,M5=+s[P3>>2],o6=M5>-200,o6){rt=J8;break}if(A3=J8+-1|0,R3=(A3|0)>17,R3)J8=A3;else{rt=A3;break}}if(u6=+(rt|0),Q3=U0+4|0,s[Q3>>2]=u6,k3=ne+1|0,T8=(k3|0)==8,T8)break;ne=k3}if(N8=(J0|0)==17,N8)break;Qe=J0}return C=Ve,r2|0}function EQ(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=+g,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,v=t<<2,E=v,w=C,C=C+((1*E|0)+15&-16)|0,I=v,A2=C,C=C+((1*I|0)+15&-16)|0,m=v,j2=C,C=C+((1*m|0)+15&-16)|0,B=v,n3=C,C=C+((1*B|0)+15&-16)|0,p=v,W5=C,C=C+((1*p|0)+15&-16)|0,v5=+s[A>>2],r6=v5+g,S6=r6<1,A4=S6?1:r6,f6=A4*A4,D=f6*.5,z=D*A4,s[w>>2]=D,s[A2>>2]=D,s[j2>>2]=0,s[n3>>2]=z,s[W5>>2]=0,K=(t|0)>1,K)for(M3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=A+(M3<<2)|0,h1=+s[c1>>2],R1=h1+g,H1=R1<1,y9=H1?1:R1,K1=y9*y9,y2=K1+E6,M2=K1*E4,f5=M2+T6,R5=M2*E4,S5=R5+i9,J2=K1*y9,u5=J2+I9,i5=M2*y9,L5=i5+N9,$5=w+(M3<<2)|0,s[$5>>2]=y2,x2=A2+(M3<<2)|0,s[x2>>2]=f5,Q5=j2+(M3<<2)|0,s[Q5>>2]=S5,q5=n3+(M3<<2)|0,s[q5>>2]=u5,j5=W5+(M3<<2)|0,s[j5>>2]=L5,E5=M3+1|0,f3=E4+1,F6=(E5|0)==(t|0),!F6;)M3=E5,E6=y2,T6=f5,i9=S5,N9=L5,I9=u5,E4=f3;if(u0=e[n>>2]|0,L0=u0>>16,V0=(L0|0)>-1,V0)J5=u0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=u0,B3=L0,t9=0,h4=0;;)if(m3=F5&65535,V5=w+(m3<<2)|0,v3=+s[V5>>2],u3=0-B3|0,z3=w+(u3<<2)|0,G3=+s[z3>>2],z5=G3+v3,w3=A2+(m3<<2)|0,i6=+s[w3>>2],x3=A2+(u3<<2)|0,U3=+s[x3>>2],a3=i6-U3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(u3<<2)|0,H5=+s[C3>>2],U5=H5+c3,O5=n3+(m3<<2)|0,P3=+s[O5>>2],M5=n3+(u3<<2)|0,o6=+s[M5>>2],e3=o6+P3,A3=W5+(m3<<2)|0,R3=+s[A3>>2],u6=W5+(u3<<2)|0,Q3=+s[u6>>2],k3=R3-Q3,y3=e3*U5,j3=k3*a3,O3=y3-j3,K5=k3*z5,S3=e3*a3,g3=K5-S3,q3=U5*z5,l6=a3*a3,d3=q3-l6,v6=g3*h4,k6=v6+O3,p6=k6/d3,X3=p6<0,e9=X3?0:p6,c6=e9-g,B6=a+(t9<<2)|0,s[B6>>2]=c6,L6=t9+1|0,Y6=h4+1,C6=n+(L6<<2)|0,b3=e[C6>>2]|0,e6=b3>>16,t6=(e6|0)>-1,t6){J5=b3,d6=O3,Q6=g3,J6=d3,M6=L6,o4=Y6;break}else F5=b3,B3=e6,t9=L6,h4=Y6;if(h3=J5&65535,X5=(h3|0)<(t|0),X5)for(S=J5,Z3=h3,X6=M6,z9=o4;;)if(D3=S>>16,Y3=w+(Z3<<2)|0,b6=+s[Y3>>2],A6=w+(D3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=A2+(Z3<<2)|0,a6=+s[s3>>2],y=A2+(D3<<2)|0,_=+s[y>>2],x=a6-_,L=j2+(Z3<<2)|0,F=+s[L>>2],M=j2+(D3<<2)|0,T=+s[M>>2],N=F-T,G=n3+(Z3<<2)|0,O=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=O-t0,W=W5+(Z3<<2)|0,e0=+s[W>>2],q=W5+(D3<<2)|0,X=+s[q>>2],U=e0-X,l0=J*N,Z=U*x,$0=l0-Z,s0=U*O6,i0=J*x,n0=s0-i0,V=N*O6,h0=x*x,o0=V-h0,g0=n0*z9,j=g0+$0,c0=j/o0,I0=c0<0,s9=I0?0:c0,w0=s9-g,C0=a+(X6<<2)|0,s[C0>>2]=w0,v0=X6+1|0,d0=z9+1,p0=n+(v0<<2)|0,B0=e[p0>>2]|0,E0=B0&65535,b0=(E0|0)<(t|0),b0)S=B0,Z3=E0,X6=v0,z9=d0;else{_3=$0,x6=n0,F3=o0,A9=v0,G9=d0;break}else _3=d6,x6=Q6,F3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(u9=A9,b9=G9;K0=b9*x6,Q0=K0+_3,M0=Q0/F3,T0=M0<0,R6=T0?0:M0,G0=R6-g,P0=a+(u9<<2)|0,s[P0>>2]=G0,y0=u9+1|0,Y0=b9+1,y6=(y0|0)==(t|0),!y6;)u9=y0,b9=Y0;if(F0=(u|0)<1,F0){C=D4;return}if(_0=(u|0)/2&-1,N0=_0-u|0,J0=(N0|0)>-1,J0)N6=_3,K6=x6,j6=F3,f9=0,E9=0;else for(O0=u-_0|0,H0=_0,i1=N0,d9=0,q6=0;;)if(r1=w+(H0<<2)|0,e1=+s[r1>>2],D0=0-i1|0,$1=w+(D0<<2)|0,u1=+s[$1>>2],g1=u1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(D0<<2)|0,n1=+s[a1>>2],o1=s1-n1,Z0=j2+(H0<<2)|0,I1=+s[Z0>>2],m1=j2+(D0<<2)|0,d1=+s[m1>>2],E1=d1+I1,p1=n3+(H0<<2)|0,B1=+s[p1>>2],Q1=n3+(D0<<2)|0,L1=+s[Q1>>2],x1=L1+B1,w1=W5+(H0<<2)|0,b1=+s[w1>>2],F1=W5+(D0<<2)|0,G1=+s[F1>>2],v1=b1-G1,U1=x1*E1,Z1=v1*o1,N1=U1-Z1,_1=v1*g1,V1=x1*o1,O1=_1-V1,q1=E1*g1,Y1=o1*o1,j1=q1-Y1,n2=O1*q6,W1=n2+N1,P1=W1/j1,c2=P1-g,z1=a+(d9<<2)|0,u2=+s[z1>>2],o2=c2>2]=c2),E2=d9+1|0,h2=q6+1,$2=_0+E2|0,i2=$2-u|0,z6=(E2|0)==(O0|0),z6){N6=N1,K6=O1,j6=j1,f9=O0,E9=h2;break}else H0=$2,i1=i2,d9=E2,q6=h2;if(z0=f9+_0|0,U0=(z0|0)<(t|0),U0)for(q0=t-_0|0,b=z0,$9=f9,m4=E9;;)if(r2=b-u|0,a2=w+(b<<2)|0,X1=+s[a2>>2],s2=w+(r2<<2)|0,f2=+s[s2>>2],t2=X1-f2,k2=A2+(b<<2)|0,w2=+s[k2>>2],C2=A2+(r2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(b<<2)|0,d2=+s[N2>>2],K2=j2+(r2<<2)|0,G2=+s[K2>>2],H2=d2-G2,P2=n3+(b<<2)|0,z2=+s[P2>>2],o5=n3+(r2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=W5+(b<<2)|0,x5=+s[X2>>2],e5=W5+(r2<<2)|0,b5=+s[e5>>2],Z2=x5-b5,k5=T1*H2,P5=Z2*D2,l5=k5-P5,v2=Z2*t2,m5=T1*D2,n5=v2-m5,L2=H2*t2,_2=D2*D2,p2=L2-_2,C5=n5*m4,d5=C5+l5,D5=d5/p2,G5=D5-g,_5=a+($9<<2)|0,q2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,p5=A5+_0|0,D6=(A5|0)==(q0|0),D6){n6=l5,I6=n5,G6=p2,a9=q0,r9=c5;break}else b=p5,$9=A5,m4=c5;else n6=N6,I6=K6,G6=j6,a9=f9,r9=E9;if(l2=(a9|0)<(t|0),l2)T9=a9,S4=r9;else{C=D4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-g,g2=a+(T9<<2)|0,B5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function JS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;if(c1=C,u=A<<2,a=u,E=C,C=C+((1*a|0)+15&-16)|0,g=u,_=C,C=C+((1*g|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,O0=0;else{C=c1;return}for(;;){b0=(O0|0)<2;do if(b0)Q0=E+(O0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,B=_+(O0<<2)|0,e[B>>2]=m,H0=O0;else{for(K0=t+(y0<<2)|0,L0=+s[K0>>2],z0=O0;;){if(p=z0+-1|0,S=_+(p<<2)|0,b=+s[S>>2],v=L0>2]|0,L=x+n|0,F=(y0|0)<(L|0),M=(z0|0)>1,_0=M&F,!_0){q0=z0,i1=12;break}if(T=z0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(b<=G),O){q0=z0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)z0=p;else{q0=z0,i1=12;break}}if((i1|0)==8){i1=0,w=E+(U0<<2)|0,e[w>>2]=y0,D=_+(U0<<2)|0,s[D>>2]=L0,H0=U0;break}else if((i1|0)==12){i1=0,e0=E+(q0<<2)|0,e[e0>>2]=y0,q=_+(q0<<2)|0,s[q>>2]=L0,H0=q0;break}}while(!1);if(r1=H0+1|0,X=y0+1|0,P0=(X|0)==(A|0),P0){e1=H0,D0=r1;break}else y0=X,O0=r1}if(s0=(e1|0)>-1,!s0){C=c1;return}for(w0=n+1|0,Y0=0,N0=0;;){if(U=(Y0|0)<(e1|0),U?(l0=Y0+1|0,Z=_+(l0<<2)|0,K=+s[Z>>2],$0=_+(Y0<<2)|0,i0=+s[$0>>2],n0=K>i0,n0?(V=E+(l0<<2)|0,h0=e[V>>2]|0,M0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,o0=E+(Y0<<2)|0,g0=e[o0>>2]|0,j=w0+g0|0,M0=j),c0=(M0|0)>(A|0),F0=c0?A:M0,u0=(N0|0)<(F0|0),u0)for(I0=_+(Y0<<2)|0,C0=e[I0>>2]|0,v0=(M0|0)<(A|0),d0=v0?M0:A,J0=N0;;)if(p0=t+(J0<<2)|0,e[p0>>2]=C0,B0=J0+1|0,T0=(B0|0)==(d0|0),T0){V0=d0;break}else J0=B0;else V0=N0;if(E0=Y0+1|0,G0=(E0|0)==(D0|0),G0)break;Y0=E0,N0=V0}C=c1}function mQ(t,n,A,a,g,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0;var B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0;if(c2=C,L=I<<2,D=L,F=C,C=C+((1*D|0)+15&-16)|0,e0=t+500|0,V=e[e0>>2]|0,d0=(V|0)==0,d0?B1=I:(P0=t+504|0,q0=e[P0>>2]|0,s1=q0-E|0,B1=s1),F1=(B1|0)>(I|0),Y1=F1?I:B1,M=(Y1|0)>0,M)for(T=(u|0)==0,N=(B1|0)<(I|0),G=N?B1:I,O1=0;;){T?P1=9:(t0=u+(O1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(P1=9));do if((P1|0)==9)if(P1=0,q=a+(O1<<2)|0,X=+s[q>>2],U=g+(O1<<2)|0,l0=+s[U>>2],Z=X/l0,K=A+(O1<<2)|0,$0=+s[K>>2],s0=$0<0,i0=Z,n0=+Un(+i0),h0=+qi(n0),s0){o0=-h0,g0=~~o0,j=m+(O1<<2)|0,e[j>>2]=g0;break}else{c0=~~h0,u0=m+(O1<<2)|0,e[u0>>2]=c0;break}while(!1);if(I0=O1+1|0,_1=(I0|0)==(G|0),_1){V1=G;break}else O1=I0}else V1=0;if(O=(V1|0)<(I|0),!O)return w=0,C=c2,+w;for(z=(u|0)!=0,Y=n-E|0,B=0,G1=0,q1=V1;;){z?(w0=u+(q1<<2)|0,C0=e[w0>>2]|0,v0=(C0|0)==0,v0?P1=15:(p=B,v1=G1)):P1=15;do if((P1|0)==15)if(P1=0,p0=a+(q1<<2)|0,B0=+s[p0>>2],E0=g+(q1<<2)|0,b0=+s[E0>>2],K0=B0/b0,L0=!(K0<.25),Q0=(q1|0)<(Y|0),j1=z&Q0,n2=L0|j1,n2){y0=A+(q1<<2)|0,Y0=+s[y0>>2],F0=Y0<0,_0=K0,N0=+Un(+_0),V0=+qi(N0),J0=-V0,_=F0?J0:V0,y=~~_,O0=m+(q1<<2)|0,e[O0>>2]=y,z0=r5(y,y)|0,U0=+(z0|0),r1=+s[E0>>2],H0=U0*r1,s[p0>>2]=H0,p=B,v1=G1;break}else{M0=K0+B,T0=G1+1|0,G0=F+(G1<<2)|0,e[G0>>2]=p0,p=M0,v1=T0;break}while(!1);if(e1=q1+1|0,N1=(e1|0)==(I|0),N1){S=p,U1=v1;break}else B=p,G1=v1,q1=e1}if(D0=(U1|0)==0,D0||(Gh(F,U1,4,9),i1=(U1|0)>0,!i1))return w=S,C=c2,+w;for(c1=a,$1=t+512|0,u1=+A1[$1>>3],b=S,H1=0;;)if(g1=F+(H1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,o1=n1>>2,Z0=b,I1=!(Z0>=u1),I1?(v=b,x=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,p1=(e[B2>>2]=E1,+s[B2>>2]),Q1=~~p1,L1=b+-1,x1=g+(o1<<2)|0,w1=+s[x1>>2],v=L1,x=Q1,W1=w1),b1=m+(o1<<2)|0,e[b1>>2]=x,s[l1>>2]=W1,R1=H1+1|0,Z1=(R1|0)==(U1|0),Z1){w=v;break}else b=v,H1=R1;return C=c2,+w}function VS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=+s[A>>2],g=e[n>>2]|0,u=+s[g>>2],E=au,B=m&1,p=I-B|0,p|0}function KS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function zS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0;if(W=C,A=(t|0)==0,!A){if(a=t+4|0,w=e[a>>2]|0,F=(w|0)>0,M=t+20|0,F)for(L=w,Y=0;T=e[M>>2]|0,N=T+(Y<<2)|0,G=e[N>>2]|0,O=(G|0)==0,O?u=L:(I2(G),n=e[a>>2]|0,u=n),z=Y+1|0,g=(z|0)<(u|0),g;)L=u,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,B=(m|0)>0,p=t+28|0,B)for(t0=0;S=e[p>>2]|0,b=S+(t0<<2)|0,v=e[b>>2]|0,I2(v),D=t0+1|0,y=e[I>>2]|0,_=(D|0)<(y|0),_;)t0=D;x=e[p>>2]|0,I2(x),I2(t)}}function ZS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0;if(c0=C,g=e[t>>2]|0,U2(n,g,24),u=t+4|0,y=e[u>>2]|0,U2(n,y,24),Y=t+8|0,U=e[Y>>2]|0,l0=U+-1|0,U2(n,l0,24),Z=t+12|0,K=e[Z>>2]|0,$0=K+-1|0,U2(n,$0,6),s0=t+20|0,E=e[s0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(B=t+24|0,i0=0,V=0;;){if(b=B+(V<<2)|0,v=e[b>>2]|0,w=Nt(v)|0,D=(w|0)>3,_=e[b>>2]|0,D?(U2(n,_,3),U2(n,1,1),x=e[b>>2]|0,L=x>>3,U2(n,L,5)):U2(n,_,4),F=e[b>>2]|0,M=(F|0)==0,M)o0=0;else for(A=F,g0=0;;)if(T=A&1,N=T+g0|0,G=A>>>1,O=(G|0)==0,O){o0=N;break}else A=G,g0=N;if(z=o0+i0|0,t0=V+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,V=t0;else{a=z;break}}if(p=(a|0)>0,!!p)for(S=t+280|0,h0=0;e0=S+(h0<<2)|0,q=e[e0>>2]|0,U2(n,q,8),X=h0+1|0,n0=(X|0)==(a|0),!n0;)h0=X}}function WS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,x=e[I>>2]|0,J=j4(n,24)|0,e[E>>2]=J,i0=j4(n,24)|0,C0=E+4|0,e[C0>>2]=i0,T0=j4(n,24)|0,z0=T0+1|0,q0=E+8|0,e[q0>>2]=z0,r1=j4(n,6)|0,m=r1+1|0,B=E+12|0,e[B>>2]=m,p=j4(n,8)|0,S=E+20|0,e[S>>2]=p,b=(p|0)<0;e:do if(b)a1=26;else{if(v=(r1|0)>-1,v){for(w=E+24|0,e1=0,c1=0;;){if(_=j4(n,3)|0,L=j4(n,1)|0,F=(L|0)<0,F){a1=26;break e}if(M=(L|0)==0,M)D0=_;else{if(T=j4(n,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,D0=O}if(z=w+(c1<<2)|0,e[z>>2]=D0,Y=(D0|0)==0,Y)l1=0;else for(a=D0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,q=(e0|0)==0,q){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,l0=e[B>>2]|0,Z=(U|0)<(l0|0),Z)e1=X,c1=U;else{u=X;break}}if(D=(u|0)>0,D)for(y=E+280|0,$1=0;;){if(K=j4(n,8)|0,$0=(K|0)<0,$0)break e;if(s0=y+($1<<2)|0,e[s0>>2]=K,n0=$1+1|0,V=(n0|0)<(u|0),V)$1=n0;else{U0=D,H0=u;break}}else U0=0,H0=u}else U0=0,H0=0;if(h0=e[S>>2]|0,o0=x+24|0,g0=e[o0>>2]|0,j=(h0|0)<(g0|0),j){if(U0)for(c0=E+280|0,u1=0;;){if(w0=c0+(u1<<2)|0,v0=e[w0>>2]|0,d0=(v0|0)<(g0|0),!d0||(p0=(x+1824|0)+(v0<<2)|0,B0=e[p0>>2]|0,E0=B0+12|0,b0=e[E0>>2]|0,K0=(b0|0)==0,u0=u1+1|0,K0))break e;if(I0=(u0|0)<(H0|0),I0)u1=u0;else break}if(L0=(x+1824|0)+(h0<<2)|0,Q0=e[L0>>2]|0,M0=Q0+4|0,G0=e[M0>>2]|0,P0=e[Q0>>2]|0,y0=(P0|0)<1,!y0){for(Y0=e[B>>2]|0,i1=P0,g1=1;;){if(N0=r5(Y0,g1)|0,V0=(N0|0)>(G0|0),V0)break e;if(F0=i1+-1|0,_0=(i1|0)>1,_0)i1=F0,g1=N0;else{g=N0;break}}return J0=E+16|0,e[J0>>2]=g,A=E,A|0}}}while(!1);return(a1|0)==26&&(O0=(E|0)==0,O0)?(A=0,A|0):(I2(E),A=0,A|0)}function jS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0;if(B1=C,u=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,s0=e[t0>>2]|0,e[u>>2]=n,w0=n+12|0,M0=e[w0>>2]|0,O0=u+4|0,e[O0>>2]=M0,r1=s0+2848|0,H0=e[r1>>2]|0,I=u+12|0,e[I>>2]=H0,m=H0,B=n+20|0,p=e[B>>2]|0,S=m+(p*56|0)|0,b=u+16|0,e[b>>2]=S,v=e[S>>2]|0,w=n4(M0,4)|0,D=u+20|0,e[D>>2]=w,y=(M0|0)>0,y)for(x=n+24|0,L=n+280|0,e1=0,l1=0,h1=0;;){if(F=x+(l1<<2)|0,M=e[F>>2]|0,T=Nt(M)|0,N=(T|0)==0,N)c1=e1,m1=h1;else if(G=(T|0)>(h1|0),a=G?T:h1,O=n4(T,4)|0,z=w+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[F>>2]|0,W=w+(l1<<2)|0,D0=e1,o1=0;;)if(e0=1<>2]|0,l0=D0+1|0,Z=L+(D0<<2)|0,K=e[Z>>2]|0,$0=U+(K*56|0)|0,i0=e[W>>2]|0,n0=i0+(o1<<2)|0,e[n0>>2]=$0,i1=l0),V=o1+1|0,u1=(V|0)==(T|0),u1){c1=i1,m1=a;break}else D0=i1,o1=V;else c1=e1,m1=a;if(h0=l1+1|0,o0=(h0|0)<(M0|0),o0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(g0=u+24|0,e[g0>>2]=1,j=(v|0)>0,j){for(u0=1,s1=0;;)if(c0=r5(u0,M0)|0,I0=s1+1|0,$1=(I0|0)==(v|0),$1){A=c0;break}else u0=c0,s1=I0;e[g0>>2]=A,d0=A}else d0=1;if(C0=u+8|0,e[C0>>2]=I1,v0=d0<<2,p0=S9(v0)|0,B0=u+28|0,e[B0>>2]=p0,E0=(d0|0)>0,!E0)return u|0;if(b0=v<<2,!j){for(a1=0;J0=S9(b0)|0,z0=p0+(a1<<2)|0,e[z0>>2]=J0,U0=a1+1|0,q0=(U0|0)<(d0|0),q0;)a1=U0;return u|0}for(K0=e[B0>>2]|0,n1=0;;){for(_0=S9(b0)|0,N0=p0+(n1<<2)|0,e[N0>>2]=_0,V0=K0+(n1<<2)|0,Y0=e[V0>>2]|0,g=d0,Z0=0,E1=n1;d1=(g|0)/(M0|0)&-1,T0=(E1|0)/(d1|0)&-1,G0=r5(T0,d1)|0,P0=E1-G0|0,y0=Y0+(Z0<<2)|0,e[y0>>2]=T0,F0=Z0+1|0,g1=(F0|0)==(v|0),!g1;)g=d1,Z0=F0,E1=P0;if(L0=n1+1|0,Q0=(L0|0)<(d0|0),Q0)n1=L0;else break}return u|0}function XS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0;if(M=C,u=(g|0)>0,u)y=0,_=0;else return 0;for(;;)if(E=a+(y<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?x=_:(B=A+(y<<2)|0,p=e[B>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=p,x=S),v=y+1|0,D=(v|0)==(g|0),D){L=x;break}else y=v,_=x;return w=(L|0)==0,w||CQ(t,n,A,L,2),0}function eb(t,n,A,a,g,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0;if(G=C,m=(u|0)>0,m)L=0,F=0;else return 0;for(;;)if(B=g+(L<<2)|0,p=e[B>>2]|0,S=(p|0)==0,S?M=F:(b=a+(L<<2)|0,v=e[b>>2]|0,w=F+1|0,D=a+(F<<2)|0,e[D>>2]=v,M=w),y=L+1|0,x=(y|0)==(u|0),x){T=M;break}else L=y,F=M;return _=(T|0)==0,_||pQ(t,A,a,T,E),0}function tb(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;if(p1=C,I=(g|0)>0,I)i1=0,h1=0;else return u=0,u|0;for(;;)if(m=a+(i1<<2)|0,L=e[m>>2]|0,W=(L|0)==0,W?m1=h1:(n0=A+(i1<<2)|0,v0=e[n0>>2]|0,G0=h1+1|0,V0=A+(h1<<2)|0,e[V0>>2]=v0,m1=G0),J0=i1+1|0,q0=(J0|0)==(g|0),q0){d1=m1;break}else i1=J0,h1=m1;if(O0=(d1|0)==0,O0)return u=0,u|0;if(B=e[n>>2]|0,p=B+8|0,S=e[p>>2]|0,b=B+12|0,v=e[b>>2]|0,w=B+4|0,D=e[w>>2]|0,y=e[B>>2]|0,_=D-y|0,x=(_|0)/(S|0)&-1,F=d1<<2,M=qt(t,F)|0,T=+(S|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=x<<2,c1=0;q=qt(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=q,ae(q|0,0,z|0)|0,U=c1+1|0,D0=(U|0)==(d1|0),!D0;)c1=U;if(Y=(x|0)>0,Y)for(t0=(S|0)>0,J=v+-1|0,e0=(v|0)>1,$1=0;;){if(l0=r5($1,S)|0,Z=e[B>>2]|0,K=Z+l0|0,O)for(g1=0;;){if(t0)for($0=A+(g1<<2)|0,s0=e[$0>>2]|0,U0=0,l1=0,o1=0;;)if(i0=K+l1|0,V=s0+(i0<<2)|0,h0=e[V>>2]|0,u1=(h0|0)>-1,Z0=0-h0|0,o0=u1?h0:Z0,g0=(o0|0)>(o1|0),E=g0?o0:o1,j=o0+U0|0,c0=l1+1|0,r1=(c0|0)==(S|0),r1){z0=j,n1=E;break}else U0=j,l1=c0,o1=E;else z0=0,n1=0;u0=+(z0|0),I0=u0*G,w0=~~I0;e:do if(e0)for(a1=0;;){if(C0=(B+2328|0)+(a1<<2)|0,d0=e[C0>>2]|0,p0=(n1|0)>(d0|0),!p0&&(B0=(B+2584|0)+(a1<<2)|0,E0=e[B0>>2]|0,b0=(E0|0)<0,K0=(w0|0)<(E0|0),I1=b0|K0,I1)){s1=a1;break e}if(L0=a1+1|0,Q0=(L0|0)<(J|0),Q0)a1=L0;else{s1=L0;break}}else s1=0;while(!1);if(M0=M+(g1<<2)|0,T0=e[M0>>2]|0,P0=T0+($1<<2)|0,e[P0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(Y0=$1+1|0,e1=(Y0|0)==(x|0),e1)break;$1=Y0}return F0=n+40|0,_0=e[F0>>2]|0,N0=_0+1|0,e[F0>>2]=N0,u=M,u|0}function ib(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0;if(M=C,u=(g|0)>0,u)y=0,_=0;else return 0;for(;;)if(E=a+(y<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?x=_:(B=A+(y<<2)|0,p=e[B>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=p,x=S),v=y+1|0,D=(v|0)==(g|0),D){L=x;break}else y=v,_=x;return w=(L|0)==0,w||CQ(t,n,A,L,3),0}function rb(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0;if(Z0=C,m=(g|0)>0,m)N0=0,n1=0;else return u=0,u|0;for(;;)if(B=a+(N0<<2)|0,F=e[B>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+n1|0,V=N0+1|0,Y0=(V|0)==(g|0),Y0){a1=s1;break}else N0=V,n1=s1;if(l1=(a1|0)==0,l1)return u=0,u|0;if(d0=e[n>>2]|0,K0=d0+8|0,L0=e[K0>>2]|0,Q0=d0+12|0,M0=e[Q0>>2]|0,p=d0+4|0,S=e[p>>2]|0,b=e[d0>>2]|0,v=S-b|0,w=(v|0)/(L0|0)&-1,D=qt(t,4)|0,y=w<<2,_=qt(t,y)|0,e[D>>2]=_,ae(_|0,0,y|0)|0,x=(w|0)>0,x)for(L=e[d0>>2]|0,M=(L|0)/(g|0)&-1,T=(L0|0)>0,N=M0+-1|0,G=(M0|0)>1,O=e[D>>2]|0,z=(g|0)>1,V0=0,H0=M;;){if(T)for(Y=e[A>>2]|0,G0=0,z0=0,D0=H0,c1=0;;){if(t0=Y+(D0<<2)|0,J=e[t0>>2]|0,J0=(J|0)>-1,$1=0-J|0,W=J0?J:$1,q=(W|0)>(c1|0),I=q?W:c1,z)for(y0=G0,r1=1;;)if(X=A+(r1<<2)|0,U=e[X>>2]|0,l0=U+(D0<<2)|0,Z=e[l0>>2]|0,O0=(Z|0)>-1,u1=0-Z|0,K=O0?Z:u1,$0=(K|0)>(y0|0),E=$0?K:y0,s0=r1+1|0,F0=(s0|0)==(g|0),F0){P0=E;break}else y0=E,r1=s0;else P0=G0;if(i0=D0+1|0,n0=z0+g|0,h0=(n0|0)<(L0|0),h0)G0=P0,z0=n0,D0=i0,c1=I;else{T0=P0,e1=i0,i1=I;break}}else T0=0,e1=H0,i1=0;e:do if(G)for(q0=0;;){if(o0=(d0+2328|0)+(q0<<2)|0,g0=e[o0>>2]|0,j=(i1|0)>(g0|0),!j&&(c0=(d0+2584|0)+(q0<<2)|0,u0=e[c0>>2]|0,I0=(T0|0)>(u0|0),!I0)){U0=q0;break e}if(w0=q0+1|0,C0=(w0|0)<(N|0),C0)q0=w0;else{U0=w0;break}}else U0=0;while(!1);if(v0=O+(V0<<2)|0,e[v0>>2]=U0,p0=V0+1|0,_0=(p0|0)==(w|0),_0)break;V0=p0,H0=e1}return B0=n+40|0,E0=e[B0>>2]|0,b0=E0+1|0,e[B0>>2]=b0,u=D,u|0}function nb(t,n,A,a,g,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0;if(s0=C,C=C+16|0,K=s0,m=n+36|0,B=e[m>>2]|0,F=(B|0)/2&-1,M=u<<2,T=r5(M,F)|0,N=qt(n,T)|0,e[K>>2]=N,G=(u|0)>0,!G)return C=s0,0;for(O=(B|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,p=g+(J<<2)|0,S=e[p>>2]|0,q=(S|0)!=0,b=q&1,U=b+Z|0,O)for(W=0,e0=J;v=Y+(W<<2)|0,w=e[v>>2]|0,D=N+(e0<<2)|0,e[D>>2]=w,y=W+1|0,_=e0+u|0,x=(y|0)<(F|0),x;)W=y,e0=_;if(L=J+1|0,t0=(L|0)==(u|0),t0){l0=U;break}else J=L,Z=U}return X=(l0|0)==0,X?(C=s0,0):(pQ(t,A,K,1,E),C=s0,0)}function sb(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,L=e[m>>2]|0,W=n+16|0,n0=e[W>>2]|0,v0=e[n0>>2]|0,G0=t+36|0,U0=e[G0>>2]|0,l1=r5(U0,g)|0,s1=l1>>1,B=I+4|0,p=e[B>>2]|0,S=(p|0)<(s1|0),u=S?p:s1,b=e[I>>2]|0,v=u-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=v0+-1|0,_=y+D|0,x=(_|0)/(v0|0)&-1,F=x<<2,M=qt(t,F)|0,T=(g|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(g|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(g|0),t0||(J=n+8|0,e0=e[J>>2]|0,q=(e0|0)>0,!q))return 0;X=(D|0)>0,U=t+4|0,l0=I+16|0,Z=n+28|0,K=(v0|0)>0,$0=n+20|0,g1=e0,p1=0;e:for(;;){if(X){for(s0=(p1|0)==0,i0=1<>2]|0,h0=rC(V,U)|0,o0=(h0|0)==-1,o0){B1=23;break e}if(g0=e[l0>>2]|0,j=(h0|0)<(g0|0),!j){B1=23;break e}if(c0=e[Z>>2]|0,u0=c0+(h0<<2)|0,I0=e[u0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=I0,C0=(I0|0)==0,C0){B1=23;break e}}if(d0=(o1|0)<(D|0),E1=K&d0,E1)for(p0=M+(m1<<2)|0,I1=o1,h1=0;;){if(B0=e[p0>>2]|0,E0=B0+(h1<<2)|0,b0=e[E0>>2]|0,K0=(I+24|0)+(b0<<2)|0,L0=e[K0>>2]|0,Q0=L0&i0,M0=(Q0|0)==0,!M0&&(T0=e[$0>>2]|0,P0=T0+(b0<<2)|0,y0=e[P0>>2]|0,Y0=y0+(p1<<2)|0,F0=e[Y0>>2]|0,_0=(F0|0)==0,!_0&&(N0=r5(I1,L)|0,V0=e[I>>2]|0,J0=V0+N0|0,O0=cS(F0,A,J0,g,U,L)|0,z0=(O0|0)==-1,z0))){B1=23;break e}if(q0=h1+1|0,r1=I1+1|0,H0=(q0|0)<(v0|0),e1=(r1|0)<(D|0),d1=H0&e1,d1)I1=r1,h1=q0;else{Z0=r1;break}}else Z0=o1;if(D0=m1+1|0,i1=(Z0|0)<(D|0),i1)o1=Z0,m1=D0;else break}E=e[J>>2]|0,u1=E}else u1=g1;if(c1=p1+1|0,$1=(c1|0)<(u1|0),$1)g1=u1,p1=c1;else{B1=23;break}}return(B1|0)==23,0}function CQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,B=e[n>>2]|0,p=B+8|0,M=e[p>>2]|0,q=n+16|0,h0=e[q>>2]|0,p0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=B+4|0,S=e[Q1>>2]|0,b=(S|0)<(a1|0),u=b?S:a1,v=e[B>>2]|0,w=u-v|0,D=(w|0)>0,!D){C=j1;return}if(y=(w|0)/(M|0)&-1,_=a<<2,E=_,x=C,C=C+((1*E|0)+15&-16)|0,L=(a|0)>0,L)for(F=p0+-1|0,T=F+y|0,N=(T|0)/(p0|0)&-1,G=N<<2,G1=0;l0=qt(t,G)|0,Z=x+(G1<<2)|0,e[Z>>2]=l0,K=G1+1|0,x1=(K|0)==(a|0),!x1;)G1=K;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(y|0)>0,J=t+4|0,W=B+16|0,e0=n+28|0,X=(p0|0)>0,U=n+20|0,m=L^1,H1=0;e:for(;;){if(t0)for($0=1<>2]|0,H0=rC(q0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(D0=e[W>>2]|0,i1=(H0|0)<(D0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,u1=e[$1>>2]|0,g1=x+(v1<<2)|0,l1=e[g1>>2]|0,s1=l1+(_1<<2)|0,e[s1>>2]=u1,n1=(u1|0)==0,z0=v1+1|0,n1){Y1=25;break e}if(U0=(z0|0)<(a|0),U0)v1=z0;else break}s0=(w1|0)<(y|0),q1=X&s0;t:do if(q1){if(L)F1=w1,N1=0;else for(R1=w1,Z1=0;;)if(o1=Z1+1|0,Z0=R1+1|0,I1=(o1|0)<(p0|0),h1=(Z0|0)<(y|0),V1=I1&h1,V1)R1=Z0,Z1=o1;else{b1=Z0;break t}for(;;){for(c0=r5(F1,M)|0,U1=0;;){if(g0=e[B>>2]|0,j=g0+c0|0,u0=x+(U1<<2)|0,I0=e[u0>>2]|0,w0=I0+(_1<<2)|0,C0=e[w0>>2]|0,v0=C0+(N1<<2)|0,d0=e[v0>>2]|0,B0=(B+24|0)+(d0<<2)|0,E0=e[B0>>2]|0,b0=E0&$0,K0=(b0|0)==0,!K0&&(L0=e[U>>2]|0,Q0=L0+(d0<<2)|0,M0=e[Q0>>2]|0,T0=M0+(H1<<2)|0,G0=e[T0>>2]|0,P0=(G0|0)==0,!P0&&(Y0=A+(U1<<2)|0,F0=e[Y0>>2]|0,_0=F0+(j<<2)|0,N0=yp[g&3](G0,_0,J,M)|0,V0=(N0|0)==-1,V0))){Y1=25;break e}if(J0=U1+1|0,O0=(J0|0)<(a|0),O0)U1=J0;else break}if(i0=N1+1|0,n0=F1+1|0,V=(i0|0)<(p0|0),o0=(n0|0)<(y|0),O1=V&o0,O1)F1=n0,N1=i0;else{b1=n0;break}}}else b1=w1;while(!1);if(m1=_1+1|0,d1=(b1|0)<(y|0),d1)w1=b1,_1=m1;else break}if(E1=H1+1|0,p1=e[O>>2]|0,B1=(E1|0)<(p1|0),B1)H1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function pQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,y=e[n>>2]|0,_=y+8|0,$2=e[_>>2]|0,H2=y+12|0,Z2=e[H2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,u5=e[M1>>2]|0,h3=y+4|0,G3=e[h3>>2]|0,x=e[y>>2]|0,J=G3-x|0,i0=(J|0)/($2|0)&-1,ae(O6|0,0,512)|0,ae(s3|0,0,512)|0,C0=n+8|0,T0=e[C0>>2]|0,z0=(T0|0)>0,!z0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,v1=(u5|0)>1,n2=n+36|0,i2=(u5|0)>0,k2=n+20|0,w2=n+32|0,C2=0-u5|0,y2=T0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(K5<<2)|0,_5=e[G5>>2]|0,q2=e[C5>>2]|0,I5=q2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(p5=Th(q2,_5,t)|0,S5=e[n2>>2]|0,g5=S5+p5|0,e[n2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(v2=g+(b3<<2)|0,f5=e[v2>>2]|0,m5=f5+(K5<<2)|0,n5=e[m5>>2]|0,f6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,x5=f6+K5|0,e5=(x5|0)<(i0|0),e5?(b5=f5+(x5<<2)|0,k5=e[b5>>2]|0,P5=k5+X2|0,Q6=P5):Q6=X2,l5=f6+1|0,k3=(l5|0)==(u5|0),k3){x6=Q6;break}else f6=l5,n6=Q6;if(K2=e[C5>>2]|0,G2=K2+4|0,M2=e[G2>>2]|0,P2=(x6|0)<(M2|0),P2&&(z2=Th(K2,x6,t)|0,o5=e[n2>>2]|0,O2=o5+z2|0,e[n2>>2]=O2),T1=b3+1|0,y3=(T1|0)==(a|0),y3)break;b3=T1}}while(!1);if(L2=(K5|0)<(i0|0),b6=i2&L2,b6){for(_2=K5-i0|0,p2=_2>>>0>>0,N6=p2?C2:_2,R5=0-N6|0,l6=K5,H3=0;;){if(W2=r5(l6,$2)|0,g2=e[y>>2]|0,B5=g2+W2|0,E1)for(t6=0;;){if(t5=g+(t6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,L5=e[i5>>2]|0,j2=L5+$2|0,e[i5>>2]=j2),$5=(y+24|0)+(J2<<2)|0,x2=e[$5>>2]|0,Q5=x2&D2,q5=(Q5|0)==0,!q5&&(j5=e[k2>>2]|0,E5=j5+(J2<<2)|0,f3=e[E5>>2]|0,J5=f3+(a6<<2)|0,X5=e[J5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=A+(t6<<2)|0,F5=e[m3>>2]|0,V5=e[X5>>2]|0,v3=($2|0)/(V5|0)&-1,u3=(v3|0)>0,u3){for(B3=X5+48|0,z3=X5+52|0,z5=X5+44|0,w3=X5+12|0,W5=X5+4|0,L=V5,v5=0,g3=0;;){i6=r5(g3,V5)|0,b=i6+B5|0,x3=F5+(b<<2)|0,U3=e[B3>>2]|0,a3=e[z3>>2]|0,l3=e[z5>>2]|0,c3=l3>>1,e[t3>>2]=0,e[t3+4>>2]=0,e[t3+8>>2]=0,e[t3+12>>2]=0,e[t3+16>>2]=0,e[t3+20>>2]=0,e[t3+24>>2]=0,e[t3+28>>2]=0,C3=(a3|0)==1,F=(L|0)>0;do if(C3){if(!F){X3=0;break}for(G=l3+-1|0,d3=0,p6=0,Y3=L;;)if(I0=Y3+-1|0,D=b+I0|0,w0=F5+(D<<2)|0,v0=e[w0>>2]|0,d0=v0-U3|0,p0=(d0|0)<(c3|0),p0?(B0=c3-d0|0,E0=B0<<1,b0=E0+-1|0,M0=b0):(K0=d0-c3|0,L0=K0<<1,M0=L0),Q0=r5(p6,l3)|0,G0=(M0|0)<0,P0=(M0|0)>=(l3|0),y0=P0?G:M0,Y0=G0?0:y0,F0=Y0+Q0|0,_0=t3+(I0<<2)|0,e[_0>>2]=v0,N0=d3+1|0,j3=(N0|0)==(L|0),j3){X3=F0;break}else d3=N0,p6=F0,Y3=I0}else{if(!F){X3=0;break}for(M=a3>>1,T=M-U3|0,N=l3+-1|0,S3=0,S6=0,D3=L;;)if(O=D3+-1|0,w=b+O|0,z=F5+(w<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(q=c3-W|0,X=q<<1,U=X+-1|0,$0=U):(l0=W-c3|0,Z=l0<<1,$0=Z),K=r5(S6,l3)|0,s0=($0|0)<0,n0=($0|0)>=(l3|0),V=n0?N:$0,h0=s0?0:V,o0=h0+K|0,g0=r5(W,a3)|0,j=g0+U3|0,c0=t3+(O<<2)|0,e[c0>>2]=j,u0=S3+1|0,O3=(u0|0)==(L|0),O3){X3=o0;break}else S3=u0,S6=o0,D3=O}while(!1);V0=e[w3>>2]|0,J0=V0+8|0,O0=e[J0>>2]|0,U0=O0+X3|0,q0=d[U0>>0]|0,r1=q0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,H0=l3+-1|0,e1=r5(H0,a3)|0,D0=e1+U3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)H5=-1,v6=0,c6=X3;else{L6=X3;break}for(;;){$1=O0+v6|0,u1=d[$1>>0]|0,l1=u1<<24>>24>0;do if(l1){if(F)for(Y6=0,_3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,v=b+Y6|0,n1=F5+(v<<2)|0,o1=e[n1>>2]|0,Z0=a1-o1|0,I1=r5(Z0,Z0)|0,h1=I1+_3|0,m1=Y6+1|0,r6=(m1|0)==(L|0),r6){d6=h1;break}else Y6=m1,_3=h1;else d6=0;if(d1=(H5|0)==-1,p1=(d6|0)<(H5|0),Z3=d1|p1,!Z3){U5=H5,B6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,B6=v6}else U5=H5,B6=c6;while(!1);if(B1=e[M5>>2]|0,Q1=(B1|0)<(D0|0),Q1)E=M5,I=B1;else for(x1=M5,e6=0;;)if(L1=e6+1|0,e[x1>>2]=0,w1=M5+(L1<<2)|0,b1=e[w1>>2]|0,R1=(b1|0)<(D0|0),R1){E=w1,I=b1;break}else x1=w1,e6=L1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=v6+1|0,e3=(N1|0)==(i1|0),e3){L6=B6;break}else H5=U5,v6=N1,c6=B6}}else L6=X3;while(!1);if(_1=(L6|0)>-1,A6=F&_1,A6)for(u=x3,k6=0;V1=t3+(k6<<2)|0,O1=e[V1>>2]|0,q1=u+4|0,H1=e[u>>2]|0,Y1=H1-O1|0,e[u>>2]=Y1,j1=k6+1|0,A3=(j1|0)==(L|0),!A3;)u=q1,k6=j1;if(W1=Th(X5,L6,t)|0,P1=W1+v5|0,c2=g3+1|0,R3=(c2|0)==(v3|0),R3){m=P1;break}B=e[X5>>2]|0,L=B,v5=P1,g3=c2}p=e[t5>>2]|0,E2=p,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,u2=z1+O5|0,e[w2>>2]=u2,o2=E2+(l6<<2)|0,A2=e[o2>>2]|0,K1=O6+(A2<<2)|0,h2=e[K1>>2]|0,l2=h2+O5|0,e[K1>>2]=l2}if(r2=t6+1|0,u6=(r2|0)==(a|0),u6)break;t6=r2}if(a2=H3+1|0,X1=l6+1|0,Q3=(a2|0)==(R5|0),Q3)break;l6=X1,H3=a2}N2=K5-N6|0,q3=N2}else q3=K5;if(d2=(q3|0)<(i0|0),d2)K5=q3;else break}S=e[C0>>2]|0,t2=S}else t2=y2;if(s2=a6+1|0,f2=(s2|0)<(t2|0),f2)y2=t2,a6=s2;else break}C=I6}function Nt(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;if(B=C,A=(t|0)==0,A)E=0;else for(n=t,I=0;;)if(a=n>>>1,g=I+1|0,u=(a|0)==0,u){E=g;break}else n=a,I=g;return E|0}function BQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,B=m?A:n,F=B<<2,e0=S9(F)|0,ae(P1|0,0,132)|0,V=(n|0)>0;do if(V){d0=P1+4|0,P0=(A|0)==0,q0=P0&1,B1=0,v1=0;e:for(;;){s1=t+v1|0,p1=d[s1>>0]|0,p=p1<<24>>24,S=p1<<24>>24>0;t:do if(S){if(b=P1+(p<<2)|0,v=e[b>>2]|0,w=p1<<24>>24>31,D=v>>>p,y=(D|0)==0,c2=w|y,!c2){K1=5;break e}_=e0+(B1<<2)|0,e[_>>2]=v,x=P1+(p<<2)|0,L=v&1,M=(L|0)==0;i:do if(M)for(q=v,X=x,V1=p;;){if(W=q+1|0,e[X>>2]=W,U=V1+-1|0,l0=(V1|0)>1,!l0)break i;if(u=P1+(U<<2)|0,I=e[u>>2]|0,Z=P1+(U<<2)|0,K=I&1,$0=(K|0)==0,$0)q=I,X=Z,V1=U;else{g=Z,_1=U,K1=8;break}}else g=x,_1=p,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(_1|0)==1,N){G=e[d0>>2]|0,O=G+1|0,e[d0>>2]=O;break}else{z=_1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[g>>2]=J;break}while(!1);if(Y1=p+1|0,T=(Y1|0)<33,T)for(R1=v,q1=p,j1=Y1;;){if(s0=P1+(j1<<2)|0,i0=e[s0>>2]|0,n0=i0>>>1,h0=(n0|0)==(R1|0),!h0){E=1;break t}if(o0=P1+(q1<<2)|0,g0=e[o0>>2]|0,j=g0<<1,e[s0>>2]=j,O1=j1+1|0,c0=(O1|0)<33,c0)H1=j1,R1=i0,j1=O1,q1=H1;else{E=1;break}}else E=1}else E=q0;while(!1);if(Q1=B1+E|0,u0=v1+1|0,I0=(u0|0)<(n|0),I0)B1=Q1,v1=u0;else{L1=Q1,K1=16;break}}if((K1|0)==5)return I2(e0),a=0,C=h2,a|0;if((K1|0)==16){if(z1=(L1|0)==1,!z1){U1=1,K1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,v0=(C0|0)==2,v0)break;U1=1,K1=27;break}}else U1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,z0=P1+(U1<<2)|0,U0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=U0&H0,D0=(e1|0)==0,J0=U1+1|0,!!D0;)if(O0=(J0|0)<33,O0)U1=J0,K1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!V)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(u1=e0+(x1<<2)|0,g1=e[u1>>2]|0,l1=c1<<24>>24,n2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>n2,o1=n1&1,Z0=o1|a1,I1=n2+1|0,h1=(I1|0)<(l1|0),h1)n2=I1,E2=Z0;else{u2=Z0;break}else u2=0;if(m1=x1+1|0,d1=e0+(x1<<2)|0,e[d1>>2]=u2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else x1=m1,Z1=E1}return C=h2,a|0}for(;;){if(p0=t+N1|0,B0=d[p0>>0]|0,E0=B0<<24>>24>0,E0)for(V0=e0+(w1<<2)|0,G0=e[V0>>2]|0,N0=B0<<24>>24,W1=0,A2=0;;)if(M0=A2<<1,T0=G0>>>W1,y0=T0&1,Y0=y0|M0,F0=W1+1|0,_0=(F0|0)<(N0|0),_0)W1=F0,A2=Y0;else{o2=Y0;break}else o2=0;if(b0=B0<<24>>24==0,b0?b1=w1:(K0=w1+1|0,L0=e0+(w1<<2)|0,e[L0>>2]=o2,b1=K0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=b1,N1=Q0}return C=h2,a|0}function ob(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0;if(q=C,a=t+4|0,g=e[a>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(_=+(g|0),x=_,L=+(D|0),F=1/L,M=F,T=+Rh(+x,+M),u=+WA(+T),E=~~u,Y=E;;){for(b=Y+1|0,N=1,G=1,O=0;;)if(p=r5(N,Y)|0,S=r5(G,b)|0,v=O+1|0,w=(v|0)<(D|0),w)N=p,G=S,O=v;else{n=p,A=S;break}if(I=(n|0)<=(g|0),m=(A|0)>(g|0),z=I&m,z){W=Y;break}B=(n|0)>(g|0),J=B?-1:1,t0=Y+J|0,Y=t0}return W|0}function Ab(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0;if(q5=C,B=t+12|0,p=e[B>>2]|0,m=p+-1|0,i5=m>>>0<2,!i5)return u=0,u|0;if(H0=t+16|0,n1=e[H0>>2]|0,L1=n1&2097151,_1=+(L1|0),z1=n1>>>21,a2=z1&1023,N2=(n1|0)<0,X2=-_1,a=N2?X2:_1,S=a2+-788|0,T=+oC(a,S),X=T,o0=t+20|0,B0=e[o0>>2]|0,Y0=B0&2097151,z0=+(Y0|0),U0=B0>>>21,q0=U0&1023,r1=(B0|0)<0,e1=-z0,g=r1?e1:z0,D0=q0+-788|0,i1=+oC(g,D0),c1=i1,$1=e[t>>2]|0,u1=r5($1,n)|0,g1=n4(u1,4)|0,(p|0)==1){if(p1=t+4|0,B1=e[p1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(x1=+(B1|0),w1=x1,b1=+($1|0),R1=1/b1,F1=R1,G1=+Rh(+w1,+F1),v1=+WA(+G1),U1=~~v1,$5=U1;;){for(u2=$5+1|0,n5=1,L2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(L2,u2)|0,o2=I5+1|0,d5=(o2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,L2=c2,I5=o2;if(Z1=(E|0)<=(B1|0),N1=(I|0)>(B1|0),u5=N1&Z1,u5){x2=$5;break}W1=(E|0)>(B1|0),j2=W1?-1:1,L5=j2+$5|0,$5=L5}if(V1=(B1|0)>0,!V1)return u=g1,u|0;for(O1=(A|0)==0,q1=t+8|0,H1=t+32|0,Y1=c1,j1=X,n2=t+28|0,_2=0,M1=0;;){if(O1)if($2=e[H1>>2]|0,i2=e[n2>>2]|0,l2=(i2|0)==0,r2=r5($1,_2)|0,l2)for(p5=1,W2=0;;)if(b5=(M1|0)/(p5|0)&-1,Z2=(b5|0)%(x2|0)&-1,f5=$2+(Z2<<2)|0,k5=e[f5>>2]|0,P5=+(k5|0),q2=+Wi(+P5),l5=q2,v2=l5*Y1,m5=j1+v2,b=m5,v=r2+W2|0,w=g1+(v<<2)|0,s[w>>2]=b,D=r5(p5,x2)|0,y=W2+1|0,_=(y|0)<($1|0),_)p5=D,W2=y;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(x=(M1|0)/(A5|0)&-1,L=(x|0)%(x2|0)&-1,F=$2+(L<<2)|0,M=e[F>>2]|0,N=+(M|0),G5=+Wi(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=r2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,q=r5(A5,x2)|0,U=g5+1|0,l0=(U|0)<($1|0),l0)A5=q,g5=U,t5=J;else{Q5=21;break}else if(E2=e[q1>>2]|0,A2=E2+M1|0,K1=d[A2>>0]|0,h2=K1<<24>>24==0,h2)p2=_2;else for(X1=e[H1>>2]|0,s2=e[n2>>2]|0,f2=(s2|0)==0,t2=A+(_2<<2)|0,y2=e[t2>>2]|0,k2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(x2|0)&-1,F2=X1+(C2<<2)|0,D2=e[F2>>2]|0,d2=+(D2|0),_5=+Wi(+d2),K2=_5,G2=K2*Y1,H2=s5,M2=H2+j1,P2=M2+G2,z2=P2,B5=f2?s5:z2,o5=k2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=r5(c5,x2)|0,x5=a5+1|0,e5=(x5|0)<($1|0),e5)c5=T1,a5=x5,s5=B5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,p2=Z),K=M1+1|0,$0=(K|0)<(B1|0),$0)_2=p2,M1=K;else{u=g1;break}}return u|0}else if((p|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return u=g1,u|0;for(o1=(A|0)!=0,Z0=t+8|0,I1=t+32|0,h1=c1,m1=X,d1=t+28|0,E1=($1|0)>0,C5=0,S5=0;;){if(o1?(s0=e[Z0>>2]|0,i0=s0+S5|0,n0=d[i0>>0]|0,V=n0<<24>>24==0,V?R5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,g0=e[d1>>2]|0,j=(g0|0)==0,c0=A+(C5<<2)|0,u0=r5($1,S5)|0,I0=r5($1,C5)|0,g2=0,J2=0;w0=u0+g2|0,C0=h0+(w0<<2)|0,v0=e[C0>>2]|0,d0=+(v0|0),D5=+Wi(+d0),p0=D5,E0=p0*h1,b0=J2,K0=b0+m1,L0=K0+E0,Q0=L0,h5=j?J2:Q0,o1?(M0=e[c0>>2]|0,T0=r5(M0,$1)|0,G0=T0+g2|0,P0=g1+(G0<<2)|0,s[P0>>2]=Q0):(y0=I0+g2|0,F0=g1+(y0<<2)|0,s[F0>>2]=Q0),_0=g2+1|0,N0=(_0|0)<($1|0),N0;)g2=_0,J2=h5;V0=C5+1|0,R5=V0}if(J0=S5+1|0,O0=(J0|0)<(s1|0),O0)C5=R5,S5=J0;else{u=g1;break}}return u|0}else return u=g1,u|0;return 0}function Cp(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0;S=C,n=t+36|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(g=t+32|0,u=e[g>>2]|0,E=(u|0)==0,E||I2(u),I=t+8|0,m=e[I>>2]|0,B=(m|0)==0,B||I2(m),I2(t))}function ab(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0;x=C,n=t+16|0,A=e[n>>2]|0,m=(A|0)==0,m||I2(A),B=t+20|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||I2(v),D=t+28|0,a=e[D>>2]|0,g=(a|0)==0,g||I2(a),u=t+32|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function QQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;U0=C,O0=t,q0=O0+56|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(q0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,x=e[I>>2]|0,J=t+4|0,e[J>>2]=x,i0=t+8|0,e[i0>>2]=x,C0=e[n>>2]|0,e[t>>2]=C0,b0=n+8|0,K0=e[b0>>2]|0,L0=BQ(K0,x,0)|0,Q0=t+20|0,e[Q0>>2]=L0,m=e[I>>2]|0,B=e[n>>2]|0,p=(B|0)>0,!p)for(;;);for(S=+(m|0),b=S,v=+(B|0),w=1/v,D=w,y=+Rh(+b,+D),_=+WA(+y),L=~~_,V0=L;;){for(O=V0+1|0,M0=1,T0=1,P0=0;;)if(N=r5(M0,V0)|0,G=r5(T0,O)|0,z=P0+1|0,G0=(z|0)==(B|0),G0){g=N,u=G;break}else M0=N,T0=G,P0=z;if(F=(g|0)<=(m|0),M=(u|0)>(m|0),y0=M&F,y0){J0=V0;break}T=(g|0)>(m|0),N0=T?-1:1,_0=N0+V0|0,V0=_0}return Y=t+44|0,e[Y>>2]=J0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,q=+(e0|0),X=W>>>21,U=X&1023,l0=(W|0)<0,Z=-q,A=l0?Z:q,K=U+-788|0,$0=+oC(A,K),s0=$0,Y0=+bQ(s0),n0=~~Y0,V=t+48|0,e[V>>2]=n0,h0=n+20|0,o0=e[h0>>2]|0,g0=o0&2097151,j=+(g0|0),c0=o0>>>21,u0=c0&1023,I0=(o0|0)<0,w0=-j,a=I0?w0:j,v0=u0+-788|0,d0=+oC(a,v0),p0=d0,F0=+bQ(p0),B0=~~F0,E0=t+52|0,e[E0>>2]=B0,0}function $b(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;M3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(b=n+4|0,v=e[b>>2]|0,E2=(v|0)>0,E2)for(q2=n+8|0,B5=e[q2>>2]|0,H3=0,x6=0;;)if(Q5=B5+H3|0,V5=d[Q5>>0]|0,U3=V5<<24>>24>0,o6=U3&1,m=o6+x6|0,K5=H3+1|0,w=(K5|0)<(v|0),w)H3=K5,x6=m;else{c0=m;break}else c0=0;if(O=t+4|0,e[O>>2]=v,Z=t+8|0,e[Z>>2]=c0,K0=e[n>>2]|0,e[t>>2]=K0,N0=(c0|0)>0,!N0)return a=0,C=M3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,b1=BQ(I1,v,c0)|0,q1=c0<<2,u=q1,A2=C,C=C+((1*u|0)+15&-16)|0,t2=(b1|0)==0,t2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),x5=t+24|0,e5=e[x5>>2]|0,b5=(e5|0)==0,b5||I2(e5),f5=t+28|0,k5=e[f5>>2]|0,P5=(k5|0)==0,P5||I2(k5),l5=t+32|0,v2=e[l5>>2]|0,m5=(v2|0)==0,m5||I2(v2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=M3,a|0}else D3=0;for(;H2=b1+(D3<<2)|0,Z2=e[H2>>2]|0,C5=Z2>>>16,R5=Z2<<16,d5=C5|R5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,p5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=p5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,u5=s5<<1,i5=u5&-1431655766,L5=J2|i5,e[H2>>2]=L5,j2=A2+(D3<<2)|0,e[j2>>2]=H2,$5=D3+1|0,Y6=($5|0)==(c0|0),!Y6;)D3=$5;for(Gh(A2,c0,4,10),E=q1,x2=C,C=C+((1*E|0)+15&-16)|0,q5=S9(q1)|0,j5=t+20|0,e[j5>>2]=q5,E5=b1,Y3=0;;)if(f3=A2+(Y3<<2)|0,h3=e[f3>>2]|0,J5=h3,X5=J5-E5|0,n3=X5>>2,m3=x2+(n3<<2)|0,e[m3>>2]=Y3,F5=Y3+1|0,L6=(F5|0)==(c0|0),L6){Z3=0;break}else Y3=F5;for(;v3=b1+(Z3<<2)|0,u3=e[v3>>2]|0,B3=x2+(Z3<<2)|0,z3=e[B3>>2]|0,G3=q5+(z3<<2)|0,e[G3>>2]=u3,z5=Z3+1|0,B6=(z5|0)==(c0|0),!B6;)Z3=z5;if(I2(b1),w3=Ab(n,c0,x2)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(q1)|0,x3=t+24|0,e[x3>>2]=i6,a3=e[b>>2]|0,l3=(a3|0)>0,l3)for(B=e[i1>>2]|0,b6=0,I6=0;;)if(c3=B+b6|0,C3=d[c3>>0]|0,H5=C3<<24>>24>0,H5?(U5=I6+1|0,O5=x2+(I6<<2)|0,v5=e[O5>>2]|0,P3=i6+(v5<<2)|0,e[P3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{K6=J6;break}else K6=0;if(A3=S9(K6)|0,R3=t+28|0,e[R3>>2]=A3,u6=t+40|0,e[u6>>2]=0,l3){for(p=e[i1>>2]|0,n5=0,k3=p,A6=0,j6=0;;)if(Q3=k3+A6|0,y3=d[Q3>>0]|0,r6=y3<<24>>24>0,r6?(j3=j6+1|0,O3=x2+(j6<<2)|0,S3=e[O3>>2]|0,g3=e[R3>>2]|0,q3=g3+S3|0,d[q3>>0]=y3,l6=e[i1>>2]|0,d3=l6+A6|0,v6=d[d3>>0]|0,k6=v6<<24>>24,S6=e[u6>>2]|0,p6=(k6|0)>(S6|0),p6?(e[u6>>2]=k6,L2=k6,_2=l6,G6=j3):(L2=S6,_2=l6,G6=j3)):(L2=n5,_2=k3,G6=j6),X3=A6+1|0,D=e[b>>2]|0,y=(X3|0)<(D|0),y)n5=L2,k3=_2,A6=X3,j6=G6;else{I=L2,e9=G6;break}if(_=(e9|0)==1,_){if(x=(I|0)==1,x)return L=t+36|0,e[L>>2]=1,F=n4(2,4)|0,M=t+32|0,e[M>>2]=F,T=F+4|0,e[T>>2]=1,e[F>>2]=1,a=0,C=M3,a|0;F3=1}else F3=e9}else F3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)R6=-4;else{for(g=N,U6=0;;)if(z=g>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else g=z,U6=Y;s9=D6+-3|0,R6=s9}if(J=t+36|0,W=(R6|0)<5,A=W?5:R6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,q=1<>2]=X,l0=(F3|0)>0,l0)for(n0=z6,t3=0;;){if(K=e[R3>>2]|0,$0=K+t3|0,s0=d[$0>>0]|0,i0=s0<<24>>24,V=(n0|0)<(i0|0),V)p2=n0;else if(h0=e[j5>>2]|0,o0=h0+(t3<<2)|0,g0=e[o0>>2]|0,j=g0>>>16,u0=g0<<16,I0=j|u0,w0=I0>>>8,C0=w0&16711935,v0=I0<<8,d0=v0&-16711936,p0=C0|d0,B0=p0>>>4,E0=B0&252645135,b0=p0<<4,L0=b0&-252645136,Q0=E0|L0,M0=Q0>>>2,T0=M0&858993459,G0=Q0<<2,P0=G0&-858993460,y0=T0|P0,Y0=y0>>>1,F0=Y0&1431655765,_0=y0<<1,V0=_0&-1431655766,J0=F0|V0,O0=n0-i0|0,z0=(O0|0)==31,z0)p2=n0;else for(U0=t3+1|0,r1=i0,s3=0;;)if(q0=s3<>2]=U0,D0=s3+1|0,c1=e[J>>2]|0,$1=d[$0>>0]|0,u1=$1<<24>>24,g1=c1-u1|0,l1=1<>>16,B1=E1<<16,Q1=p1|B1,L1=Q1>>>8,x1=L1&16711935,w1=Q1<<8,R1=w1&-16711936,F1=x1|R1,G1=F1>>>4,v1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=v1|Z1,_1=N1>>>2,V1=_1&858993459,O1=N1<<2,H1=O1&-858993460,Y1=V1|H1,j1=Y1>>>1,n2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=n2|P1,z1=X+(c2<<2)|0,u2=e[z1>>2]|0,o2=(u2|0)==0,o2){for(d6=a6;;){if(K1=d6+1|0,h2=(K1|0)<(F3|0),!h2){_3=d6;break}if($2=e[j5>>2]|0,i2=$2+(K1<<2)|0,l2=e[i2>>2]|0,r2=l2>>>0>E1>>>0,r2){_3=d6;break}else d6=K1}a2=(F3|0)>(C6|0);e:do if(a2)for(X1=e[j5>>2]|0,e6=C6;;){if(s2=X1+(e6<<2)|0,f2=e[s2>>2]|0,y2=f2&Z0,k2=E1>>>0>>0,k2){b3=e6;break e}if(w2=e6+1|0,C2=(F3|0)>(w2|0),C2)e6=w2;else{b3=w2;break}}else b3=C6;while(!1);F2=F3-b3|0,D2=_3>>>0>32767,N2=F2>>>0>32767,f6=N2?32767:F2,N6=_3<<15,n6=N6|-2147483648,d2=D2?-1073774592:n6,K2=d2|f6,e[z1>>2]=K2,t6=b3,Q6=_3}else t6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(q|0),!M2){a=0;break}S=e[J>>2]|0,d1=S,C6=t6,O6=G2,a6=Q6}return C=M3,a|0}function lb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=e[A>>2]|0,g=e[n>>2]|0,u=e[g>>2]|0,E=a>>>0>u>>>0,I=E&1,m=a>>>0>>0,B=m&1,p=I-B|0,p|0}function cb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0;if(K0=C,B=e[t>>2]|0,p=(B|0)==1,!p&&(M=t+4|0,q=e[M>>2]|0,i0=t+8|0,n0=e[i0>>2]|0,V=n0+4|0,h0=e[V>>2]|0,o0=(h0|0)>0,!!o0)){for(g0=h0+1|0,m=B+-1|0,I0=B,w0=0,C0=B,d0=1;;){S=g0-w0|0,b=n0+(S<<2)|0,v=e[b>>2]|0,w=(C0|0)/(v|0)&-1,D=(B|0)/(C0|0)&-1,y=r5(D,w)|0,_=v+-1|0,x=r5(D,_)|0,L=I0-x|0,F=1-d0|0;do if((v|0)==2)if(Y=(F|0)==0,A=m+L|0,t0=q+(A<<2)|0,Y){kQ(D,w,n,q,t0),p0=0;break}else{kQ(D,w,q,n,t0),p0=F;break}else if((v|0)==4)if(T=L+D|0,N=(F|0)==0,a=m+L|0,G=q+(a<<2)|0,g=m+T|0,O=q+(g<<2)|0,u=m+D|0,E=u+T|0,z=q+(E<<2)|0,N){vQ(D,w,n,q,G,O,z),p0=0;break}else{vQ(D,w,q,n,G,O,z),p0=F;break}else if(J=(D|0)==1,v0=J?d0:F,W=(v0|0)==0,I=m+L|0,e0=q+(I<<2)|0,W){SQ(D,v,w,y,n,n,n,q,q,e0),p0=1;break}else{SQ(D,v,w,y,q,q,q,n,n,e0),p0=0;break}while(!1);if(X=w0+1|0,c0=(X|0)==(h0|0),c0){B0=p0;break}else I0=L,w0=X,C0=w,d0=p0}if(U=(B0|0)!=1,l0=(B|0)>0,E0=l0&U,E0)u0=0;else return;for(;Z=q+(u0<<2)|0,K=e[Z>>2]|0,$0=n+(u0<<2)|0,e[$0>>2]=K,s0=u0+1|0,j=(s0|0)==(B|0),!j;)u0=s0}}function yQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,x=t+4|0,e[x>>2]=I,J=n4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(n|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,u1=n,l1=0;e:for(;;)for(L0=H0+1|0,Q0=(L0|0)<4,Q0?(M0=25768+(L0<<2)|0,m=e[M0>>2]|0,s1=m):(B=l1+2|0,s1=B),p=(s1|0)!=2,O0=$1,g1=u1;;){if(V0=O0+1|0,S=(g1|0)/(s1|0)&-1,b=r5(S,s1)|0,v=(g1|0)==(b|0),!v){H0=L0,$1=O0,u1=g1,l1=s1;continue e}if(w=O0+2|0,D=J+(w<<2)|0,e[D>>2]=s1,y=(O0|0)==0,a1=p|y,!a1){if(_=(O0|0)<1,!_)for(F0=1;L=V0-F0|0,F=L+1|0,M=J+(F<<2)|0,T=e[M>>2]|0,N=L+2|0,G=J+(N<<2)|0,e[G>>2]=T,O=F0+1|0,y0=(O|0)==(V0|0),!y0;)F0=O;e[K0>>2]=2}if(z=(S|0)==1,z){A=y,J0=V0,z0=O0;break e}else O0=V0,g1=S}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=J0,t0=+(n|0),W=6.2831854820251465/t0,a=A^1,e0=(z0|0)>0,n1=e0&a,!!n1)for(q=n+1|0,U0=0,D0=0,i1=1;;){if(X=D0+2|0,U=J+(X<<2)|0,l0=e[U>>2]|0,Z=r5(l0,i1)|0,K=(n|0)/(Z|0)&-1,$0=(l0|0)>1,$0){for(s0=(K|0)>2,n0=l0+-1|0,r1=U0,e1=0,c1=0;;){if(V=c1+i1|0,h0=+(V|0),o0=h0*W,s0)for(Y0=0,_0=r1,N0=2;g0=Y0+1,j=o0*g0,T0=+jA(+j),g=_0+n|0,c0=I+(g<<2)|0,s[c0>>2]=T0,o1=+Pn(+j),u0=_0+2|0,u=q+_0|0,I0=I+(u<<2)|0,s[I0>>2]=o1,w0=N0+2|0,v0=(w0|0)<(K|0),v0;)Y0=g0,_0=u0,N0=w0;if(d0=r1+K|0,p0=e1+1|0,G0=(p0|0)==(n0|0),G0)break;r1=d0,e1=p0,c1=V}B0=r5(K,n0)|0,E0=B0+U0|0,q0=E0}else q0=U0;if(b0=D0+1|0,P0=(b0|0)==(z0|0),P0)break;U0=q0,D0=b0,i1=Z}}}function wQ(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;B=C,n=(t|0)==0,!n&&(A=t+4|0,a=e[A>>2]|0,g=(a|0)==0,g||I2(a),u=t+8|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function vQ(t,n,A,a,g,u,E){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0;var I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0;if(f3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,y2=t<<1,g2=0,s5=I,u5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,f5=+s[M2>>2],R5=A+(u5<<2)|0,B=+s[R5>>2],F=B+f5,e0=A+(j2<<2)|0,V=+s[e0>>2],d0=A+($5<<2)|0,P0=+s[d0>>2],q0=P0+V,s1=q0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=q0-F,E1=K1+I1|0,p1=a+(E1<<2)|0,s[p1>>2]=d1,B1=+s[e0>>2],Q1=+s[d0>>2],L1=B1-Q1,x1=I1+y2|0,w1=x1+-1|0,b1=a+(w1<<2)|0,s[b1>>2]=L1,R1=+s[R5>>2],G1=+s[M2>>2],v1=R1-G1,U1=a+(x1<<2)|0,s[U1>>2]=v1,Z1=s5+t|0,N1=u5+t|0,_1=j2+t|0,V1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,u5=N1,j2=_1,$5=V1;if(q1=(t|0)<2,!q1){if(H1=(t|0)==2,!H1){if(m1)for(j1=t<<1,B5=0,h5=0;;){for(j=h5<<2,c0=j+j1|0,W2=2,i5=h5,x2=j,q5=c0;P1=i5+2|0,c2=x2+2|0,z1=q5+-2|0,u2=P1+I|0,o2=W2+-2|0,E2=g+(o2<<2)|0,A2=+s[E2>>2],h2=u2+-1|0,$2=A+(h2<<2)|0,i2=+s[$2>>2],l2=i2*A2,r2=W2+-1|0,a2=g+(r2<<2)|0,X1=+s[a2>>2],s2=A+(u2<<2)|0,f2=+s[s2>>2],t2=f2*X1,k2=t2+l2,w2=f2*A2,C2=X1*i2,F2=w2-C2,D2=u2+I|0,N2=u+(o2<<2)|0,d2=+s[N2>>2],K2=D2+-1|0,G2=A+(K2<<2)|0,H2=+s[G2>>2],P2=H2*d2,z2=u+(r2<<2)|0,o5=+s[z2>>2],O2=A+(D2<<2)|0,T1=+s[O2>>2],X2=T1*o5,x5=X2+P2,e5=T1*d2,b5=o5*H2,Z2=e5-b5,k5=D2+I|0,P5=E+(o2<<2)|0,l5=+s[P5>>2],v2=k5+-1|0,m5=A+(v2<<2)|0,n5=+s[m5>>2],L2=n5*l5,_2=E+(r2<<2)|0,p2=+s[_2>>2],C5=A+(k5<<2)|0,d5=+s[C5>>2],D5=d5*p2,G5=D5+L2,_5=d5*l5,q2=p2*n5,I5=_5-q2,A5=G5+k2,c5=G5-k2,p5=I5+F2,M1=F2-I5,p=A+(P1<<2)|0,S=+s[p>>2],b=S+Z2,v=S-Z2,w=i5+1|0,D=A+(w<<2)|0,y=+s[D>>2],_=y+x5,x=y-x5,L=A5+_,M=x2|1,T=a+(M<<2)|0,s[T>>2]=L,N=p5+b,G=a+(c2<<2)|0,s[G>>2]=N,O=x-M1,z=q5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=O,t0=c5-v,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+x,q=c2+j1|0,X=q+-1|0,U=a+(X<<2)|0,s[U>>2]=W,l0=c5+v,Z=a+(q<<2)|0,s[Z>>2]=l0,K=_-A5,$0=z1+j1|0,s0=$0+-1|0,i0=a+(s0<<2)|0,s[i0>>2]=K,n0=p5-b,h0=a+($0<<2)|0,s[h0>>2]=n0,o0=W2+2|0,g0=(o0|0)<(t|0),g0;)W2=o0,i5=P1,x2=c2,q5=z1;if(n2=h5+t|0,W1=B5+1|0,a5=(W1|0)==(n|0),a5)break;B5=W1,h5=n2}if(u0=t&1,I0=(u0|0)==0,!I0)return}if(w0=t+-1|0,C0=w0+I|0,v0=t<<2,p0=t<<1,!!m1)for(B0=C0+m|0,t5=0,J2=C0,L5=B0,Q5=t,j5=t;E0=A+(J2<<2)|0,b0=+s[E0>>2],K0=A+(L5<<2)|0,L0=+s[K0>>2],Q0=L0+b0,M0=Q0*-.7071067690849304,T0=b0-L0,G0=T0*.7071067690849304,y0=j5+-1|0,Y0=A+(y0<<2)|0,F0=+s[Y0>>2],_0=G0+F0,N0=Q5+-1|0,V0=a+(N0<<2)|0,s[V0>>2]=_0,J0=+s[Y0>>2],O0=J0-G0,z0=Q5+p0|0,U0=z0+-1|0,r1=a+(U0<<2)|0,s[r1>>2]=O0,H0=J2+I|0,e1=A+(H0<<2)|0,D0=+s[e1>>2],i1=M0-D0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],u1=$1+M0,g1=a+(z0<<2)|0,s[g1>>2]=u1,l1=J2+t|0,a1=L5+t|0,n1=Q5+v0|0,o1=j5+t|0,Z0=t5+1|0,S5=(Z0|0)==(n|0),!S5;)t5=Z0,J2=l1,L5=a1,Q5=n1,j5=o1}}function kQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0;if(v1=C,u=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,B1=u;s0=A+(d1<<2)|0,w0=+s[s0>>2],M0=A+(B1<<2)|0,O0=+s[M0>>2],u1=O0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=u1,m=+s[s0>>2],B=+s[M0>>2],p=m-B,S=t0+s1|0,b=a+(S<<2)|0,s[b>>2]=p,v=d1+t|0,w=B1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,d1=v,B1=w;if(y=(t|0)<2,!y){if(x=(t|0)==2,!x){if(_)for(h1=0,E1=0,Q1=u;;){for(Y0=E1<<1,F0=Y0+E|0,Z0=2,x1=Q1,b1=F0,R1=E1,F1=Y0;T=x1+2|0,N=b1+-2|0,G=R1+2|0,O=F1+2|0,z=Z0+-2|0,Y=g+(z<<2)|0,J=+s[Y>>2],W=x1+1|0,e0=A+(W<<2)|0,q=+s[e0>>2],X=q*J,U=Z0+-1|0,l0=g+(U<<2)|0,Z=+s[l0>>2],K=A+(T<<2)|0,$0=+s[K>>2],i0=$0*Z,n0=i0+X,V=$0*J,h0=Z*q,o0=V-h0,g0=A+(G<<2)|0,j=+s[g0>>2],c0=o0+j,u0=a+(O<<2)|0,s[u0>>2]=c0,I0=+s[g0>>2],C0=o0-I0,v0=a+(N<<2)|0,s[v0>>2]=C0,d0=R1+1|0,p0=A+(d0<<2)|0,B0=+s[p0>>2],E0=B0+n0,b0=F1|1,K0=a+(b0<<2)|0,s[K0>>2]=E0,L0=+s[p0>>2],Q0=L0-n0,T0=b1+-3|0,G0=a+(T0<<2)|0,s[G0>>2]=Q0,P0=Z0+2|0,y0=(P0|0)<(t|0),y0;)Z0=P0,x1=T,b1=N,R1=G,F1=O;if(L=E1+t|0,F=Q1+t|0,M=h1+1|0,o1=(M|0)==(n|0),o1)break;h1=M,E1=L,Q1=F}if(_0=(t|0)%2&-1,N0=(_0|0)==1,N0)return}if(V0=t+-1|0,!!_)for(J0=u+V0|0,m1=0,p1=t,L1=J0,w1=V0;z0=A+(L1<<2)|0,U0=+s[z0>>2],q0=-U0,r1=a+(p1<<2)|0,s[r1>>2]=q0,H0=A+(w1<<2)|0,e1=e[H0>>2]|0,D0=p1+-1|0,i1=a+(D0<<2)|0,e[i1>>2]=e1,c1=p1+E|0,$1=L1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,p1=c1,L1=$1,w1=g1}}function SQ(t,n,A,a,g,u,E,I,m,B){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0,B=B|0;var p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,e8=0,U4=0,Ge=0,P4=0,ee=0,be=0,t8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,i8=0,g4=0,v4=0,f8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,d8=0,H8=0,Y8=0,et=0,tt=0,I8=0,Pe=0,xe=0,r8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,n8=0,q4=0,Re=0,s8=0,E8=0,_8=0,ue=0,j9=0,o8=0,m8=0,A8=0,C8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,a8=0,we=0,Q4=0,p8=0,nt=0,H4=0,I3=0,He=0,B8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,$8=0,l8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,c8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,Q8=0;Q8=C,b=+(n|0),v=6.2831854820251465/b,d8=+jA(+v),Gt=+Pn(+v),E2=n+1|0,Q3=E2>>1,U9=t+-1|0,U4=U9>>1,R9=r5(A,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(vt=(a|0)>0,vt)for(we=0;c0=E+(we<<2)|0,K0=e[c0>>2]|0,N0=m+(we<<2)|0,e[N0>>2]=K0,i1=we+1|0,m8=(i1|0)==(a|0),!m8;)we=i1;if(O=(n|0)>1,O)for(Z=(A|0)>0,B8=1,Ht=0;;){if(I1=Ht+R9|0,Z)for(At=0,e4=I1;b1=u+(e4<<2)|0,q1=e[b1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=q1,t2=e4+t|0,H2=At+1|0,j9=(H2|0)==(A|0),!j9;)At=H2,e4=t2;if(Z2=B8+1|0,o8=(Z2|0)==(n|0),o8)break;B8=Z2,Ht=I1}if(C5=0-t|0,M1=(U4|0)>(A|0),M1){if(O)for(G3=(A|0)>0,H5=(t|0)>2,I3=C5,H9=1,_t=0;;){if(k3=_t+R9|0,v6=I3+t|0,G3)for(e6=k3-t|0,s3=v6+-1|0,$8=0,xt=e6;;){if(F3=xt+t|0,H5)for(A8=2,de=s3,E7=F3;M3=de+2|0,E6=E7+2|0,E9=de+1|0,X4=B+(E9<<2)|0,N4=+s[X4>>2],G4=E7+1|0,a4=u+(G4<<2)|0,R4=+s[a4>>2],u4=R4*N4,Ce=B+(M3<<2)|0,q9=+s[Ce>>2],m9=u+(E6<<2)|0,pe=+s[m9>>2],Ne=pe*q9,e8=Ne+u4,Ge=I+(G4<<2)|0,s[Ge>>2]=e8,P4=+s[X4>>2],ee=+s[m9>>2],be=ee*P4,t8=+s[Ce>>2],Z9=+s[a4>>2],$e=Z9*t8,f4=be-$e,_6=I+(E6<<2)|0,s[_6>>2]=f4,O4=A8+2|0,$4=(O4|0)<(t|0),$4;)A8=O4,de=M3,E7=E6;if(_4=$8+1|0,s8=(_4|0)==(A|0),s8)break;$8=_4,xt=F3}if(le=H9+1|0,E8=(le|0)==(n|0),E8)break;I3=v6,H9=le,_t=k3}}else if(O)for(u5=(t|0)>2,h3=(A|0)>0,He=C5,se=1,Ut=0;;){if(W9=He+t|0,ce=Ut+R9|0,u5)for(ge=W9+-1|0,C8=2,a8=ge,r7=ce;;){if(p4=a8+2|0,te=r7+2|0,h3)for(F4=a8+1|0,he=B+(F4<<2)|0,g6=B+(p4<<2)|0,l8=0,Kt=te;Ue=+s[he>>2],l4=Kt+-1|0,Be=u+(l4<<2)|0,B4=+s[Be>>2],c4=B4*Ue,P6=+s[g6>>2],De=u+(Kt<<2)|0,_e=+s[De>>2],i8=_e*P6,v4=i8+c4,f8=I+(l4<<2)|0,s[f8>>2]=v4,J3=+s[he>>2],w9=+s[De>>2],p9=w9*J3,M4=+s[g6>>2],ie=+s[Be>>2],ct=ie*M4,Le=p9-ct,gt=I+(Kt<<2)|0,s[gt>>2]=Le,W8=Kt+t|0,ht=l8+1|0,_8=(ht|0)==(A|0),!_8;)l8=ht,Kt=W8;if(ut=C8+2|0,T8=(ut|0)<(t|0),T8)C8=ut,a8=p4,r7=te;else break}if(N8=se+1|0,ue=(N8|0)==(n|0),ue)break;He=W9,se=N8,Ut=ce}if(G8=r5(R9,n)|0,U8=(U4|0)<(A|0),j8=(Q3|0)>1,!U8){if(!j8)break;for(X8=(A|0)>0,kt=(t|0)>2,Ye=1,c8=0,U7=G8;;){if(p0=c8+R9|0,B0=U7-R9|0,X8)for(Y4=0,n7=p0,s7=B0;;){if(kt)for(ye=2,zt=n7,y7=s7;E0=zt+2|0,b0=y7+2|0,L0=zt+1|0,Q0=I+(L0<<2)|0,M0=+s[Q0>>2],T0=y7+1|0,G0=I+(T0<<2)|0,P0=+s[G0>>2],y0=P0+M0,Y0=u+(L0<<2)|0,s[Y0>>2]=y0,F0=I+(E0<<2)|0,_0=+s[F0>>2],V0=I+(b0<<2)|0,J0=+s[V0>>2],O0=_0-J0,z0=u+(T0<<2)|0,s[z0>>2]=O0,U0=+s[F0>>2],q0=+s[V0>>2],r1=q0+U0,H0=u+(E0<<2)|0,s[H0>>2]=r1,e1=+s[G0>>2],D0=+s[Q0>>2],c1=e1-D0,$1=u+(b0<<2)|0,s[$1>>2]=c1,u1=ye+2|0,g1=(u1|0)<(t|0),g1;)ye=u1,zt=E0,y7=b0;if(l1=n7+t|0,s1=s7+t|0,a1=Y4+1|0,q4=(a1|0)==(A|0),q4)break;Y4=a1,n7=l1,s7=s1}if(n1=Ye+1|0,Re=(n1|0)==(Q3|0),Re)break e;Ye=n1,c8=p0,U7=B0}}if(j8)for(D=(t|0)>2,y=(A|0)>0,D9=1,Yt=0,G7=G8;;){if(_=Yt+R9|0,x=G7-R9|0,D)for(fe=2,m7=_,B7=x;;){if(L=m7+2|0,F=B7+2|0,y)for(M=F-t|0,T=L-t|0,L8=0,V7=T,hi=M;N=V7+t|0,G=hi+t|0,z=N+-1|0,Y=I+(z<<2)|0,t0=+s[Y>>2],J=G+-1|0,W=I+(J<<2)|0,e0=+s[W>>2],q=e0+t0,X=u+(z<<2)|0,s[X>>2]=q,U=I+(N<<2)|0,l0=+s[U>>2],K=I+(G<<2)|0,$0=+s[K>>2],s0=l0-$0,i0=u+(J<<2)|0,s[i0>>2]=s0,n0=+s[U>>2],V=+s[K>>2],h0=V+n0,o0=u+(N<<2)|0,s[o0>>2]=h0,g0=+s[W>>2],j=+s[Y>>2],u0=g0-j,I0=u+(G<<2)|0,s[I0>>2]=u0,w0=L8+1|0,D8=(w0|0)==(A|0),!D8;)L8=w0,V7=N,hi=G;if(C0=fe+2|0,v0=(C0|0)<(t|0),v0)fe=C0,m7=L,B7=F;else break}if(d0=D9+1|0,n8=(d0|0)==(Q3|0),n8)break;D9=d0,Yt=_,G7=x}}while(!1);if(w=(a|0)>0,w)for(Q4=0;o1=m+(Q4<<2)|0,Z0=e[o1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,m1=Q4+1|0,J8=(m1|0)==(a|0),!J8;)Q4=m1;if(d1=r5(a,n)|0,E1=(Q3|0)>1,E1){for(p1=(A|0)>0,V8=1,R8=0,P7=d1;;){if(B1=R8+R9|0,Q1=P7-R9|0,p1)for(L1=Q1-t|0,x1=B1-t|0,at=0,$i=x1,ci=L1;w1=$i+t|0,R1=ci+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],v1=I+(R1<<2)|0,U1=+s[v1>>2],Z1=U1+G1,N1=u+(w1<<2)|0,s[N1>>2]=Z1,_1=+s[v1>>2],V1=+s[F1>>2],O1=_1-V1,H1=u+(R1<<2)|0,s[H1>>2]=O1,Y1=at+1|0,re=(Y1|0)==(A|0),!re;)at=Y1,$i=w1,ci=R1;if(j1=V8+1|0,rt=(j1|0)==(Q3|0),rt)break;V8=j1,R8=B1,P7=Q1}if(n2=n+-1|0,W1=r5(n2,a)|0,E1){for(P1=(Q3|0)>2,P8=0,q8=1,Ve=1,Lt=0,d7=d1;;){if(c2=Lt+a|0,z1=d7-a|0,u2=q8*d8,o2=P8*Gt,K1=u2-o2,h2=P8*d8,$2=q8*Gt,i2=$2+h2,w)for(p8=0,q7=c2,A7=z1,z7=W1,Wt=a;l2=E+(p8<<2)|0,r2=+s[l2>>2],a2=Wt+1|0,X1=E+(Wt<<2)|0,s2=+s[X1>>2],f2=s2*K1,y2=f2+r2,k2=q7+1|0,w2=m+(q7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*i2,d2=A7+1|0,K2=m+(A7<<2)|0,s[K2>>2]=N2,G2=p8+1|0,dt=(G2|0)==(a|0),!dt;)p8=G2,q7=k2,A7=d2,z7=C2,Wt=a2;if(P1)for(O8=i2,k8=K1,It=2,H7=a,Pt=W1;;){if(M2=H7+a|0,P2=Pt-a|0,z2=k8*K1,o5=O8*i2,O2=z2-o5,T1=O8*K1,X2=k8*i2,x5=X2+T1,w)for(nt=0,w7=c2,S7=z1,b7=M2,Rt=P2;e5=b7+1|0,b5=E+(b7<<2)|0,f5=+s[b5>>2],k5=f5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,v2=+s[l5>>2],m5=v2+k5,s[l5>>2]=m5,n5=Rt+1|0,L2=E+(Rt<<2)|0,_2=+s[L2>>2],p2=_2*x5,R5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+p2,s[d5>>2]=G5,_5=nt+1|0,St=(_5|0)==(a|0),!St;)nt=_5,w7=P5,S7=R5,b7=e5,Rt=n5;if(q2=It+1|0,it=(q2|0)==(Q3|0),it)break;O8=x5,k8=O2,It=q2,H7=M2,Pt=P2}if(I5=Ve+1|0,bt=(I5|0)==(Q3|0),bt)break;P8=i2,q8=K1,Ve=I5,Lt=c2,d7=z1}if(E1)for(st=1,Z8=0;;){if(A5=Z8+a|0,w)for(H4=0,Jt=A5;c5=Jt+1|0,p5=E+(Jt<<2)|0,S5=+s[p5>>2],g5=m+(H4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=H4+1|0,ft=(g2|0)==(a|0),!ft;)H4=g2,Jt=c5;if(B5=st+1|0,Qe=(B5|0)==(Q3|0),Qe)break;st=B5,Z8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,qe=0;;){if(i5)for(Je=0,Ie=qe,Vt=qe;J5=I+(Ie<<2)|0,X5=e[J5>>2]|0,n3=g+(Vt<<2)|0,e[n3>>2]=X5,m3=Ie+t|0,F5=Vt+C9|0,V5=Je+1|0,xe=(V5|0)==(A|0),!xe;)Je=V5,Ie=m3,Vt=F5;if(v3=qe+1|0,r8=(v3|0)==(t|0),r8)break;qe=v3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,x8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;L5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,x2=Y7+1|0,Q5=g+(Y7<<2)|0,e[Q5>>2]=$5,q5=Oe+1|0,b8=(q5|0)==(t|0),!b8;)Oe=q5,O7=L5,Y7=x2;if(j5=Me+t|0,E5=I7+C9|0,f3=x8+1|0,v9=(f3|0)==(A|0),v9)break;x8=f3,Me=j5,I7=E5}if(u3=t<<1,B3=r5(R9,n)|0,E1)for(z3=(A|0)>0,ot=1,Dt=0,C7=0,J7=B3;;){if(z5=Dt+u3|0,w3=C7+R9|0,W5=J7-R9|0,z3)for(B9=0,Zt=z5,v7=w3,W7=W5;i6=I+(v7<<2)|0,x3=e[i6>>2]|0,U3=Zt+-1|0,a3=g+(U3<<2)|0,e[a3>>2]=x3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=g+(Zt<<2)|0,e[C3>>2]=c3,U5=Zt+C9|0,O5=v7+t|0,v5=W7+t|0,P3=B9+1|0,I8=(P3|0)==(A|0),!I8;)B9=P3,Zt=U5,v7=O5,W7=v5;if(M5=ot+1|0,Pe=(M5|0)==(Q3|0),Pe)break;ot=M5,Dt=z5,C7=w3,J7=W5}if(!g4){if(o6=(U4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(p=(A|0)<1,S=(t|0)<3,S8=p|S,K8=1,lt=e3,p7=0,o7=0,gi=B3;;){if(u6=lt+u3|0,y3=p7+u3|0,r6=o7+R9|0,j3=gi-R9|0,!S8)for($t=0,Z7=u6,a7=y3,ve=r6,$7=j3;;){for(X9=2;l6=t-X9|0,d3=X9+ve|0,k6=d3+-1|0,S6=I+(k6<<2)|0,p6=+s[S6>>2],X3=X9+$7|0,c6=X3+-1|0,B6=I+(c6<<2)|0,L6=+s[B6>>2],Y6=L6+p6,C6=X9+a7|0,b3=C6+-1|0,t6=g+(b3<<2)|0,s[t6>>2]=Y6,f6=+s[S6>>2],H3=+s[B6>>2],D3=f6-H3,Y3=l6+Z7|0,Z3=Y3+-1|0,b6=g+(Z3<<2)|0,s[b6>>2]=D3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(X3<<2)|0,a6=+s[O6>>2],d6=a6+t3,_3=g+(C6<<2)|0,s[_3>>2]=d6,N6=+s[O6>>2],n6=+s[A6>>2],Q6=N6-n6,x6=g+(Y3<<2)|0,s[x6>>2]=Q6,K6=X9+2|0,I6=(K6|0)<(t|0),I6;)X9=K6;if(O3=Z7+C9|0,K5=a7+C9|0,S3=ve+t|0,g3=$7+t|0,q3=$t+1|0,et=(q3|0)==(A|0),et)break;$t=q3,Z7=O3,a7=K5,ve=S3,$7=g3}if(J6=K8+1|0,tt=(J6|0)==(Q3|0),tt)break;K8=J6,lt=u6,p7=y3,o7=r6,gi=j3}return}if(E1)for(A3=(t|0)>2,R3=(A|0)>0,ne=1,oe=e3,li=0,Q7=0,K7=B3;;){if(j6=oe+u3|0,G6=li+u3|0,e9=Q7+R9|0,s9=K7-R9|0,A3&&(R6=j6+t|0,R3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,x4=Fe+G6|0,T4=R6-Fe|0,z8=0,k7=T4,Ot=x4,D7=D4,n9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],X6=A9+F6,u9=Ot+-1|0,f9=g+(u9<<2)|0,s[f9>>2]=X6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=k7+-1|0,T6=g+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=g+(Ot<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,q6=g+(k7<<2)|0,s[q6>>2]=b9,r9=k7+C9|0,m4=Ot+C9|0,S4=D7+t|0,A4=n9+t|0,y9=z8+1|0,H8=(y9|0)==(A|0),!H8;)z8=y9,k7=r9,Ot=m4,D7=S4,n9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=ne+1|0,Y8=(C4|0)==(Q3|0),Y8)break;ne=C4,oe=j6,li=G6,Q7=e9,K7=s9}}}function gb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,e8=0,U4=0,Ge=0,P4=0,ee=0,be=0,t8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,i8=0,g4=0,v4=0,f8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,d8=0,H8=0,Y8=0,et=0,tt=0,I8=0,Pe=0,xe=0,r8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,n8=0,q4=0,Re=0,s8=0,E8=0,_8=0,ue=0,j9=0,o8=0,m8=0,A8=0,C8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,a8=0,we=0,Q4=0,p8=0,nt=0,H4=0,I3=0,He=0,B8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,$8=0,l8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,c8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,Q8=0,mt=0,Ft=0,Wr=0,mr=0,io=0,qn=0,ro=0,Hn=0,no=0,so=0,Yn=0,oo=0,jr=0,Ao=0,ao=0,$o=0,Jn=0,lo=0,Vn=0,Kn=0,co=0,Xr=0,zn=0,en=0,Zn=0,Wn=0,go=0,ho=0,uo=0,tn=0,jn=0,fo=0,Cr=0,rn=0,Io=0,Eo=0,nn=0,ui=0,Xn=0,mo=0,Co=0,es=0,ts=0,is=0,po=0,fi=0,sn=0,Bo=0,rs=0,Qo=0,yo=0,wo=0,ns=0,vo=0,ko=0,So=0,bo=0,ss=0,Do=0,_o=0,on=0,pr=0,An=0,Lo=0,Xi=0,xo=0,os=0,an=0,As=0,$n=0,Ro=0,as=0,$s=0,Fo=0,ls=0,cs=0,Mo=0,Br=0,gs=0,di=0,ln=0,Qr=0,er=0,yr=0,Yi=0,wr=0,hs=0,Ji=0,vi=0,ki=0,j7=0,Si=0,vr=0,tr=0,ir=0,kr=0,Ii=0,To=0,l7=0,rl=0,cn=0,gn=0,Uh=0,nl=0,No=0,Ph=0,ta=0,sl=0,Oh=0,qh=0,Hh=0,ia=0,ol=0,Al=0,ra=0,hn=0,al=0,Yh=0,Go=0,rr=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,eu=0,tu=0,$l=0,Sr=0,iu=0,ru=0,ll=0,nu=0,na=0,Uo=0,sa=0,su=0,ou=0,oa=0,cl=0,gl=0,hl=0,Aa=0,ul=0,Po=0,Au=0,au=0,fl=0,$u=0,lu=0,dl=0,cu=0,gu=0,Il=0,El=0,ml=0,Cl=0,pl=0,un=0,hu=0,Bl=0,uu=0,Ql=0,yl=0,fu=0,du=0,Iu=0,aa=0,wl=0,vl=0,us=0,kl=0,$a=0,Eu=0,Sl=0,mu=0,bl=0,Cu=0,pu=0,Dl=0,_l=0,Bu=0,Oo=0,Qu=0,la=0,Ll=0,xl=0,yu=0,wu=0,vu=0,ku=0,Su=0,bu=0,qo=0,Rl=0,Fl=0,Ml=0,Ho=0,Du=0,Tl=0,_u=0,Nl=0,Lu=0,xu=0,Gl=0,ca=0,Ru=0,Fu=0,Yo=0,Mu=0,Jo=0,Tu=0,ga=0,Nu=0,Gu=0,Uu=0,Ul=0,Pu=0,Ou=0,qu=0,Hu=0,Pl=0,Ol=0,nr=0,ql=0,Vo=0,ha=0,ua=0,fn=0,Hl=0,dn=0,Yu=0,Yl=0,Ju=0,Vu=0,Ku=0,zu=0,Ko=0,fa=0,br=0,Zu=0,Wu=0,Jl=0,da=0,Vl=0,Kl=0,ju=0,zl=0,Xu=0,Ia=0,ef=0,tf=0,P9=0,rf=0,Zl=0,nf=0,sf=0,Ea=0,of=0,ma=0,Wl=0,Af=0,af=0,jl=0,Xl=0,$f=0,Ca=0,pa=0,ec=0,tc=0,lf=0,ic=0,Ba=0,cf=0,rc=0,gf=0,hf=0,uf=0,ff=0,nc=0,sc=0,Qa=0,zo=0,oc=0,df=0,Ac=0,ac=0,If=0,Ef=0,mf=0,$c=0,Cf=0,pf=0,Bf=0,Qf=0,yf=0,wf=0,lc=0,vf=0,cc=0,kf=0,In=0,Sf=0,gc=0,bf=0,fs=0,hc=0,ya=0,Df=0,Zo=0,wa=0,_f=0,va=0,uc=0,Lf=0,xf=0,Rf=0,Ff=0,Mf=0,fc=0,Tf=0,Nf=0,Gf=0,Wo=0,ds=0,ka=0,Uf=0,Sa=0,Pf=0,Of=0,qf=0,dc=0,Hf=0,Yf=0,Jf=0,Vf=0,Kf=0,jo=0,zf=0,Zf=0,Ic=0,Wf=0,jf=0,Xf=0,ed=0,Ei=0,Ec=0,mi=0,mc=0,ba=0,td=0,X7=0,Is=0,id=0,rd=0,nd=0,sd=0,od=0,Cc=0,Ad=0,ad=0,pc=0,$d=0,ld=0,Es=0,Da=0,cd=0,Bc=0,gd=0,hd=0,Xo=0,ud=0,fd=0,Qc=0,yc=0,dd=0,Id=0,En=0,Ed=0,md=0,mn=0,Cd=0,wc=0,pd=0,Bd=0,ms=0,vc=0,Qd=0,kc=0,yd=0,sr=0,_a=0,wd=0,Sc=0,bc=0,vd=0,kd=0,Dc=0,Sd=0,bd=0,Dd=0,_c=0,_d=0,Cs=0,Ld=0,Cn=0,xd=0,Rd=0,La=0,Fd=0,xa=0,Ra=0,Md=0,Lc=0,xc=0,Td=0,Rc=0,Fc=0,Mc=0,Nd=0,Tc=0,Nc=0,Gd=0,Ud=0,Gc=0,Uc=0,Pd=0,Pc=0,Oc=0,Od=0,qd=0,qc=0,Fa=0,Hc=0,Yc=0,Jc=0,Vc=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,zd=0,Zd=0,Wd=0,Kc=0,Ma=0,jd=0,Xd=0,eI=0,zc=0,Zc=0,tI=0,Wc=0,Ta=0,eA=0,jc=0,iI=0,rI=0,nI=0,sI=0,Xc=0,tA=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,gI=0,hI=0,eg=0,uI=0,fI=0,dI=0,II=0,iA=0,tg=0,EI=0,mI=0,pn=0,ig=0,rg=0,Na=0,CI=0,ng=0,pI=0,sg=0,og=0,BI=0,QI=0,yI=0,wI=0,vI=0,rA=0,Ga=0,kI=0,SI=0,bI=0,DI=0,Ag=0,_I=0,ag=0,LI=0,xI=0,$g=0,Dr=0,lg=0,cg=0,RI=0,gg=0,nA=0,FI=0,MI=0,TI=0,sA=0,hg=0,NI=0,GI=0,ug=0,UI=0,PI=0,Ua=0,oA=0,OI=0,qI=0,HI=0,fg=0,dg=0,Ig=0,YI=0,JI=0,ps=0,VI=0,Eg=0,KI=0,Pa=0,mg=0,zI=0,ZI=0,WI=0,jI=0,Cg=0,XI=0,eE=0,pg=0,AA=0,tE=0,iE=0,rE=0,Bs=0,Bg=0,Qg=0,nE=0,yg=0,wg=0,bi=0,vg=0,or=0,sE=0,oE=0,AE=0,aE=0,Oa=0,aA=0,kg=0,Sg=0,$E=0,$A=0,Qs=0,lE=0,lA=0,qa=0,cE=0,Ha=0,gE=0,hE=0,bg=0,cA=0,Dg=0,uE=0,fE=0,dE=0,IE=0,_g=0,EE=0,jt=0,y4=0,ei=0,mE=0,Lg=0,xg=0,Ya=0,CE=0,_r=0,ys=0,pE=0,BE=0,Rg=0,Ja=0,QE=0,Fg=0,Mg=0,Tg=0,Va=0,Ka=0,Ng=0,ws=0,za=0,Gg=0,yE=0,Bn=0,wE=0,Ug=0,gA=0,vE=0,Pg=0,Di=0,kE=0,SE=0,bE=0,DE=0,_E=0,LE=0,_i=0,xE=0,RE=0,FE=0,Og=0,Ci=0,hA=0,Za=0,qg=0,Hg=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Vg=0,Kg=0,GE=0,UE=0,zg=0,PE=0,vs=0,uA=0,fA=0,OE=0,Wa=0,qE=0,HE=0,Zg=0,ks=0,YE=0,JE=0,ja=0,Xa=0,dA=0,e$=0,t$=0,Ar=0,Lr=0,xr=0,i$=0,r$=0,Ss=0,ar=0,Qn=0,VE=0,$r=0,yn=0,KE=0,_7=0,L7=0,x7=0,IA=0,EA=0,Wg=0,jg=0,mA=0,n$=0,R7=0,CA=0,Rr=0,s$=0,zE=0,o$=0,ZE=0,A$=0,Xg=0,pA=0,WE=0,jE=0,BA=0,XE=0,QA=0,wn=0,Ke=0,k4=0,eh=0,em=0,a$=0,th=0,tm=0,im=0,yA=0,rm=0,nm=0,sm=0,om=0,ih=0,Am=0,am=0,$m=0,ti=0,wA=0,vn=0,$$=0,bs=0,Ds=0,Xt=0,_s=0,rh=0,nh=0,vA=0,Ls=0,xs=0,Rs=0,lm=0,Fs=0,lr=0,sh=0,Fr=0,ii=0,l$=0,c$=0,Vi=0,g$=0,h$=0,u$=0,Mr=0,$6=0,kA=0,Tr=0,oh=0,ke=0,f$=0,y8=0,Ms=0,kn=0,Sn=0,F9=0,bn=0,Nr=0,J4=0,d$=0,kp=0,cm=0,$C=0,lC=0,Sp=0,gm=0,GQ=0,UQ=0,PQ=0,OQ=0,qQ=0,HQ=0,YQ=0,JQ=0,VQ=0,KQ=0,zQ=0,ZQ=0,bp=0,Dp=0,WQ=0,jQ=0,XQ=0,Ah=0,cC=0,pi=0,ah=0,$h=0,lh=0,ch=0,hm=0,um=0,fm=0,dm=0,Im=0,Em=0,mm=0,Cm=0,pm=0,Bm=0,gC=0,SA=0,cr=0,I$=0,gh=0,E$=0,_p=0,bA=0,Qm=0,m$=0,hC=0,uC=0,ym=0,fC=0,dC=0,IC=0,EC=0,mC=0,CC=0,pC=0,Lp=0,xp=0,Rp=0,Fp=0,Mp=0,DA=0,_A=0,LA=0,xA=0,ey=0,gr=0,t4=0,Pb=0,RA=0,BC=0;if(Pb=C,g0=t+28|0,j=e[g0>>2]|0,tt=(j|0)==0,tt||(A7=j+3456|0,hs=e[A7>>2]|0,Rl=(hs|0)==0,n=Rl&1,fs=j+3496|0,Rc=+A1[fs>>3],fg=Rc>-80,fg?A1[fs>>3]=-80:(NE=Rc<-200,NE&&(A1[fs>>3]=-200)),c0=j+3512|0,Z2=+A1[c0>>3],s3=Z2>0,s3?A1[c0>>3]=0:(C4=Z2<-99999,C4&&(A1[c0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,F4=(_6|0)==0,F4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,Le=j+3400|0,X8=+A1[Le>>3],I8=_6+24|0,bt=e[I8>>2]|0,ue=_6+28|0,Fe=e[ue>>2]|0,ne=~~X8,z8=bt+(ne<<2)|0,Gt=e[z8>>2]|0,Z8=Fe+(ne<<2)|0,I7=e[Z8>>2]|0,e[j>>2]=Gt,B7=j+4|0,e[B7>>2]=I7,Pt=(Gt|0)==(I7|0),Wt=_6+144|0,Et=e[Wt>>2]|0,so=(Et|0)>0,so){for(co=_6+136|0,fo=_6+140|0,ts=_6+148|0,Xi=X8,br=j,gC=0;;){if(vo=~~Xi,cs=e[co>>2]|0,Ji=e[fo>>2]|0,l7=e[ts>>2]|0,qh=l7+(gC<<2)|0,Jh=e[qh>>2]|0,Sr=n4(1,1120)|0,cl=Jh+(vo<<2)|0,dl=e[cl>>2]|0,uu=Ji+(dl*1120|0)|0,s4(Sr|0,uu|0,1120)|0,$a=e[Sr>>2]|0,Qu=($a|0)>0,Qu){for(Fl=Sr+4|0,cC=0,pC=-1;;)if(Ba=Fl+(cC<<2)|0,oc=e[Ba>>2]|0,Qf=(oc|0)>(pC|0),t0=Qf?oc:pC,hc=cC+1|0,zQ=(hc|0)==($a|0),zQ){J=t0;break}else cC=hc,pC=t0;if(Ru=(J|0)<0,!Ru){for(Pu=Sr+256|0,fn=br+24|0,ef=Sr+192|0,Af=Sr+320|0,E$=0,IC=-1;;){if(bc=Pu+(E$<<2)|0,Cn=e[bc>>2]|0,Fc=(Cn|0)>(IC|0),z=Fc?Cn:IC,Oc=e[fn>>2]|0,Jd=Oc+Cn|0,e[bc>>2]=Jd,zc=ef+(E$<<2)|0,Xc=e[zc>>2]|0,uI=(Xc|0)==31,uI)EC=z;else for(y9=Xc,fC=0,CC=z;;)if(Na=(Af+(E$<<5)|0)+(fC<<2)|0,rA=e[Na>>2]|0,$g=(rA|0)>(CC|0),Y=$g?rA:CC,hg=(rA|0)>-1,hg?(dg=e[fn>>2]|0,ZI=dg+rA|0,e[Na>>2]=ZI,e0=e[zc>>2]|0,qa=e0):qa=y9,Bs=fC+1|0,AE=1<>2]|0,td=e[Zf>>2]|0,pc=e[fn>>2]|0,fd=pc+1|0,e[fn>>2]=fd,pd=(br+1824|0)+(pc<<2)|0,e[pd>>2]=td,YQ=(mC|0)==0,!YQ))for(_p=0;Ka=_p+1|0,Z=e[cl>>2]|0,Pg=cs+(Z<<2)|0,FE=e[Pg>>2]|0,Vg=FE+(Ka<<2)|0,qE=e[Vg>>2]|0,Ar=e[fn>>2]|0,KE=Ar+1|0,e[fn>>2]=KE,CA=(br+1824|0)+(Ar<<2)|0,e[CA>>2]=qE,HQ=(Ka|0)==(mC|0),!HQ;)_p=Ka}}if(BA=br+16|0,im=e[BA>>2]|0,wA=(br+800|0)+(im<<2)|0,e[wA>>2]=1,xs=e[BA>>2]|0,g$=(br+1056|0)+(xs<<2)|0,e[g$>>2]=Sr,u0=e[BA>>2]|0,L0=u0+1|0,e[BA>>2]=L0,V0=gC+1|0,c1=e[Wt>>2]|0,h1=(V0|0)<(c1|0),!h1)break;W=+A1[Le>>3],n0=e[g0>>2]|0,Xi=W,br=n0,gC=V0}h0=e[g0>>2]|0,z5=h0}else z5=j;R1=j+3520|0,H1=+A1[R1>>3],A2=_6+124|0,t2=e[A2>>2]|0,H2=_6+128|0,f5=e[H2>>2]|0,R5=~~H1,S5=+(R5|0),i5=H1-S5,J5=z5+2868|0,U5=f5+(R5<<3)|0,k3=+A1[U5>>3],v6=~~k3,e6=t2+(v6*492|0)|0,s4(J5|0,e6|0,492)|0,a6=+A1[U5>>3],j6=1-i5,M6=a6*j6,T6=R5+1|0,q6=f5+(T6<<3)|0,b4=+A1[q6>>3],D4=b4*i5,x4=D4+M6,T4=~~x4,X4=+(T4|0),N4=x4-X4,U9=N4==0,G4=(T4|0)>0,Lp=G4&U9,I=Lp?1:N4,a4=Lp<<31>>31,F=a4+T4|0,R4=1-I,u4=F+1|0,Ce=(t2+(F*492|0)|0)+4|0,q9=+s[Ce>>2],m9=q9,pe=R4*m9,e8=(t2+(u4*492|0)|0)+4|0,U4=+s[e8>>2],Ge=U4,P4=I*Ge,ee=pe+P4,be=ee,t8=z5+2872|0,s[t8>>2]=be,Z9=(t2+(F*492|0)|0)+32|0,$e=+s[Z9>>2],f4=$e,O4=R4*f4,R9=(t2+(u4*492|0)|0)+32|0,$4=+s[R9>>2],_4=$4,le=I*_4,W9=O4+le,ce=W9,ge=z5+2900|0,s[ge>>2]=ce,p4=(t2+(F*492|0)|0)+8|0,te=+s[p4>>2],he=te,C9=R4*he,g6=(t2+(u4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,Be=I*l4,B4=C9+Be,c4=B4,P6=z5+2876|0,s[P6>>2]=c4,De=(t2+(F*492|0)|0)+36|0,i8=+s[De>>2],g4=i8,v4=R4*g4,f8=(t2+(u4*492|0)|0)+36|0,J3=+s[f8>>2],w9=J3,p9=w9*I,M4=p9+v4,ie=M4,ct=z5+2904|0,s[ct>>2]=ie,gt=(t2+(F*492|0)|0)+12|0,vt=+s[gt>>2],W8=vt,ht=W8*R4,ut=(t2+(u4*492|0)|0)+12|0,T8=+s[ut>>2],N8=T8,G8=N8*I,U8=G8+ht,j8=U8,kt=z5+2880|0,s[kt>>2]=j8,P8=(t2+(F*492|0)|0)+40|0,O8=+s[P8>>2],q8=O8,k8=q8*R4,S8=(t2+(u4*492|0)|0)+40|0,d8=+s[S8>>2],H8=d8,Y8=H8*I,et=Y8+k8,Pe=et,xe=z5+2908|0,s[xe>>2]=Pe,r8=(t2+(F*492|0)|0)+16|0,b8=+s[r8>>2],v9=b8,ft=v9*R4,Qe=(t2+(u4*492|0)|0)+16|0,dt=+s[Qe>>2],St=dt,it=St*I,re=it+ft,rt=re,J8=z5+2884|0,s[J8>>2]=rt,D8=(t2+(F*492|0)|0)+44|0,n8=+s[D8>>2],q4=n8,Re=q4*R4,s8=(t2+(u4*492|0)|0)+44|0,E8=+s[s8>>2],_8=E8,j9=_8*I,o8=j9+Re,m8=o8,A8=z5+2912|0,s[A8>>2]=m8,C8=z5+3512|0,fe=+A1[C8>>3],ye=fe,Oe=z5+2936|0,s[Oe>>2]=ye,qe=_6+132|0,X9=e[qe>>2]|0,de=j+3472|0,a8=+A1[de>>3],we=a8,Q4=~~we,p8=+(Q4|0),nt=we-p8,H4=nt,I3=e[g0>>2]|0,He=(X9|0)==0;e:do if(He)B8=I3+4|0,H9=e[I3>>2]|0,se=I3+3240|0,e[se>>2]=H9,D9=e[B8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,V8=I3+3244|0,e[V8>>2]=H9,It=I3+3304|0,e[It>>2]=D9,st=I3+3248|0,e[st>>2]=H9,ot=I3+3308|0,e[ot>>2]=D9,K8=I3+3252|0,e[K8>>2]=H9,At=I3+3312|0,e[At>>2]=D9,$8=I3+3256|0,e[$8>>2]=H9,l8=I3+3316|0,e[l8>>2]=D9,L8=I3+3260|0,e[L8>>2]=H9,Y4=I3+3320|0,e[Y4>>2]=D9,at=I3+3264|0,e[at>>2]=H9,x8=I3+3324|0,e[x8>>2]=D9,Je=I3+3268|0,e[Je>>2]=H9,B9=I3+3328|0,e[B9>>2]=D9,$t=I3+3272|0,e[$t>>2]=H9,Ve=I3+3332|0,e[Ve>>2]=D9,Ht=I3+3276|0,e[Ht>>2]=H9,Dt=I3+3336|0,e[Dt>>2]=D9,lt=I3+3280|0,e[lt>>2]=H9,_t=I3+3340|0,e[_t>>2]=D9,oe=I3+3284|0,e[oe>>2]=H9,Ut=I3+3344|0,e[Ut>>2]=D9,Yt=I3+3288|0,e[Yt>>2]=H9,c8=I3+3348|0,e[c8>>2]=D9,R8=I3+3292|0,e[R8>>2]=H9,Lt=I3+3352|0,e[Lt>>2]=D9,Me=I3+3296|0,e[Me>>2]=H9,Ie=I3+3356|0,e[Ie>>2]=D9;else{e4=I3+3120|0,xt=X9+(Q4*240|0)|0,gr=e4,RA=xt,BC=gr+60|0;do e[gr>>2]=e[RA>>2]|0,gr=gr+4|0,RA=RA+4|0;while((gr|0)<(BC|0));r7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,gr=r7,RA=G7,BC=gr+60|0;do e[gr>>2]=e[RA>>2]|0,gr=gr+4|0,RA=RA+4|0;while((gr|0)<(BC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Jt=1-H4,Vt=Q4+1|0,E7=t+8|0,Kt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),cr=0;;){if(n7=((X9+(Q4*240|0)|0)+120|0)+(cr<<2)|0,$i=+s[n7>>2],O7=$i,C7=O7*Jt,p7=((X9+(Vt*240|0)|0)+120|0)+(cr<<2)|0,li=+s[p7>>2],s7=li,ci=s7*H4,q7=ci+C7,H7=q7,Y7=H7,J7=Y7*1e3,o7=J7/m7,Q7=e[I3>>2]|0,V7=+(Q7|0),zt=V7*o7,Zt=~~zt,gi=(I3+3e3|0)+(cr<<2)|0,e[gi>>2]=Zt,K7=e[Kt>>2]|0,hi=+(K7|0),y7=hi*o7,z7=~~y7,w7=(I3+3060|0)+(cr<<2)|0,e[w7>>2]=z7,v7=~~H7,Z7=(I3+2940|0)+(cr<<2)|0,e[Z7>>2]=v7,k7=((X9+(Q4*240|0)|0)+180|0)+(cr<<2)|0,S7=+s[k7>>2],W7=S7,a7=W7*Jt,Ot=((X9+(Vt*240|0)|0)+180|0)+(cr<<2)|0,b7=+s[Ot>>2],ve=b7,D7=ve*H4,Rt=D7+a7,$7=Rt,n9=$7,Q8=n9*1e3,mt=Q8/m7,Ft=e[I3>>2]|0,Wr=+(Ft|0),mr=Wr*mt,io=~~mr,qn=(I3+3240|0)+(cr<<2)|0,e[qn>>2]=io,ro=e[Kt>>2]|0,Hn=+(ro|0),no=Hn*mt,Yn=~~no,oo=(I3+3300|0)+(cr<<2)|0,e[oo>>2]=Yn,jr=cr+1|0,VQ=(jr|0)==15,VQ)break e;cr=jr}for(Ao=(X9+(Q4*240|0)|0)+148|0,ao=+s[Ao>>2],$o=ao,Jn=1-H4,lo=$o*Jn,Vn=Q4+1|0,Kn=(X9+(Vn*240|0)|0)+148|0,Xr=+s[Kn>>2],zn=Xr,en=zn*H4,Zn=en+lo,Wn=Zn,go=Wn,ho=go*1e3,uo=t+8|0,tn=I3+4|0,jn=~~Wn,l0=e[uo>>2]|0,Cr=+(l0|0),rn=ho/Cr,gh=0;Io=e[I3>>2]|0,Eo=+(Io|0),nn=Eo*rn,ui=~~nn,Xn=(I3+3e3|0)+(gh<<2)|0,e[Xn>>2]=ui,mo=e[tn>>2]|0,Co=+(mo|0),es=Co*rn,is=~~es,po=(I3+3060|0)+(gh<<2)|0,e[po>>2]=is,fi=(I3+2940|0)+(gh<<2)|0,e[fi>>2]=jn,sn=gh+1|0,ZQ=(sn|0)==15,!ZQ;)gh=sn;for(Bo=(X9+(Q4*240|0)|0)+208|0,rs=+s[Bo>>2],Qo=rs,yo=Qo*Jn,wo=(X9+(Vn*240|0)|0)+208|0,ns=+s[wo>>2],ko=ns,So=ko*H4,bo=So+yo,ss=bo,Do=ss,_o=Do*1e3,on=_o/Cr,Qm=0;pr=e[I3>>2]|0,An=+(pr|0),Lo=An*on,xo=~~Lo,os=(I3+3240|0)+(Qm<<2)|0,e[os>>2]=xo,an=e[tn>>2]|0,As=+(an|0),$n=As*on,Ro=~~$n,as=(I3+3300|0)+(Qm<<2)|0,e[as>>2]=Ro,$s=Qm+1|0,JQ=($s|0)==15,!JQ;)Qm=$s}while(!1);for(Fo=+A1[Le>>3],ls=_6+92|0,Mo=e[ls>>2]|0,Br=_6+100|0,gs=e[Br>>2]|0,di=_6+108|0,ln=e[di>>2]|0,Qr=e[g0>>2]|0,er=Qr+2852|0,yr=e[er>>2]|0,Yi=~~Fo,wr=Qr+28|0,vi=e[wr>>2]|0,ki=(vi|0)>0,ki||(e[wr>>2]=1),j7=(yr|0)==0,j7?(Si=n4(1,520)|0,e[er>>2]=Si,DA=Si):DA=yr,s4(DA|0,25784,520)|0,e[DA>>2]=0,vr=Qr+3460|0,tr=e[vr>>2]|0,ir=(tr|0)==0,ir||(kr=DA+500|0,e[kr>>2]=1,Ii=Mo+(Yi<<2)|0,To=e[Ii>>2]|0,rl=DA+504|0,e[rl>>2]=To,cn=gs+(Yi<<2)|0,gn=e[cn>>2]|0,Uh=DA+508|0,e[Uh>>2]=gn,nl=ln+(Yi<<3)|0,No=+A1[nl>>3],Ph=DA+512|0,A1[Ph>>3]=No),ta=+A1[Le>>3],sl=e[ls>>2]|0,Oh=e[Br>>2]|0,Hh=e[di>>2]|0,ia=e[g0>>2]|0,ol=ia+2856|0,Al=e[ol>>2]|0,ra=~~ta,hn=ia+28|0,al=e[hn>>2]|0,Yh=(al|0)>1,Yh||(e[hn>>2]=2),Go=(Al|0)==0,Go?(rr=n4(1,520)|0,e[ol>>2]=rr,_A=rr):_A=Al,s4(_A|0,25784,520)|0,e[_A>>2]=0,Vh=ia+3460|0,Kh=e[Vh>>2]|0,zh=(Kh|0)==0,zh||(Zh=_A+500|0,e[Zh>>2]=1,Wh=sl+(ra<<2)|0,jh=e[Wh>>2]|0,Xh=_A+504|0,e[Xh>>2]=jh,eu=Oh+(ra<<2)|0,tu=e[eu>>2]|0,$l=_A+508|0,e[$l>>2]=tu,iu=Hh+(ra<<3)|0,ru=+A1[iu>>3],ll=_A+512|0,A1[ll>>3]=ru),Pt||(nu=+A1[Le>>3],na=_6+96|0,Uo=e[na>>2]|0,sa=_6+104|0,su=e[sa>>2]|0,ou=e[di>>2]|0,oa=e[g0>>2]|0,gl=oa+2860|0,hl=e[gl>>2]|0,Aa=~~nu,ul=oa+28|0,Po=e[ul>>2]|0,Au=(Po|0)>2,Au||(e[ul>>2]=3),au=(hl|0)==0,au?(fl=n4(1,520)|0,e[gl>>2]=fl,LA=fl):LA=hl,s4(LA|0,25784,520)|0,e[LA>>2]=1,$u=oa+3460|0,lu=e[$u>>2]|0,cu=(lu|0)==0,cu||(gu=LA+500|0,e[gu>>2]=1,Il=Uo+(Aa<<2)|0,El=e[Il>>2]|0,ml=LA+504|0,e[ml>>2]=El,Cl=su+(Aa<<2)|0,pl=e[Cl>>2]|0,un=LA+508|0,e[un>>2]=pl,hu=ou+(Aa<<3)|0,Bl=+A1[hu>>3],Ql=LA+512|0,A1[Ql>>3]=Bl),yl=+A1[Le>>3],fu=e[na>>2]|0,du=e[sa>>2]|0,Iu=e[di>>2]|0,aa=e[g0>>2]|0,wl=aa+2864|0,vl=e[wl>>2]|0,us=~~yl,kl=aa+28|0,Eu=e[kl>>2]|0,Sl=(Eu|0)>3,Sl||(e[kl>>2]=4),mu=(vl|0)==0,mu?(bl=n4(1,520)|0,e[wl>>2]=bl,xA=bl):xA=vl,s4(xA|0,25784,520)|0,e[xA>>2]=1,Cu=aa+3460|0,pu=e[Cu>>2]|0,Dl=(pu|0)==0,Dl||(_l=xA+500|0,e[_l>>2]=1,Bu=fu+(us<<2)|0,Oo=e[Bu>>2]|0,la=xA+504|0,e[la>>2]=Oo,Ll=du+(us<<2)|0,xl=e[Ll>>2]|0,yu=xA+508|0,e[yu>>2]=xl,wu=Iu+(us<<3)|0,vu=+A1[wu>>3],ku=xA+512|0,A1[ku>>3]=vu)),Su=(j+3528|0)+(n<<5)|0,bu=+A1[Su>>3],qo=_6+32|0,Ml=e[qo>>2]|0,Ho=_6+36|0,Du=e[Ho>>2]|0,Tl=_6+44|0,_u=e[Tl>>2]|0,nC(t,bu,0,Ml,Du,_u),Nl=j+3560|0,Lu=+A1[Nl>>3],xu=e[qo>>2]|0,Gl=e[Ho>>2]|0,ca=_6+52|0,Fu=e[ca>>2]|0,nC(t,Lu,1,xu,Gl,Fu),Pt||(Yo=j+3592|0,Mu=+A1[Yo>>3],Jo=e[qo>>2]|0,Tu=e[Ho>>2]|0,ga=e[ca>>2]|0,nC(t,Mu,2,Jo,Tu,ga),Nu=j+3624|0,Gu=+A1[Nu>>3],Uu=e[qo>>2]|0,Ul=e[Ho>>2]|0,Ou=_6+48|0,qu=e[Ou>>2]|0,nC(t,Gu,3,Uu,Ul,qu)),Hu=((j+3528|0)+(n<<5)|0)+24|0,Pl=+A1[Hu>>3],Ol=_6+80|0,nr=e[Ol>>2]|0,ql=_6+84|0,Vo=e[ql>>2]|0,ha=~~Pl,ua=+(ha|0),Hl=Pl-ua,dn=e[g0>>2]|0,Yu=dn+2852|0,Yl=e[Yu>>2]|0,Ju=Vo+(ha<<3)|0,Vu=+A1[Ju>>3],Ku=1-Hl,zu=Vu*Ku,Ko=ha+1|0,fa=Vo+(Ko<<3)|0,Zu=+A1[fa>>3],Wu=Zu*Hl,Jl=Wu+zu,da=~~Jl,Vl=+(da|0),Kl=Jl-Vl,ju=Kl==0,zl=(da|0)>0,xp=zl&ju,a=xp?1:Kl,Xu=xp<<31>>31,M=Xu+da|0,Ia=1-a,tf=M+1|0,ah=0;P9=(nr+(M*160|0)|0)+(ah<<2)|0,rf=e[P9>>2]|0,Zl=+(rf|0),nf=Zl*Ia,sf=(nr+(tf*160|0)|0)+(ah<<2)|0,Ea=e[sf>>2]|0,of=+(Ea|0),ma=of*a,Wl=ma+nf,af=Wl,jl=(Yl+336|0)+(ah<<2)|0,s[jl>>2]=af,Xl=ah+1|0,UQ=(Xl|0)==40,!UQ;)ah=Xl;for($f=j+3584|0,Ca=+A1[$f>>3],pa=~~Ca,ec=+(pa|0),tc=Ca-ec,lf=dn+2856|0,ic=e[lf>>2]|0,cf=Vo+(pa<<3)|0,rc=+A1[cf>>3],gf=1-tc,hf=rc*gf,uf=pa+1|0,ff=Vo+(uf<<3)|0,nc=+A1[ff>>3],sc=nc*tc,Qa=sc+hf,zo=~~Qa,df=+(zo|0),Ac=Qa-df,ac=Ac==0,If=(zo|0)>0,Rp=If&ac,g=Rp?1:Ac,Ef=Rp<<31>>31,T=Ef+zo|0,mf=1-g,$c=T+1|0,$h=0;Cf=(nr+(T*160|0)|0)+($h<<2)|0,pf=e[Cf>>2]|0,Bf=+(pf|0),yf=Bf*mf,wf=(nr+($c*160|0)|0)+($h<<2)|0,lc=e[wf>>2]|0,vf=+(lc|0),cc=vf*g,kf=cc+yf,In=kf,Sf=(ic+336|0)+($h<<2)|0,s[Sf>>2]=In,gc=$h+1|0,PQ=(gc|0)==40,!PQ;)$h=gc;if(!Pt){for(bf=j+3616|0,ya=+A1[bf>>3],Df=_6+88|0,Zo=e[Df>>2]|0,wa=~~ya,_f=+(wa|0),va=ya-_f,uc=dn+2860|0,Lf=e[uc>>2]|0,xf=Zo+(wa<<3)|0,Rf=+A1[xf>>3],Mf=1-va,fc=Rf*Mf,Tf=wa+1|0,Nf=Zo+(Tf<<3)|0,Gf=+A1[Nf>>3],Wo=Gf*va,ds=Wo+fc,ka=~~ds,Uf=+(ka|0),Sa=ds-Uf,Of=Sa==0,qf=(ka|0)>0,Fp=qf&Of,u=Fp?1:Sa,dc=Fp<<31>>31,N=dc+ka|0,Hf=1-u,Yf=N+1|0,lh=0;Jf=(nr+(N*160|0)|0)+(lh<<2)|0,Vf=e[Jf>>2]|0,Kf=+(Vf|0),jo=Kf*Hf,zf=(nr+(Yf*160|0)|0)+(lh<<2)|0,Ic=e[zf>>2]|0,Wf=+(Ic|0),jf=Wf*u,Xf=jf+jo,ed=Xf,Ei=(Lf+336|0)+(lh<<2)|0,s[Ei>>2]=ed,Ec=lh+1|0,OQ=(Ec|0)==40,!OQ;)lh=Ec;for(mi=j+3648|0,mc=+A1[mi>>3],ba=~~mc,X7=+(ba|0),Is=mc-X7,id=dn+2864|0,rd=e[id>>2]|0,nd=Zo+(ba<<3)|0,sd=+A1[nd>>3],od=1-Is,Cc=sd*od,Ad=ba+1|0,ad=Zo+(Ad<<3)|0,$d=+A1[ad>>3],ld=$d*Is,Es=ld+Cc,Da=~~Es,cd=+(Da|0),Bc=Es-cd,gd=Bc==0,hd=(Da|0)>0,Mp=hd&gd,E=Mp?1:Bc,Xo=Mp<<31>>31,G=Xo+Da|0,ud=1-E,Qc=G+1|0,ch=0;yc=(nr+(G*160|0)|0)+(ch<<2)|0,dd=e[yc>>2]|0,Id=+(dd|0),En=Id*ud,Ed=(nr+(Qc*160|0)|0)+(ch<<2)|0,md=e[Ed>>2]|0,mn=+(md|0),Cd=mn*E,wc=Cd+En,Bd=wc,ms=(rd+336|0)+(ch<<2)|0,s[ms>>2]=Bd,vc=ch+1|0,qQ=(vc|0)==40,!qQ;)ch=vc}for(Qd=((j+3528|0)+(n<<5)|0)+8|0,kc=+A1[Qd>>3],yd=_6+40|0,sr=e[yd>>2]|0,_a=~~kc,wd=+(_a|0),Sc=kc-wd,vd=sr+(_a<<2)|0,kd=e[vd>>2]|0,Dc=+(kd|0),Sd=1-Sc,bd=Dc*Sd,Dd=_a+1|0,_c=sr+(Dd<<2)|0,_d=e[_c>>2]|0,Cs=+(_d|0),Ld=Cs*Sc,xd=Ld+bd,Rd=xd,La=Yl+32|0,s[La>>2]=Rd,Fd=j+3568|0,xa=+A1[Fd>>3],Ra=~~xa,Md=+(Ra|0),Lc=xa-Md,xc=sr+(Ra<<2)|0,Td=e[xc>>2]|0,Mc=+(Td|0),Nd=1-Lc,Tc=Mc*Nd,Nc=Ra+1|0,Gd=sr+(Nc<<2)|0,Ud=e[Gd>>2]|0,Gc=+(Ud|0),Uc=Gc*Lc,Pd=Uc+Tc,Pc=Pd,Od=ic+32|0,s[Od>>2]=Pc,Pt||(qd=j+3600|0,qc=+A1[qd>>3],Fa=~~qc,Hc=+(Fa|0),Yc=qc-Hc,Jc=dn+2860|0,Vc=e[Jc>>2]|0,Hd=sr+(Fa<<2)|0,Yd=e[Hd>>2]|0,Vd=+(Yd|0),Kd=1-Yc,zd=Vd*Kd,Zd=Fa+1|0,Wd=sr+(Zd<<2)|0,Kc=e[Wd>>2]|0,Ma=+(Kc|0),jd=Ma*Yc,Xd=jd+zd,eI=Xd,Zc=Vc+32|0,s[Zc>>2]=eI,tI=j+3632|0,Wc=+A1[tI>>3],Ta=~~Wc,eA=+(Ta|0),jc=Wc-eA,iI=dn+2864|0,rI=e[iI>>2]|0,nI=sr+(Ta<<2)|0,sI=e[nI>>2]|0,tA=+(sI|0),oI=1-jc,AI=tA*oI,aI=Ta+1|0,$I=sr+(aI<<2)|0,lI=e[$I>>2]|0,cI=+(lI|0),gI=cI*jc,hI=gI+AI,eg=hI,fI=rI+32|0,s[fI>>2]=eg),dI=((j+3528|0)+(n<<5)|0)+16|0,II=+A1[dI>>3],iA=_6+76|0,tg=e[iA>>2]|0,EI=_6+60|0,mI=e[EI>>2]|0,pn=_6+56|0,ig=e[pn>>2]|0,Rl?ng=0:(rg=j+3408|0,CI=+A1[rg>>3],ng=CI),sC(t,II,0,tg,mI,ig,ng),pI=j+3576|0,sg=+A1[pI>>3],og=e[iA>>2]|0,BI=_6+64|0,QI=e[BI>>2]|0,yI=e[pn>>2]|0,sC(t,sg,1,og,QI,yI,0),Pt?(ps=e[g0>>2]|0,VI=ps+2852|0,Eg=e[VI>>2]|0,KI=ps+3496|0,Pa=+A1[KI>>3],mg=Pa,zI=Eg+4|0,s[zI>>2]=mg,WI=ps+3504|0,jI=+A1[WI>>3],Cg=jI,XI=Eg+8|0,s[XI>>2]=Cg,eE=ps+2856|0,pg=e[eE>>2]|0,AA=pg+4|0,s[AA>>2]=mg,tE=pg+8|0,s[tE>>2]=Cg,or=ps):(wI=j+3608|0,vI=+A1[wI>>3],Ga=e[iA>>2]|0,kI=_6+68|0,SI=e[kI>>2]|0,bI=e[pn>>2]|0,sC(t,vI,2,Ga,SI,bI,0),DI=j+3640|0,Ag=+A1[DI>>3],_I=e[iA>>2]|0,ag=_6+72|0,LI=e[ag>>2]|0,xI=e[pn>>2]|0,sC(t,Ag,3,_I,LI,xI,0),Dr=e[g0>>2]|0,lg=Dr+2852|0,cg=e[lg>>2]|0,RI=Dr+3496|0,gg=+A1[RI>>3],nA=gg,FI=cg+4|0,s[FI>>2]=nA,MI=Dr+3504|0,TI=+A1[MI>>3],sA=TI,NI=cg+8|0,s[NI>>2]=sA,GI=Dr+2856|0,ug=e[GI>>2]|0,UI=ug+4|0,s[UI>>2]=nA,PI=ug+8|0,s[PI>>2]=sA,Ua=Dr+2860|0,oA=e[Ua>>2]|0,OI=oA+4|0,s[OI>>2]=nA,qI=oA+8|0,s[qI>>2]=sA,HI=Dr+2864|0,Ig=e[HI>>2]|0,YI=Ig+4|0,s[YI>>2]=nA,JI=Ig+8|0,s[JI>>2]=sA,or=Dr),iE=+A1[Le>>3],rE=_6+152|0,Bg=e[rE>>2]|0,Qg=~~iE,nE=Bg+(Qg<<3)|0,yg=e[nE>>2]|0,wg=(Bg+(Qg<<3)|0)+4|0,bi=e[wg>>2]|0,vg=e[or>>2]|0,sE=or+4|0,oE=e[sE>>2]|0,aE=(vg|0)==(oE|0),A=aE?1:2,Oa=or+8|0,aA=or+12|0,kg=t+8|0,Sg=t+4|0,pi=0;;){if($E=n4(1,3208)|0,$A=(or+544|0)+(pi<<2)|0,e[$A>>2]=$E,Qs=n4(1,16)|0,lE=(or+32|0)+(pi<<2)|0,e[lE>>2]=Qs,lA=26304+(pi<<4)|0,e[Qs>>2]=e[lA>>2]|0,e[Qs+4>>2]=e[lA+4>>2]|0,e[Qs+8>>2]=e[lA+8>>2]|0,e[Qs+12>>2]=e[lA+12>>2]|0,cE=e[Oa>>2]|0,Ha=(pi|0)<(cE|0),Ha||(gE=pi+1|0,e[Oa>>2]=gE),hE=(or+288|0)+(pi<<2)|0,e[hE>>2]=0,bg=e[$A>>2]|0,cA=yg+(pi*3208|0)|0,s4(bg|0,cA|0,3208)|0,Dg=e[aA>>2]|0,uE=(pi|0)<(Dg|0),uE||(fE=pi+1|0,e[aA>>2]=fE),dE=e[cA>>2]|0,_g=(dE|0)>0,_g)for(uC=0;;){EE=((yg+(pi*3208|0)|0)+1092|0)+(uC<<2)|0,jt=e[EE>>2]|0,y4=e[g0>>2]|0,ei=S9(2840)|0,mE=(y4+1568|0)+(jt<<2)|0,e[mE>>2]=ei,Lg=(bi+(jt<<5)|0)+12|0,xg=e[Lg>>2]|0,s4(ei|0,xg|0,2840)|0,Ya=y4+20|0,CE=e[Ya>>2]|0,ys=(CE|0)>(jt|0),ys||(pE=jt+1|0,e[Ya>>2]=pE),BE=(bi+(jt<<5)|0)+8|0,Rg=e[BE>>2]|0,Ja=ei+8|0,e[Ja>>2]=Rg,QE=bi+(jt<<5)|0,Fg=e[QE>>2]|0,Mg=(y4+1312|0)+(jt<<2)|0,e[Mg>>2]=Fg,Tg=y4+3420|0,Va=e[Tg>>2]|0,Ng=(Va|0)==0,ws=ei+12|0,za=e[ws>>2]|0,Gg=(za|0)>0;do if(Ng){if(Gg)for(Ug=(bi+(jt<<5)|0)+24|0,gA=e[Ug>>2]|0,vE=ei+24|0,bA=0;;)if($r=vE+(bA<<2)|0,yn=gA+(bA<<4)|0,_7=e[yn>>2]|0,L7=(_7|0)==0,L7||(x7=e[$r>>2]|0,IA=x7|1,e[$r>>2]=IA),EA=(gA+(bA<<4)|0)+4|0,Wg=e[EA>>2]|0,jg=(Wg|0)==0,jg||(v2=e[$r>>2]|0,m5=v2|2,e[$r>>2]=m5),n5=(gA+(bA<<4)|0)+8|0,L2=e[n5>>2]|0,_2=(L2|0)==0,_2||(p2=e[$r>>2]|0,C5=p2|4,e[$r>>2]=C5),d5=(gA+(bA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[$r>>2]|0,q2=_5|8,e[$r>>2]=q2),I5=bA+1|0,A5=e[ws>>2]|0,c5=(I5|0)<(A5|0),c5)bA=I5;else{QA=A5;break}else QA=za;mA=(bi+(jt<<5)|0)+16|0,n$=e[mA>>2]|0,R7=y4+24|0,Rr=e[R7>>2]|0,s$=(Rr|0)>0,zE=n$;e:do if(s$)for(Bm=0;;){if(o$=(y4+1824|0)+(Bm<<2)|0,ZE=e[o$>>2]|0,A$=(ZE|0)==(n$|0),A$){L=Bm;break e}if(Xg=Bm+1|0,pA=(Xg|0)<(Rr|0),pA)Bm=Xg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,WE=Rr+1|0,e[R7>>2]=WE,L=Rr),jE=ei+20|0,e[jE>>2]=L,XE=(y4+1824|0)+(L<<2)|0,e[XE>>2]=zE,wn=(QA|0)>0,!wn)break;for(Ke=(bi+(jt<<5)|0)+24|0,k4=ei+280|0,Nr=0,m$=0;;){if(eh=e[Ke>>2]|0,em=eh+(m$<<4)|0,a$=e[em>>2]|0,th=(a$|0)==0,tm=a$,th)bs=eh,cm=Nr;else{yA=e[R7>>2]|0,rm=(yA|0)>0;e:do if(rm)for(Im=0;;){if(nm=(y4+1824|0)+(Im<<2)|0,sm=e[nm>>2]|0,om=(sm|0)==(a$|0),om){x=Im;break e}if(ih=Im+1|0,Am=(ih|0)<(yA|0),Am)Im=ih;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,am=yA+1|0,e[R7>>2]=am,x=yA),$m=Nr+1|0,ti=k4+(Nr<<2)|0,e[ti>>2]=x,vn=(y4+1824|0)+(x<<2)|0,e[vn>>2]=tm,s0=e[Ke>>2]|0,bs=s0,cm=$m}if($$=(bs+(m$<<4)|0)+4|0,Ds=e[$$>>2]|0,Xt=(Ds|0)==0,_s=Ds,Xt)E2=bs,J4=cm;else{V1=e[R7>>2]|0,O1=(V1|0)>0;e:do if(O1)for(um=0;;){if(q1=(y4+1824|0)+(um<<2)|0,Y1=e[q1>>2]|0,j1=(Y1|0)==(Ds|0),j1){D=um;break e}if(n2=um+1|0,W1=(n2|0)<(V1|0),W1)um=n2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=V1+1|0,e[R7>>2]=P1,D=V1),c2=cm+1|0,z1=k4+(cm<<2)|0,e[z1>>2]=D,u2=(y4+1824|0)+(D<<2)|0,e[u2>>2]=_s,i0=e[Ke>>2]|0,E2=i0,J4=c2}if(o2=(E2+(m$<<4)|0)+8|0,K1=e[o2>>2]|0,h2=(K1|0)==0,$2=K1,h2)D2=E2,d$=J4;else{i2=e[R7>>2]|0,l2=(i2|0)>0;e:do if(l2)for(fm=0;;){if(r2=(y4+1824|0)+(fm<<2)|0,a2=e[r2>>2]|0,X1=(a2|0)==(K1|0),X1){y=fm;break e}if(s2=fm+1|0,f2=(s2|0)<(i2|0),f2)fm=s2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=i2+1|0,e[R7>>2]=y2,y=i2),k2=J4+1|0,w2=k4+(J4<<2)|0,e[w2>>2]=y,C2=(y4+1824|0)+(y<<2)|0,e[C2>>2]=$2,V=e[Ke>>2]|0,D2=V,d$=k2}if(F2=(D2+(m$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,K2=N2,d2)kp=d$;else{G2=e[R7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(dm=0;;){if(P2=(y4+1824|0)+(dm<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=dm;break e}if(O2=dm+1|0,T1=(O2|0)<(G2|0),T1)dm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[R7>>2]=X2,_=G2),x5=d$+1|0,e5=k4+(d$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=K2,kp=x5}if(k5=m$+1|0,P5=e[ws>>2]|0,l5=(k5|0)<(P5|0),l5)Nr=kp,m$=k5;else break}}else{if(Gg)for(yE=(bi+(jt<<5)|0)+28|0,Bn=e[yE>>2]|0,wE=ei+24|0,SA=0;;)if(Di=wE+(SA<<2)|0,kE=Bn+(SA<<4)|0,SE=e[kE>>2]|0,bE=(SE|0)==0,bE||(DE=e[Di>>2]|0,_E=DE|1,e[Di>>2]=_E),LE=(Bn+(SA<<4)|0)+4|0,_i=e[LE>>2]|0,xE=(_i|0)==0,xE||(o6=e[Di>>2]|0,e3=o6|2,e[Di>>2]=e3),A3=(Bn+(SA<<4)|0)+8|0,R3=e[A3>>2]|0,u6=(R3|0)==0,u6||(Q3=e[Di>>2]|0,y3=Q3|4,e[Di>>2]=y3),r6=(Bn+(SA<<4)|0)+12|0,j3=e[r6>>2]|0,O3=(j3|0)==0,O3||(K5=e[Di>>2]|0,S3=K5|8,e[Di>>2]=S3),g3=SA+1|0,q3=e[ws>>2]|0,l6=(g3|0)<(q3|0),l6)SA=g3;else{zg=q3;break}else zg=za;RE=(bi+(jt<<5)|0)+20|0,Og=e[RE>>2]|0,Ci=y4+24|0,hA=e[Ci>>2]|0,Za=(hA|0)>0,qg=Og;e:do if(Za)for(hm=0;;){if(Hg=(y4+1824|0)+(hm<<2)|0,ME=e[Hg>>2]|0,Yg=(ME|0)==(Og|0),Yg){p=hm;break e}if(Jg=hm+1|0,TE=(Jg|0)<(hA|0),TE)hm=Jg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Kg=hA+1|0,e[Ci>>2]=Kg,p=hA),GE=ei+20|0,e[GE>>2]=p,UE=(y4+1824|0)+(p<<2)|0,e[UE>>2]=qg,PE=(zg|0)>0,!PE)break;for(vs=(bi+(jt<<5)|0)+28|0,uA=ei+280|0,Ms=0,I$=0;;){if(fA=e[vs>>2]|0,OE=fA+(I$<<4)|0,Wa=e[OE>>2]|0,HE=(Wa|0)==0,Zg=Wa,HE)Ss=fA,bn=Ms;else{ks=e[Ci>>2]|0,YE=(ks|0)>0;e:do if(YE)for(pm=0;;){if(JE=(y4+1824|0)+(pm<<2)|0,ja=e[JE>>2]|0,Xa=(ja|0)==(Wa|0),Xa){w=pm;break e}if(dA=pm+1|0,e$=(dA|0)<(ks|0),e$)pm=dA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,t$=ks+1|0,e[Ci>>2]=t$,w=ks),Lr=Ms+1|0,xr=uA+(Ms<<2)|0,e[xr>>2]=w,i$=(y4+1824|0)+(w<<2)|0,e[i$>>2]=Zg,q=e[vs>>2]|0,Ss=q,bn=Lr}if(r$=(Ss+(I$<<4)|0)+4|0,ar=e[r$>>2]|0,Qn=(ar|0)==0,VE=ar,Qn)L5=Ss,kn=bn;else{p5=e[Ci>>2]|0,M1=(p5|0)>0;e:do if(M1)for(Em=0;;){if(g5=(y4+1824|0)+(Em<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(ar|0),W2){S=Em;break e}if(g2=Em+1|0,B5=(g2|0)<(p5|0),B5)Em=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=p5+1|0,e[Ci>>2]=t5,S=p5),s5=bn+1|0,h5=uA+(bn<<2)|0,e[h5>>2]=S,J2=(y4+1824|0)+(S<<2)|0,e[J2>>2]=VE,K=e[vs>>2]|0,L5=K,kn=s5}if(u5=(L5+(I$<<4)|0)+8|0,j2=e[u5>>2]|0,$5=(j2|0)==0,x2=j2,$5)u3=L5,Sn=kn;else{Q5=e[Ci>>2]|0,q5=(Q5|0)>0;e:do if(q5)for(mm=0;;){if(j5=(y4+1824|0)+(mm<<2)|0,E5=e[j5>>2]|0,f3=(E5|0)==(j2|0),f3){b=mm;break e}if(h3=mm+1|0,X5=(h3|0)<(Q5|0),X5)mm=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[Ci>>2]=n3,b=Q5),m3=kn+1|0,F5=uA+(kn<<2)|0,e[F5>>2]=b,V5=(y4+1824|0)+(b<<2)|0,e[V5>>2]=x2,$0=e[vs>>2]|0,u3=$0,Sn=m3}if(v3=(u3+(I$<<4)|0)+12|0,B3=e[v3>>2]|0,z3=(B3|0)==0,G3=B3,z3)F9=Sn;else{w3=e[Ci>>2]|0,W5=(w3|0)>0;e:do if(W5)for(Cm=0;;){if(i6=(y4+1824|0)+(Cm<<2)|0,x3=e[i6>>2]|0,U3=(x3|0)==(B3|0),U3){v=Cm;break e}if(a3=Cm+1|0,l3=(a3|0)<(w3|0),l3)Cm=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=w3+1|0,e[Ci>>2]=c3,v=w3),C3=Sn+1|0,H5=uA+(Sn<<2)|0,e[H5>>2]=v,O5=(y4+1824|0)+(v<<2)|0,e[O5>>2]=G3,F9=C3}if(v5=I$+1|0,P3=e[ws>>2]|0,M5=(v5|0)<(P3|0),M5)Ms=F9,I$=v5;else break}}while(!1);rh=y4+3480|0,nh=+A1[rh>>3],vA=nh*1e3,Ls=(y4+1056|0)+(pi<<2)|0,Rs=e[Ls>>2]|0,lm=e[kg>>2]|0,Fs=+(lm|0),lr=Fs*.5,sh=y4+(pi<<2)|0,Fr=e[sh>>2]|0,ii=Fr>>1,l$=vA>lr,bp=l$?lr:vA,c$=bp/lr,Vi=+(ii|0),h$=Vi*c$,u$=~~h$,Mr=Rs+1116|0,e[Mr>>2]=u$,$6=(bi+(jt<<5)|0)+4|0,kA=e[$6>>2]|0;do if((kA|0)==2)Ah=250;else if((kA|0)==1){if(Tr=e[Tg>>2]|0,oh=(Tr|0)==0,ke=y4+2996|0,f$=y4+2968|0,XQ=oh?f$:ke,jQ=e[XQ>>2]|0,WQ=+(jQ|0),Dp=WQ*1e3,y8=Dp>lr,!y8){Ah=Dp;break}Ah=lr}else Ah=bp;while(!1);I0=e[Mg>>2]|0,w0=(I0|0)==2;do if(w0){if(C0=y4+12|0,v0=e[C0>>2]|0,d0=(v0|0)>0,d0)for(hC=0;;){if(p0=(y4+544|0)+(hC<<2)|0,B0=e[p0>>2]|0,E0=e[B0>>2]|0,b0=(E0|0)>0,b0)for(ym=0;;){K0=(B0+1092|0)+(ym<<2)|0,Q0=e[K0>>2]|0,M0=(Q0|0)==(jt|0);do if(M0){if(T0=e[Sg>>2]|0,G0=(T0|0)>0,G0)Sp=0,dC=0;else{gm=0;break}for(;;)if(P0=(B0+4|0)+(dC<<2)|0,y0=e[P0>>2]|0,Y0=(y0|0)==(ym|0),F0=Y0&1,O=F0+Sp|0,_0=dC+1|0,GQ=(_0|0)==(T0|0),GQ){gm=O;break}else Sp=O,dC=_0}else gm=0;while(!1);if(N0=ym+1|0,J0=(N0|0)<(E0|0),O0=(gm|0)==0,z0=J0&O0,z0)ym=N0;else{lC=gm;break}}else lC=0;if(U0=hC+1|0,q0=(U0|0)<(v0|0),r1=(lC|0)==0,H0=q0&r1,H0)hC=U0;else{$C=lC;break}}else $C=0;if(e1=Ah/lr,D0=+($C|0),i1=D0*Vi,$1=i1*e1,u1=e[Ja>>2]|0,g1=+(u1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,u1)|0,o1=ei+4|0,e[o1>>2]=n1,Z0=r5($C,ii)|0,I1=(n1|0)>(Z0|0),!I1){U=o1,Z1=n1,_1=u1;break}m1=(Z0|0)%(u1|0)&-1,d1=Z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,_1=u1}else{if(E1=Ah/lr,p1=E1*Vi,B1=e[Ja>>2]|0,Q1=+(B1|0),L1=p1/Q1,x1=L1+.9,w1=~~x1,b1=r5(w1,B1)|0,F1=ei+4|0,e[F1>>2]=b1,G1=(b1|0)>(ii|0),!G1){U=F1,Z1=b1,_1=B1;break}v1=(ii|0)%(B1|0)&-1,U1=ii-v1|0,e[F1>>2]=U1,U=F1,Z1=U1,_1=B1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=_1),d3=uC+1|0,k6=e[cA>>2]|0,S6=(d3|0)<(k6|0),S6)uC=d3;else break}if(p6=pi+1|0,X3=(p6|0)<(A|0),X3)pi=p6;else break}return c6=j+3428|0,B6=e[c6>>2]|0,L6=(B6|0)>0,L6?(Y6=t+16|0,e[Y6>>2]=B6):(C6=e[g0>>2]|0,b3=C6+3396|0,t6=e[b3>>2]|0,f6=C6+3400|0,H3=+A1[f6>>3],D3=~~H3,Y3=+(D3|0),Z3=H3-Y3,b6=t6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?B=-1:(O6=e[Sg>>2]|0,d6=A6+(D3<<3)|0,_3=+A1[d6>>3],N6=1-Z3,n6=_3*N6,Q6=D3+1|0,x6=A6+(Q6<<3)|0,K6=+A1[x6>>3],I6=K6*Z3,J6=I6+n6,F3=+(O6|0),G6=J6*F3,ey=~~G6,B=ey),e9=t+16|0,e[e9>>2]=B),s9=j+3424|0,R6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=R6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(B6|0)==0,F6?o0=0:(M3=j+3444|0,t9=e[M3>>2]|0,A9=+(t9|0),X6=+(B6|0),u9=A9/X6,f9=~~u9,o0=f9),d9=t+24|0,e[d9>>2]=o0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[D6>>2]|0,o4=j+3368|0,e[o4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,b9=j+3448|0,E9=+A1[b9>>3],r9=j+3376|0,A1[r9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function hb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=+a;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0;if(O=C,I=(A|0)<1,I)u=-131;else if(m=t+28|0,y=e[m>>2]|0,_=a,x=_+1e-7,L=x,F=!(L>=1),E=F?L:.9998999834060669,M=y+3416|0,s[M>>2]=E,T=E,N=y+3400|0,B=ub(n,A,T,0,N)|0,p=y+3396|0,e[p>>2]=B,S=(B|0)==0,S)u=-130;else return fb(t,n,A),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=gb(t)|0,D=(w|0)==0,D?(g=0,g|0):(Ip(t),g=w,g|0);return Ip(t),g=u,g|0}function nC(t,n,A,a,g,u){t=t|0,n=+n,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;for(p1=C,E=~~n,I=+(E|0),x=n-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(A<<2)|0,T0=e[C0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),m=1-x,B=h1*m,p=E+1|0,S=a+(p*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*x,D=w+B,y=D,_=T0+12|0,s[_>>2]=y,L=(a+(E*20|0)|0)+4|0,F=e[L>>2]|0,M=+(F|0),T=M*m,N=(a+(p*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*x,Y=z+T,t0=Y,W=T0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,q=e[e0>>2]|0,X=+(q|0),U=X*m,l0=(a+(p*20|0)|0)+8|0,Z=e[l0>>2]|0,K=+(Z|0),$0=K*x,s0=$0+U,n0=s0,V=T0+20|0,s[V>>2]=n0,h0=(a+(E*20|0)|0)+12|0,o0=+s[h0>>2],g0=o0,j=g0*m,c0=(a+(p*20|0)|0)+12|0,u0=+s[c0>>2],I0=u0,w0=I0*x,v0=w0+j,d0=v0,p0=T0+24|0,s[p0>>2]=d0,B0=(a+(E*20|0)|0)+16|0,E0=+s[B0>>2],b0=E0,K0=b0*m,L0=(a+(p*20|0)|0)+16|0,Q0=+s[L0>>2],M0=Q0,G0=M0*x,P0=G0+K0,y0=P0,Y0=T0+28|0,s[Y0>>2]=y0,F0=g+(E<<2)|0,_0=e[F0>>2]|0,N0=+(_0|0),V0=N0*m,J0=g+(p<<2)|0,O0=e[J0>>2]|0,U0=+(O0|0),q0=U0*x,r1=q0+V0,H0=r1,e1=T0+496|0,s[e1>>2]=H0,d1=0;D0=(u+(E*68|0)|0)+(d1<<2)|0,i1=e[D0>>2]|0,c1=+(i1|0),$1=c1*m,u1=(u+(p*68|0)|0)+(d1<<2)|0,l1=e[u1>>2]|0,s1=+(l1|0),a1=s1*x,n1=a1+$1,o1=n1,Z0=(T0+36|0)+(d1<<2)|0,s[Z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function sC(t,n,A,a,g,u,E){t=t|0,n=+n,A=A|0,a=a|0,g=g|0,u=u|0,E=+E;var I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0;for(w2=C,v=~~n,w=+(v|0),l0=n-w,j=t+28|0,b0=e[j>>2]|0,_0=(b0+2852|0)+(A<<2)|0,D0=e[_0>>2]|0,Z0=a+(v<<2)|0,w1=e[Z0>>2]|0,O1=+(w1|0),D=1-l0,z=O1*D,Y=v+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*l0,q=e0+z,X=q,U=D0+108|0,s[U>>2]=X,Z=u+(A*12|0)|0,K=e[Z>>2]|0,$0=D0+120|0,e[$0>>2]=K,s0=(u+(A*12|0)|0)+4|0,i0=e[s0>>2]|0,n0=D0+124|0,e[n0>>2]=i0,V=(u+(A*12|0)|0)+8|0,h0=e[V>>2]|0,o0=D0+128|0,e[o0>>2]=h0,i2=0;;)if(g0=(g+(v*204|0)|0)+(i2<<2)|0,c0=e[g0>>2]|0,u0=+(c0|0),I0=u0*D,w0=(g+(Y*204|0)|0)+(i2<<2)|0,C0=e[w0>>2]|0,v0=+(C0|0),d0=v0*l0,p0=d0+I0,B0=p0,E0=(D0+132|0)+(i2<<2)|0,s[E0>>2]=B0,K0=i2+1|0,K1=(K0|0)==17,K1){l2=0;break}else i2=K0;for(;;)if(x1=((g+(v*204|0)|0)+68|0)+(l2<<2)|0,b1=e[x1>>2]|0,R1=+(b1|0),F1=R1*D,G1=((g+(Y*204|0)|0)+68|0)+(l2<<2)|0,v1=e[G1>>2]|0,U1=+(v1|0),Z1=U1*l0,N1=Z1+F1,_1=N1,V1=(D0+200|0)+(l2<<2)|0,s[V1>>2]=_1,q1=l2+1|0,h2=(q1|0)==17,h2){r2=0;break}else l2=q1;for(;H1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,Y1=e[H1>>2]|0,j1=+(Y1|0),n2=j1*D,W1=((g+(Y*204|0)|0)+136|0)+(r2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*l0,u2=z1+n2,y=u2,_=(D0+268|0)+(r2<<2)|0,s[_>>2]=y,x=r2+1|0,$2=(x|0)==17,!$2;)r2=x;for(L=D0+132|0,F=+s[L>>2],y0=F+6,M=D0+132|0,T=F,N=T+E,G=N,O=G>2]=y2,L0=1;I=(D0+132|0)+(L0<<2)|0,p=+s[I>>2],Q0=(D0+132|0)+(L0<<2)|0,M0=p,T0=M0+E,G0=T0,P0=G0>2]=a2,Y0=L0+1|0,o2=(Y0|0)==17,!o2;)L0=Y0;for(F0=D0+200|0,N0=+s[F0>>2],V0=N0+6,J0=D0+200|0,O0=N0,z0=O0+E,U0=z0,q0=U0>2]=s2,r1=1;m=(D0+200|0)+(r1<<2)|0,S=+s[m>>2],H0=(D0+200|0)+(r1<<2)|0,e1=S,i1=e1+E,c1=i1,$1=c1>2]=X1,u1=r1+1|0,E2=(u1|0)==17,!E2;)r1=u1;for(g1=D0+268|0,l1=+s[g1>>2],s1=l1+6,a1=D0+268|0,n1=l1,o1=n1+E,I1=o1,h1=I1>2]=t2,m1=1;B=(D0+268|0)+(m1<<2)|0,b=+s[B>>2],d1=(D0+268|0)+(m1<<2)|0,E1=b,p1=E1+E,B1=p1,Q1=B1>2]=f2,L1=m1+1|0,A2=(L1|0)==17,!A2;)m1=L1}function ub(t,n,A,a,g){t=t|0,n=n|0,A=+A,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0;Q1=C,v=(a|0)==0;e:do if(v){for(q=26336,Z0=0;;){if(e0=e[q>>2]|0,X=e0+12|0,U=e[X>>2]|0,l0=(U|0)==-1,K=(U|0)==(t|0),d1=l0|K,d1&&($0=e0+16|0,s0=e[$0>>2]|0,i0=(s0|0)>(n|0),!i0&&(n0=e0+20|0,V=e[n0>>2]|0,h0=(V|0)<(n|0),!h0&&(o0=e[e0>>2]|0,g0=e0+8|0,j=e[g0>>2]|0,u0=+A1[j>>3],I0=u0>A,!I0&&(v0=j+(o0<<3)|0,d0=+A1[v0>>3],p0=d0>2]|0,K0=Z+12|0,N0=e[K0>>2]|0,i1=(N0|0)==-1,s1=(N0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,D=e[a1>>2]|0,y=(D|0)>(n|0),!y&&(_=Z+20|0,x=e[_>>2]|0,L=(x|0)<(n|0),!L&&(F=e[Z>>2]|0,M=Z+4|0,T=e[M>>2]|0,N=+A1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=F,m=c0,B=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){u=0;break}else c0=J,I1=o1}return u|0}while(!1);B0=(I|0)>0;e:do if(B0)for(b0=l1,m1=0;;){if(E0=!(E>=b0),b=m1+1|0,!E0&&(L0=B+(b<<3)|0,Q0=+A1[L0>>3],M0=E>3],b0=S,m1=b}else h1=0;while(!1);return G0=(h1|0)==(I|0),G0?(P0=+(I|0),y0=P0+-.001,p1=y0):(Y0=B+(h1<<3)|0,F0=+A1[Y0>>3],_0=F0,V0=h1+1|0,J0=B+(V0<<3)|0,O0=+A1[J0>>3],z0=O0,U0=_0,q0=E-U0,r1=z0-_0,H0=r1,e1=q0/H0,D0=e1,c1=+(h1|0),$1=D0+c1,u1=$1,p1=u1),A1[g>>3]=p1,g1=e[m>>2]|0,u=g1,u|0}function fb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0;D0=C,I=t+28|0,m=e[I>>2]|0,L=m+3396|0,W=e[L>>2]|0,e[t>>2]=0,n0=t+4|0,e[n0>>2]=n,v0=t+8|0,e[v0>>2]=A,G0=m+3456|0,e[G0>>2]=1,U0=m+3460|0,e[U0>>2]=1,r1=m+3400|0,H0=+A1[r1>>3],B=~~H0,p=+(B|0),S=H0-p,b=m+3472|0,A1[b>>3]=H0,v=m+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=W+120|0,_=e[y>>2]|0,x=_+(B<<3)|0,F=+A1[x>>3],M=1-S,T=F*M,N=B+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*S,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,g=N,u=M):(a=1-S,E=B+1|0,g=E,u=a),J=W+112|0,e0=e[J>>2]|0,q=e0+(B<<2)|0,X=e[q>>2]|0,U=+(X|0),l0=U*u,Z=e0+(g<<2)|0,K=e[Z>>2]|0,$0=+(K|0),s0=$0*S,i0=s0+l0,V=m+3496|0,A1[V>>3]=i0,h0=W+116|0,o0=e[h0>>2]|0,g0=o0+(B<<2)|0,j=e[g0>>2]|0,c0=+(j|0),u0=c0*u,I0=o0+(g<<2)|0,w0=e[I0>>2]|0,C0=+(w0|0),d0=C0*S,p0=d0+u0,B0=m+3504|0,A1[B0>>3]=p0,E0=m+3512|0,A1[E0>>3]=-6,b0=m+3520|0,A1[b0>>3]=H0,K0=m+3528|0,A1[K0>>3]=H0,L0=m+3536|0,A1[L0>>3]=H0,Q0=m+3544|0,A1[Q0>>3]=H0,M0=m+3552|0,A1[M0>>3]=H0,T0=m+3560|0,A1[T0>>3]=H0,P0=m+3568|0,A1[P0>>3]=H0,y0=m+3576|0,A1[y0>>3]=H0,Y0=m+3584|0,A1[Y0>>3]=H0,F0=m+3592|0,A1[F0>>3]=H0,_0=m+3600|0,A1[_0>>3]=H0,N0=m+3608|0,A1[N0>>3]=H0,V0=m+3616|0,A1[V0>>3]=H0,J0=m+3624|0,A1[J0>>3]=H0,O0=m+3632|0,A1[O0>>3]=H0,z0=m+3640|0,A1[z0>>3]=H0,q0=m+3648|0,A1[q0>>3]=H0}function db(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0;if(O0=C,I=(g|0)!=0,m=I?a:0,L=I?u:0,W=n+(m<<2)|0,n0=e[W>>2]|0,v0=520336+(n0<<2)|0,b0=e[v0>>2]|0,K0=n+(L<<2)|0,L0=e[K0>>2]|0,Q0=520336+(L0<<2)|0,B=e[Q0>>2]|0,p=A+(g<<2)|0,S=e[p>>2]|0,b=A+(m<<2)|0,v=e[b>>2]|0,w=A+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,_=(v|0)/4&-1,x=y-_|0,F=(v|0)/2&-1,M=x+F|0,T=(S|0)/2&-1,N=T+y|0,E=(D|0)/-4&-1,G=N+E|0,O=(D|0)/2&-1,z=G+O|0,Y=(x|0)>0,Y?(t0=y-_|0,J=t0<<2,ae(t|0,0,J|0)|0,T0=x):T0=0,e0=(T0|0)<(M|0),e0)for(q=y+F|0,X=q-T0|0,U=X-_|0,G0=T0,Y0=0;$0=b0+(Y0<<2)|0,s0=+s[$0>>2],i0=t+(G0<<2)|0,V=+s[i0>>2],h0=V*s0,s[i0>>2]=h0,o0=G0+1|0,g0=Y0+1|0,M0=(g0|0)==(U|0),!M0;)G0=o0,Y0=g0;if(l0=(D|0)>1,l0){for(Z=G+1|0,K=(z|0)>(Z|0),y0=G,_0=O;F0=_0+-1|0,I0=B+(F0<<2)|0,w0=+s[I0>>2],C0=t+(y0<<2)|0,d0=+s[C0>>2],p0=d0*w0,s[C0>>2]=p0,B0=y0+1|0,E0=(B0|0)<(z|0),E0;)y0=B0,_0=F0;V0=K?z:Z,P0=V0}else P0=G;j=(S|0)>(P0|0),j&&(N0=t+(P0<<2)|0,c0=S-P0|0,u0=c0<<2,ae(N0|0,0,u0|0)|0)}function Ib(t,n,A){t=t|0,n=+n,A=+A;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0;if(V=C,C=C+64|0,i0=V+32|0,s0=V,a=S9(688)|0,g=a+408|0,DS(g),D=~~n,hb(g,t,D,A)|0,z=a+440|0,kS(z),SS(z,553008,553016),X=a+456|0,sS(X,g)|0,U=a+568|0,rS(X,U)|0,l0=eQ(0)|0,yb(l0),Z=wb()|0,Kk(a,Z)|0,K=a+680|0,e[K>>2]=0,$0=a+684|0,e[$0>>2]=0,u=a+360|0,_S(X,z,u,i0,s0)|0,iC(a,u)|0,iC(a,i0)|0,iC(a,s0)|0,E=a+392|0,I=iQ(a,E)|0,m=(I|0)==0,m)return C=V,a|0;for(B=a+396|0,p=a+404|0,S=a+400|0;b=e[$0>>2]|0,v=e[B>>2]|0,w=v+b|0,y=e[p>>2]|0,_=w+y|0,x=(_|0)==0,x||(M=e[K>>2]|0,T=Hi(M,_)|0,e[K>>2]=T,N=e[$0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[B>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[$0>>2]=t0,J=T+t0|0,W=e[S>>2]|0,e0=e[p>>2]|0,s4(J|0,W|0,e0|0)|0,q=e0+t0|0,e[$0>>2]=q),L=iQ(a,E)|0,F=(L|0)==0,!F;);return C=V,a|0}function Eb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0;m=C,zk(t)|0,n=t+568|0,nS(n)|0,A=t+456|0,oQ(A),a=t+440|0,bS(a),g=t+408|0,Ip(g),u=t+680|0,E=e[u>>2]|0,I2(E),I2(t)}function mb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0;return u=C,A=t+456|0,a=AQ(A,n)|0,a|0}function Cb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0;if(V=C,A=t+456|0,oS(A,n)|0,a=t+568|0,w=aQ(A,a)|0,O=(w|0)==1,!!O)for(l0=t+360|0,Z=t+392|0,K=t+684|0,$0=t+396|0,s0=t+404|0,i0=t+680|0,g=t+392|0,u=t+400|0;;){if(Xk(a,0)|0,iS(a)|0,m=sQ(A,l0)|0,B=(m|0)==0,!B)for(;;){if(iC(t,l0)|0,b=rQ(t,Z)|0,v=(b|0)==0,!v)for(;D=e[K>>2]|0,y=e[$0>>2]|0,_=y+D|0,x=e[s0>>2]|0,L=_+x|0,F=(L|0)==0,F||(N=e[i0>>2]|0,G=Hi(N,L)|0,e[i0>>2]=G,z=e[K>>2]|0,Y=G+z|0,t0=e[g>>2]|0,J=e[$0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[K>>2]=W,e0=G+W|0,q=e[u>>2]|0,X=e[s0>>2]|0,s4(e0|0,q|0,X|0)|0,U=X+W|0,e[K>>2]=U),M=rQ(t,Z)|0,T=(M|0)==0,!T;);if(p=sQ(A,l0)|0,S=(p|0)==0,S)break}if(E=aQ(A,a)|0,I=(E|0)==1,!I)break}}function pb(t){t=t|0;var n=0,A=0,a=0,g=0;return g=C,n=t+684|0,A=e[n>>2]|0,A|0}function Bb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0;return u=C,n=t+684|0,e[n>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function oC(t,n){t=+t,n=n|0;var A=0,a=0,g=0;return g=C,A=+Qb(t,n),+A}function Gh(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0;if(R3=C,C=C+688|0,e3=R3+424|0,J5=R3+192|0,W5=R3,X=r5(A,n)|0,U=(X|0)==0,U){C=R3;return}for(J=X-A|0,H1=W5+4|0,e[H1>>2]=A,e[W5>>2]=A,t2=A,f5=A,v3=2;A2=t2+A|0,M2=A2+f5|0,R5=W5+(v3<<2)|0,e[R5>>2]=M2,S5=M2>>>0>>0,i5=v3+1|0,S5;)y2=f5,f5=M2,v3=i5,t2=y2;if(l0=0-A|0,j=t+J|0,b0=(J|0)>0,b0)for(_0=(A|0)==0,D0=j,w1=1,z2=0,F5=t,U5=1;;){Z0=w1&3,V1=(Z0|0)==3;do if(V1){e[J5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(p=U5,y=F5,P1=F5,z5=1;;){if(q1=y+l0|0,Y1=p+-2|0,j1=W5+(Y1<<2)|0,n2=e[j1>>2]|0,M5=n2+A|0,W=0-M5|0,W1=y+W|0,c2=f7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(u2=f7[a&15](P1,q1)|0,o2=(u2|0)>-1,o2)){u3=z5;break}if(E2=f7[a&15](W1,q1)|0,K1=(E2|0)>-1,h2=z5+1|0,$2=J5+(z5<<2)|0,K1?(e[$2>>2]=W1,i2=p+-1|0,u=W1,m=i2):(e[$2>>2]=q1,u=q1,m=Y1),l2=(m|0)>1,!l2){u3=h2;break}O=e[J5>>2]|0,p=m,y=u,P1=O,z5=h2}if(r2=(u3|0)<2,!r2&&(a2=J5+(u3<<2)|0,e[a2>>2]=e3,!_0))for(w=A,G2=e3;;){for(d2=w>>>0>256,s2=d2?256:w,K2=e[J5>>2]|0,s4(G2|0,K2|0,s2|0)|0,D2=K2,z3=0;k2=J5+(z3<<2)|0,w2=z3+1|0,C2=J5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,s2|0)|0,N2=D2+s2|0,e[k2>>2]=N2,X5=(w2|0)==(u3|0),!X5;)D2=F2,z3=w2;if(X1=(w|0)==(s2|0),X1)break e;f2=w-s2|0,Y=e[a2>>2]|0,w=f2,G2=Y}}while(!1);H2=w1>>>2,P2=z2<<30,o5=H2|P2,O2=z2>>>2,T1=U5+2|0,n0=o5,_1=O2,O5=T1}else{if(X2=U5+-1|0,x5=W5+(X2<<2)|0,e5=e[x5>>2]|0,b5=F5,Z2=D0-b5|0,k5=e5>>>0>>0,k5){e[J5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(S=U5,_=F5,_2=F5,w3=1;;){if(l5=_+l0|0,v2=S+-2|0,m5=W5+(v2<<2)|0,n5=e[m5>>2]|0,o6=n5+A|0,e0=0-o6|0,L2=_+e0|0,p2=f7[a&15](_2,L2)|0,C5=(p2|0)>-1,C5&&(d5=f7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){B3=w3;break}if(G5=f7[a&15](L2,l5)|0,_5=(G5|0)>-1,q2=w3+1|0,I5=J5+(w3<<2)|0,_5?(e[I5>>2]=L2,A5=S+-1|0,E=L2,B=A5):(e[I5>>2]=l5,E=l5,B=v2),c5=(B|0)>1,!c5){B3=q2;break}z=e[J5>>2]|0,S=B,_=E,_2=z,w3=q2}if(p5=(B3|0)<2,!p5&&(M1=J5+(B3<<2)|0,e[M1>>2]=e3,!_0))for(D=A,j2=e3;;){for(u5=D>>>0>256,a5=u5?256:D,L5=e[J5>>2]|0,s4(j2|0,L5|0,a5|0)|0,h5=L5,G3=0;g2=J5+(G3<<2)|0,B5=G3+1|0,t5=J5+(B5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(B5|0)==(B3|0),!n3;)h5=s5,G3=B5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else AC(F5,A,a,w1,z2,U5,0,W5);if($5=(U5|0)==1,$5){x2=z2<<1,Q5=w1>>>31,q5=Q5|x2,j5=w1<<1,n0=j5,_1=q5,O5=0;break}else{E5=X2>>>0>31,f3=U5+-33|0,g=E5?0:w1,x=E5?w1:z2,L=E5?f3:X2,h3=x<>>Z,$0=K|h3,s0=g<>>0>>0,h0)w1=i0,z2=_1,F5=V,U5=O5;else{T=_1,N=i0,m3=V,H5=O5;break}}else T=0,N=1,m3=t,H5=1;if(AC(m3,A,a,N,T,H5,0,W5),o0=(H5|0)==1,g0=(N|0)==1,C3=g0&o0,c0=(T|0)==0,c3=c0&C3,c3){C=R3;return}else w0=N,Q0=T,V5=m3,v5=H5;for(;;){if(u0=(v5|0)<2,!u0){q0=Q0<<2,r1=w0>>>30,H0=r1|q0,e1=v5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,u1=c1|$1,g1=u1^3,l1=H0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,P3=a1+A|0,q=0-P3|0,n1=V5+q|0,o1=v5+-1|0,AC(n1,A,a,g1,l1,o1,1,W5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,p1=V5+l0|0,AC(p1,A,a,E1,m1,e1,1,W5),w0=E1,Q0=m1,V5=p1,v5=e1;continue}I0=w0+-1|0,C0=(I0|0)==0;do if(C0)U0=32,A3=56;else{if(v0=I0&1,d0=(v0|0)==0,d0){for(b=I0,i6=0;;)if(p0=i6+1|0,B0=b>>>1,E0=B0&1,K0=(E0|0)==0,K0)b=B0,i6=p0;else{F=p0;break}L0=(F|0)==0,L0?A3=51:J0=F}else A3=51;if((A3|0)==51){if(A3=0,M0=(Q0|0)==0,M0){U0=64,A3=56;break}if(T0=Q0&1,G0=(T0|0)==0,G0)v=Q0,x3=0;else{I=0,Q1=w0,b1=Q0,v1=0;break}for(;;)if(P0=x3+1|0,y0=v>>>1,Y0=y0&1,F0=(Y0|0)==0,F0)v=y0,x3=P0;else{M=P0,U3=x3;break}if(N0=U3+33|0,V0=(M|0)==0,V0){I=0,Q1=w0,b1=Q0,v1=0;break}else J0=N0}O0=J0>>>0>31,O0?(U0=J0,A3=56):(I=J0,Q1=w0,b1=Q0,v1=J0)}while(!1);if((A3|0)==56&&(A3=0,z0=U0+-32|0,I=z0,Q1=Q0,b1=0,v1=U0),B1=Q1>>>I,L1=32-I|0,x1=b1<>>I,G1=v1+v5|0,G=V5+l0|0,U1=(G1|0)==1,Z1=(R1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=R1,Q0=F1,V5=G,v5=G1}C=R3}function AC(t,n,A,a,g,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0;p2=C,C=C+720|0,L2=p2+456|0,P2=p2+228|0,M2=p2,e[M2>>2]=t,U=0-n|0,l0=(a|0)!=1,Q0=(g|0)!=0,J0=Q0|l0;e:do if(J0)if($1=I+(u<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,K1=f7[A&15](Y1,t)|0,y2=(K1|0)<1,y2)p=t,x=u,G=E,O2=1,_2=18;else for(v=t,T=u,O=E,E0=Y1,q0=g,b5=1,v2=a;;){if(Z=(O|0)==0,c0=(T|0)>1,l5=Z&c0,l5){if(v0=v+U|0,d0=T+-2|0,p0=I+(d0<<2)|0,B0=e[p0>>2]|0,b0=f7[A&15](v0,E0)|0,K0=(b0|0)>-1,K0){S=v,L=T,X2=b5;break e}if(m5=B0+n|0,q=0-m5|0,L0=v+q|0,M0=f7[A&15](L0,E0)|0,T0=(M0|0)>-1,T0){S=v,L=T,X2=b5;break e}}G0=b5+1|0,P0=M2+(b5<<2)|0,e[P0>>2]=E0,y0=v2+-1|0,Y0=(y0|0)==0;do if(Y0)o1=32,_2=15;else{if(F0=y0&1,_0=(F0|0)==0,_0){for(y=y0,f5=0;;)if(N0=f5+1|0,V0=y>>>1,O0=V0&1,z0=(O0|0)==0,z0)y=V0,f5=N0;else{z=N0;break}U0=(z|0)==0,U0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(q0|0)==0,r1){o1=64,_2=15;break}if(H0=q0&1,e1=(H0|0)==0,e1)_=q0,k5=0;else{B=0,I1=v2,E1=q0,L1=0;break}for(;;)if(D0=k5+1|0,i1=_>>>1,c1=i1&1,u1=(c1|0)==0,u1)_=i1,k5=D0;else{Y=D0,P5=k5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){B=0,I1=v2,E1=q0,L1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(B=s1,I1=v2,E1=q0,L1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=o1+-32|0,B=n1,I1=q0,E1=0,L1=o1),Z0=I1>>>B,h1=32-B|0,d1=E1<>>B,Q1=L1+T|0,x1=(p1|0)!=1,w1=(B1|0)!=0,b1=w1|x1,!b1){S=E0,L=Q1,X2=G0;break e}if(t0=e[M2>>2]|0,R1=I+(Q1<<2)|0,G1=e[R1>>2]|0,v1=0-G1|0,U1=E0+v1|0,Z1=f7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){p=E0,x=Q1,G=0,O2=G0,_2=18;break}else w=E0,T=Q1,O=0,E0=U1,q0=B1,b5=G0,v2=p1,v=w}else p=t,x=u,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(_1=(G|0)==0,_1)S=p,L=x,X2=O2;else{C=p2;return}V1=(X2|0)<2;e:do if(!V1&&(O1=M2+(X2<<2)|0,e[O1>>2]=L2,q1=(n|0)==0,!q1))for(M=n,h2=L2;;){for(E2=M>>>0>256,j1=E2?256:M,A2=e[M2>>2]|0,s4(h2|0,A2|0,j1|0)|0,u2=A2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(u2|0,z1|0,j1|0)|0,o2=u2+j1|0,e[W1>>2]=o2,o5=(P1|0)==(X2|0),!o5;)u2=z1,e5=P1;if(H1=(M|0)==(j1|0),H1)break e;n2=M-j1|0,e0=e[O1>>2]|0,M=n2,h2=e0}while(!1);e[P2>>2]=S,$2=(L|0)>1;e:do if($2){for(D=L,N=S,s2=S,Z2=1;;){if(i2=N+U|0,l2=D+-2|0,r2=I+(l2<<2)|0,a2=e[r2>>2]|0,n5=a2+n|0,X=0-n5|0,X1=N+X|0,f2=f7[A&15](s2,X1)|0,t2=(f2|0)>-1,t2&&(k2=f7[A&15](s2,i2)|0,w2=(k2|0)>-1,w2)){T1=Z2;break}if(C2=f7[A&15](X1,i2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,b=d2):(e[N2>>2]=i2,m=i2,b=l2),K2=(b|0)>1,!K2){T1=D2;break}J=e[P2>>2]|0,D=b,N=m,s2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=L2;else if(H2=P2+(T1<<2)|0,e[H2>>2]=L2,K=(n|0)==0,K)C0=L2;else for(F=n,w0=L2;;){for(u0=F>>>0>256,s0=u0?256:F,I0=e[P2>>2]|0,s4(w0|0,I0|0,s0|0)|0,g0=I0,x5=0;n0=P2+(x5<<2)|0,V=x5+1|0,h0=P2+(V<<2)|0,o0=e[h0>>2]|0,s4(g0|0,o0|0,s0|0)|0,j=g0+s0|0,e[n0>>2]=j,z2=(V|0)==(T1|0),!z2;)g0=o0,x5=V;if($0=(F|0)==(s0|0),$0){C0=L2;break e}i0=F-s0|0,W=e[H2>>2]|0,F=i0,w0=W}}else C0=L2;while(!1);C=p2}function qi(t){t=+t;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0;return L=C,A1[B2>>3]=t,A=e[B2>>2]|0,a=e[B2+4>>2]|0,B=a&2146435072,p=B>>>0>1126170624,S=!1,b=(B|0)==1126170624,v=b&S,w=p|v,w?(n=t,+n):(D=(a|0)<0,y=t+-4503599627370496,g=y+4503599627370496,u=t+4503599627370496,E=u+-4503599627370496,_=D?g:E,I=_==0,I?(m=D?-0:0,n=m,+n):(n=_,+n))}function bQ(t){t=+t;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0;return w=C,A=(s[B2>>2]=t,e[B2>>2]|0),a=A&2130706432,g=a>>>0>1249902592,g?(n=t,+n):(u=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,B=m+-8388608,b=u?I:B,p=b==0,p?(S=u?-0:0,n=S,+n):(n=b,+n))}function Qb(t,n){t=+t,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,u=(n|0)>1023,u?(E=t*898846567431158e293,y=n+-1023|0,_=(y|0)>1023,_?(x=E*898846567431158e293,L=n+-2046|0,F=(L|0)>1023,A=F?1023:L,a=A,G=x):(a=y,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,B=n+2044|0,p=(B|0)<-1022,g=p?-1022:B,a=g,G=m):(a=N,G=T)):(a=n,G=t)),S=a+1023|0,b=LQ(S|0,0,52)|0,v=H6,e[B2>>2]=b,e[B2+4>>2]=v,w=+A1[B2>>3],D=G*w,+D}function yb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0;I=C,n=t+-1|0,A=553040,a=A,e[a>>2]=n,g=A+4|0,u=g,e[u>>2]=0}function wb(){var t=0,n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,B=t+4|0,p=B,S=e[p>>2]|0,b=bb(m|0,S|0,1284865837,1481765933)|0,v=H6,w=js(b|0,v|0,1,0)|0,D=H6,A=553040,a=A,e[a>>2]=w,g=A+4|0,u=g,e[u>>2]=D,E=Xs(w|0,D|0,33)|0,I=H6,E|0}function S9(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,e8=0,U4=0,Ge=0,P4=0,ee=0,be=0,t8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,i8=0,g4=0,v4=0,f8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,d8=0,H8=0,Y8=0,et=0,tt=0,I8=0,Pe=0,xe=0,r8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,n8=0,q4=0,Re=0,s8=0,E8=0,_8=0,ue=0,j9=0,o8=0,m8=0,A8=0,C8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,a8=0,we=0,Q4=0,p8=0,nt=0,H4=0,I3=0,He=0,B8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,$8=0,l8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,c8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,Q8=0,mt=0,Ft=0,Wr=0,mr=0,io=0,qn=0,ro=0,Hn=0,no=0,so=0,Yn=0,oo=0,jr=0,Ao=0,ao=0,$o=0,Jn=0,lo=0,Vn=0,Kn=0,co=0,Xr=0,zn=0,en=0,Zn=0,Wn=0,go=0,ho=0,uo=0,tn=0,jn=0,fo=0,Cr=0,rn=0,Io=0,Eo=0,nn=0,ui=0,Xn=0,mo=0,Co=0,es=0,ts=0,is=0,po=0,fi=0,sn=0,Bo=0,rs=0,Qo=0,yo=0,wo=0,ns=0,vo=0,ko=0,So=0,bo=0,ss=0,Do=0,_o=0,on=0,pr=0,An=0,Lo=0,Xi=0,xo=0,os=0,an=0,As=0,$n=0,Ro=0,as=0,$s=0,Fo=0,ls=0,cs=0,Mo=0,Br=0,gs=0,di=0,ln=0,Qr=0,er=0,yr=0,Yi=0,wr=0,hs=0,Ji=0,vi=0,ki=0,j7=0,Si=0,vr=0,tr=0,ir=0,kr=0,Ii=0,To=0,l7=0,rl=0,cn=0,gn=0,Uh=0,nl=0,No=0,Ph=0,ta=0,sl=0,Oh=0,qh=0,Hh=0,ia=0,ol=0,Al=0,ra=0,hn=0,al=0,Yh=0,Go=0,rr=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,eu=0,tu=0,$l=0,Sr=0,iu=0,ru=0,ll=0,nu=0,na=0,Uo=0,sa=0,su=0,ou=0,oa=0,cl=0,gl=0,hl=0,Aa=0,ul=0,Po=0,Au=0,au=0,fl=0,$u=0,lu=0,dl=0,cu=0,gu=0,Il=0,El=0,ml=0,Cl=0,pl=0,un=0,hu=0,Bl=0,uu=0,Ql=0,yl=0,fu=0,du=0,Iu=0,aa=0,wl=0,vl=0,us=0,kl=0,$a=0,Eu=0,Sl=0,mu=0,bl=0,Cu=0,pu=0,Dl=0,_l=0,Bu=0,Oo=0,Qu=0,la=0,Ll=0,xl=0,yu=0,wu=0,vu=0,ku=0,Su=0,bu=0,qo=0,Rl=0,Fl=0,Ml=0,Ho=0,Du=0,Tl=0,_u=0,Nl=0,Lu=0,xu=0,Gl=0,ca=0,Ru=0,Fu=0,Yo=0,Mu=0,Jo=0,Tu=0,ga=0,Nu=0,Gu=0,Uu=0,Ul=0,Pu=0,Ou=0,qu=0,Hu=0,Pl=0,Ol=0,nr=0,ql=0,Vo=0,ha=0,ua=0,fn=0,Hl=0,dn=0,Yu=0,Yl=0,Ju=0,Vu=0,Ku=0,zu=0,Ko=0,fa=0,br=0,Zu=0,Wu=0,Jl=0,da=0,Vl=0,Kl=0,ju=0,zl=0,Xu=0,Ia=0,ef=0,tf=0,P9=0,rf=0,Zl=0,nf=0,sf=0,Ea=0,of=0,ma=0,Wl=0,Af=0,af=0,jl=0,Xl=0,$f=0,Ca=0,pa=0,ec=0,tc=0,lf=0,ic=0,Ba=0,cf=0,rc=0,gf=0,hf=0,uf=0,ff=0,nc=0,sc=0,Qa=0,zo=0,oc=0,df=0,Ac=0,ac=0,If=0,Ef=0,mf=0,$c=0,Cf=0,pf=0,Bf=0,Qf=0,yf=0,wf=0,lc=0,vf=0,cc=0,kf=0,In=0,Sf=0,gc=0,bf=0,fs=0,hc=0,ya=0,Df=0,Zo=0,wa=0,_f=0,va=0,uc=0,Lf=0,xf=0,Rf=0,Ff=0,Mf=0,fc=0,Tf=0,Nf=0,Gf=0,Wo=0,ds=0,ka=0,Uf=0,Sa=0,Pf=0,Of=0,qf=0,dc=0,Hf=0,Yf=0,Jf=0,Vf=0,Kf=0,jo=0,zf=0,Zf=0,Ic=0,Wf=0,jf=0,Xf=0,ed=0,Ei=0,Ec=0,mi=0,mc=0,ba=0,td=0,X7=0,Is=0,id=0,rd=0,nd=0,sd=0,od=0,Cc=0,Ad=0,ad=0,pc=0,$d=0,ld=0,Es=0,Da=0,cd=0,Bc=0,gd=0,hd=0,Xo=0,ud=0,fd=0,Qc=0,yc=0,dd=0,Id=0,En=0,Ed=0,md=0,mn=0,Cd=0,wc=0,pd=0,Bd=0,ms=0,vc=0,Qd=0,kc=0,yd=0,sr=0,_a=0,wd=0,Sc=0,bc=0,vd=0,kd=0,Dc=0,Sd=0,bd=0,Dd=0,_c=0,_d=0,Cs=0,Ld=0,Cn=0,xd=0,Rd=0,La=0,Fd=0,xa=0,Ra=0,Md=0,Lc=0,xc=0,Td=0,Rc=0,Fc=0,Mc=0,Nd=0,Tc=0,Nc=0,Gd=0,Ud=0,Gc=0,Uc=0,Pd=0,Pc=0,Oc=0,Od=0,qd=0,qc=0,Fa=0,Hc=0,Yc=0,Jc=0,Vc=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,zd=0,Zd=0,Wd=0,Kc=0,Ma=0,jd=0,Xd=0,eI=0,zc=0,Zc=0,tI=0,Wc=0,Ta=0,eA=0,jc=0,iI=0,rI=0,nI=0,sI=0,Xc=0,tA=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,gI=0,hI=0,eg=0,uI=0,fI=0,dI=0,II=0,iA=0,tg=0,EI=0,mI=0,pn=0,ig=0,rg=0,Na=0,CI=0,ng=0,pI=0,sg=0,og=0,BI=0,QI=0,yI=0,wI=0,vI=0,rA=0,Ga=0,kI=0,SI=0,bI=0,DI=0,Ag=0,_I=0,ag=0,LI=0,xI=0,$g=0,Dr=0,lg=0,cg=0,RI=0,gg=0,nA=0,FI=0,MI=0,TI=0,sA=0,hg=0,NI=0,GI=0,ug=0,UI=0,PI=0,Ua=0,oA=0,OI=0,qI=0,HI=0,fg=0,dg=0,Ig=0,YI=0,JI=0,ps=0,VI=0,Eg=0,KI=0,Pa=0,mg=0,zI=0,ZI=0,WI=0,jI=0,Cg=0,XI=0,eE=0,pg=0,AA=0,tE=0,iE=0,rE=0,Bs=0,Bg=0,Qg=0,nE=0,yg=0,wg=0,bi=0,vg=0,or=0,sE=0,oE=0,AE=0,aE=0,Oa=0,aA=0,kg=0,Sg=0,$E=0,$A=0,Qs=0,lE=0,lA=0,qa=0,cE=0,Ha=0,gE=0,hE=0,bg=0,cA=0,Dg=0,uE=0,fE=0,dE=0,IE=0,_g=0,EE=0,jt=0,y4=0,ei=0,mE=0,Lg=0,xg=0,Ya=0,CE=0,_r=0,ys=0,pE=0,BE=0,Rg=0,Ja=0,QE=0,Fg=0,Mg=0,Tg=0,Va=0,Ka=0,Ng=0,ws=0,za=0,Gg=0,yE=0,Bn=0,wE=0,Ug=0,gA=0,vE=0,Pg=0,Di=0,kE=0,SE=0,bE=0,DE=0,_E=0,LE=0,_i=0,xE=0,RE=0,FE=0,Og=0,Ci=0,hA=0,Za=0,qg=0,Hg=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Vg=0,Kg=0,GE=0,UE=0,zg=0,PE=0,vs=0,uA=0,fA=0,OE=0,Wa=0,qE=0,HE=0,Zg=0,ks=0,YE=0,JE=0,ja=0,Xa=0,dA=0,e$=0,t$=0,Ar=0,Lr=0,xr=0,i$=0,r$=0,Ss=0,ar=0,Qn=0,VE=0,$r=0,yn=0,KE=0,_7=0,L7=0,x7=0,IA=0,EA=0,Wg=0,jg=0,mA=0,n$=0,R7=0,CA=0,Rr=0,s$=0,zE=0,o$=0,ZE=0,A$=0,Xg=0,pA=0,WE=0,jE=0,BA=0,XE=0,QA=0,wn=0,Ke=0,k4=0,eh=0,em=0,a$=0,th=0,tm=0,im=0,yA=0,rm=0,nm=0,sm=0,om=0,ih=0,Am=0,am=0,$m=0,ti=0,wA=0,vn=0,$$=0,bs=0,Ds=0,Xt=0,_s=0,rh=0,nh=0,vA=0,Ls=0,xs=0,Rs=0,lm=0,Fs=0,lr=0,sh=0,Fr=0,ii=0,l$=0,c$=0,Vi=0,g$=0,h$=0,u$=0,Mr=0,$6=0,kA=0,Tr=0,oh=0,ke=0,f$=0,y8=0,Ms=0,kn=0,Sn=0,F9=0,bn=0,Nr=0,J4=0,d$=0;d$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,h4=t+11|0,q4=h4&-8,ve=h2?16:q4,No=ve>>>3,ga=e[138262]|0,Wo=ga>>>No,Yc=Wo&3,pg=(Yc|0)==0,!pg){$2=Wo&1,u3=$2^1,l3=u3+No|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,L6=553088+(w0<<2)|0,b6=e[L6>>2]|0,x6=b6+8|0,D6=e[x6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,ce&&Q2(),B4=D6+12|0,p9=e[B4>>2]|0,N8=(p9|0)==(b6|0),N8){e[B4>>2]=g3,e[L6>>2]=D6;break}else Q2();while(!1);return d8=l3<<3,ft=d8|3,Re=b6+4|0,e[Re>>2]=ft,B0=d8|4,ye=b6+B0|0,H4=e[ye>>2]|0,st=H4|1,e[ye>>2]=st,Ke=x6,Ke|0}if(Je=e[138264]|0,Yt=ve>>>0>Je>>>0,Yt){if(U7=(Wo|0)==0,!U7){O7=Wo<>>12,on=Qo&16,as=Xn>>>on,er=as>>>5,tr=er&8,Ph=tr|on,al=as>>>tr,Xh=al>>>2,sa=Xh&4,au=Ph|sa,pl=al>>>sa,wl=pl>>>1,Dl=wl&2,ku=au|Dl,Nl=pl>>>Dl,Nu=Nl>>>1,ql=Nu&1,Ku=ku|ql,ju=Nl>>>ql,Ea=Ku+ju|0,ec=Ea<<1,nc=553088+(ec<<2)|0,U1=ec+2|0,$c=553088+(U1<<2)|0,In=e[$c>>2]|0,va=In+8|0,ds=e[va>>2]|0,Vf=(nc|0)==(ds|0);do if(Vf)Ec=1<>>0>>0,sr&&Q2(),_c=ds+12|0,Md=e[_c>>2]|0,Ud=(Md|0)==(In|0),Ud){e[_c>>2]=nc,e[$c>>2]=ds,w=e[138264]|0,oA=w;break}else Q2();while(!1);return Jc=Ea<<3,Ma=Jc-ve|0,iI=ve|3,cI=In+4|0,e[cI>>2]=iI,mI=In+ve|0,QI=Ma|1,j1=ve|4,_I=In+j1|0,e[_I>>2]=QI,FI=In+Jc|0,e[FI>>2]=Ma,Eg=(oA|0)==0,Eg||(AA=e[138267]|0,vg=oA>>>3,$A=vg<<1,Dg=553088+($A<<2)|0,Lg=e[138262]|0,Fg=1<>2]|0,C2=e[138266]|0,o5=i2>>>0>>0,o5?Q2():(G=vs,dA=i2)),e[G>>2]=AA,l5=dA+12|0,e[l5>>2]=AA,G5=AA+8|0,e[G5>>2]=dA,W2=AA+12|0,e[W2>>2]=Dg),e[138264]=Ma,e[138267]=mI,Ke=va,Ke|0}if($5=e[138263]|0,m3=($5|0)==0,m3)k4=ve;else{for(V5=0-$5|0,v3=$5&V5,B3=v3+-1|0,z3=B3>>>12,G3=z3&16,z5=B3>>>G3,w3=z5>>>5,W5=w3&8,i6=W5|G3,x3=z5>>>W5,U3=x3>>>2,a3=U3&4,c3=i6|a3,C3=x3>>>a3,H5=C3>>>1,U5=H5&2,O5=c3|U5,v5=C3>>>U5,P3=v5>>>1,M5=P3&1,o6=O5|M5,e3=v5>>>M5,R3=o6+e3|0,u6=553352+(R3<<2)|0,Q3=e[u6>>2]|0,k3=Q3+4|0,y3=e[k3>>2]|0,r6=y3&-8,j3=r6-ve|0,wA=j3,c$=Q3,f$=Q3;;){if(O3=c$+16|0,K5=e[O3>>2]|0,S3=(K5|0)==0,S3)if(q3=c$+20|0,l6=e[q3>>2]|0,d3=(l6|0)==0,d3){vn=wA,y8=f$;break}else k6=l6;else k6=K5;v6=k6+4|0,S6=e[v6>>2]|0,p6=S6&-8,X3=p6-ve|0,c6=X3>>>0>>0,q=c6?X3:wA,A2=c6?k6:f$,wA=q,c$=k6,f$=A2}B6=e[138266]|0,Y6=y8>>>0>>0,Y6&&Q2(),C6=y8+ve|0,b3=y8>>>0>>0,b3||Q2(),e6=y8+24|0,t6=e[e6>>2]|0,f6=y8+12|0,H3=e[f6>>2]|0,D3=(H3|0)==(y8|0);do if(D3){if(N6=y8+20|0,n6=e[N6>>2]|0,Q6=(n6|0)==0,Q6)if(K6=y8+16|0,I6=e[K6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else ar=I6,IA=K6;else ar=n6,IA=N6;for(;;){if(F3=ar+20|0,j6=e[F3>>2]|0,G6=(j6|0)==0,!G6){ar=j6,IA=F3;continue}if(e9=ar+16|0,s9=e[e9>>2]|0,R6=(s9|0)==0,R6){$r=ar,jg=IA;break}else ar=s9,IA=e9}if(U6=jg>>>0>>0,U6)Q2();else{e[jg>>2]=0,_7=$r;break}}else if(Y3=y8+8|0,Z3=e[Y3>>2]|0,A6=Z3>>>0>>0,A6&&Q2(),t3=Z3+12|0,O6=e[t3>>2]|0,s3=(O6|0)==(y8|0),s3||Q2(),a6=H3+8|0,d6=e[a6>>2]|0,_3=(d6|0)==(y8|0),_3){e[t3>>2]=H3,e[a6>>2]=Z3,_7=H3;break}else Q2();while(!1);z6=(t6|0)==0;do if(!z6){if(y6=y8+28|0,F6=e[y6>>2]|0,M3=553352+(F6<<2)|0,M6=e[M3>>2]|0,t9=(y8|0)==(M6|0),t9){if(e[M3>>2]=_7,WE=(_7|0)==0,WE){A9=1<>>0>>0,$9&&Q2(),T9=t6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(y8|0),T6?e[T9>>2]=_7:(i9=t6+20|0,e[i9>>2]=_7),N9=(_7|0)==0,N9)break;I9=e[138266]|0,E4=_7>>>0>>0,E4&&Q2(),o4=_7+24|0,e[o4>>2]=t6,z9=y8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(q6=b9>>>0>>0,q6)Q2();else{r9=_7+16|0,e[r9>>2]=b9,m4=b9+24|0,e[m4>>2]=_7;break}while(!1);if(S4=y8+20|0,A4=e[S4>>2]|0,y9=(A4|0)==0,!y9)if(b4=e[138266]|0,x4=A4>>>0>>0,x4)Q2();else{T4=_7+20|0,e[T4>>2]=A4,X4=A4+24|0,e[X4>>2]=_7;break}}while(!1);return C4=vn>>>0<16,C4?(N4=vn+ve|0,U9=N4|3,G4=y8+4|0,e[G4>>2]=U9,Z1=N4+4|0,a4=y8+Z1|0,R4=e[a4>>2]|0,u4=R4|1,e[a4>>2]=u4):(q9=ve|3,m9=y8+4|0,e[m9>>2]=q9,pe=vn|1,h0=ve|4,Ne=y8+h0|0,e[Ne>>2]=pe,g0=vn+ve|0,e8=y8+g0|0,e[e8>>2]=vn,U4=e[138264]|0,Ge=(U4|0)==0,Ge||(P4=e[138267]|0,ee=U4>>>3,be=ee<<1,Z9=553088+(be<<2)|0,$e=e[138262]|0,f4=1<>2]|0,le=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(T=$4,Xa=_4)),e[T>>2]=P4,ge=Xa+12|0,e[ge>>2]=P4,p4=P4+8|0,e[p4>>2]=Xa,te=P4+12|0,e[te>>2]=Z9),e[138264]=vn,e[138267]=C6),F4=y8+8|0,Ke=F4,Ke|0}}else k4=ve}else if(he=t>>>0>4294967231,he)k4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)k4=g6;else{Be=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?wn=0:(De=g6>>>0>16777215,De?wn=31:(_e=c4+1048320|0,i8=_e>>>16,g4=i8&8,v4=c4<>>16,w9=J3&4,M4=w9|g4,ie=v4<>>16,gt=Le&2,vt=M4|gt,W8=14-vt|0,ht=ie<>>15,T8=W8+ut|0,G8=T8<<1,U8=T8+7|0,j8=g6>>>U8,X8=j8&1,kt=X8|G8,wn=kt)),P8=553352+(wn<<2)|0,O8=e[P8>>2]|0,q8=(O8|0)==0;e:do if(q8)Ds=Be,g$=0,Sn=0,J4=86;else for(k8=(wn|0)==31,S8=wn>>>1,H8=25-S8|0,Y8=k8?0:H8,et=g6<>2]|0,Pe=I8&-8,xe=Pe-g6|0,r8=xe>>>0<$$>>>0,r8)if(b8=(Pe|0)==(g6|0),b8){_s=xe,Mr=Vi,Nr=Vi,J4=90;break e}else bs=xe,kn=Vi;else bs=$$,kn=Ms;if(v9=Vi+20|0,Qe=e[v9>>2]|0,dt=vA>>>31,St=(Vi+16|0)+(dt<<2)|0,it=e[St>>2]|0,bt=(Qe|0)==0,re=(Qe|0)==(it|0),rm=bt|re,nh=rm?rh:Qe,rt=(it|0)==0,J8=vA<<1,rt){Ds=bs,g$=nh,Sn=kn,J4=86;break}else $$=bs,rh=nh,vA=J8,Vi=it,Ms=kn}while(!1);if((J4|0)==86){if(D8=(g$|0)==0,n8=(Sn|0)==0,tm=D8&n8,tm){if(s8=2<>>12,fe=C8&16,Oe=A8>>>fe,qe=Oe>>>5,X9=qe&8,Fe=X9|fe,de=Oe>>>X9,a8=de>>>2,we=a8&4,Q4=Fe|we,p8=de>>>we,nt=p8>>>1,I3=nt&2,He=Q4|I3,B8=p8>>>I3,ne=B8>>>1,H9=ne&1,se=He|H9,D9=B8>>>H9,Ye=se+D9|0,V8=553352+(Ye<<2)|0,It=e[V8>>2]|0,h$=It,bn=0}else h$=g$,bn=Sn;ot=(h$|0)==0,ot?(Xt=Ds,F9=bn):(_s=Ds,Mr=h$,Nr=bn,J4=90)}if((J4|0)==90)for(;;){if(J4=0,K8=Mr+4|0,At=e[K8>>2]|0,z8=At&-8,$8=z8-g6|0,l8=$8>>>0<_s>>>0,X=l8?$8:_s,u$=l8?Mr:Nr,L8=Mr+16|0,Y4=e[L8>>2]|0,at=(Y4|0)==0,!at){_s=X,Mr=Y4,Nr=u$,J4=90;continue}if(x8=Mr+20|0,B9=e[x8>>2]|0,$t=(B9|0)==0,$t){Xt=X,F9=u$;break}else _s=X,Mr=B9,Nr=u$,J4=90}if(Ve=(F9|0)==0,Ve)k4=g6;else if(Gt=e[138264]|0,Ht=Gt-g6|0,Dt=Xt>>>0>>0,Dt){lt=e[138266]|0,_t=F9>>>0>>0,_t&&Q2(),oe=F9+g6|0,Ut=F9>>>0>>0,Ut||Q2(),c8=F9+24|0,R8=e[c8>>2]|0,Lt=F9+12|0,Z8=e[Lt>>2]|0,Me=(Z8|0)==(F9|0);do if(Me){if(Vt=F9+20|0,E7=e[Vt>>2]|0,Kt=(E7|0)==0,Kt)if(m7=F9+16|0,n7=e[m7>>2]|0,$i=(n7|0)==0,$i){x7=0;break}else yn=n7,mA=m7;else yn=E7,mA=Vt;for(;;){if(C7=yn+20|0,p7=e[C7>>2]|0,li=(p7|0)==0,!li){yn=p7,mA=C7;continue}if(B7=yn+16|0,s7=e[B7>>2]|0,ci=(s7|0)==0,ci){KE=yn,n$=mA;break}else yn=s7,mA=B7}if(q7=n$>>>0>>0,q7)Q2();else{e[n$>>2]=0,x7=KE;break}}else if(Ie=F9+8|0,e4=e[Ie>>2]|0,xt=e4>>>0>>0,xt&&Q2(),r7=e4+12|0,G7=e[r7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=Z8+8|0,Jt=e[d7>>2]|0,I7=(Jt|0)==(F9|0),I7){e[r7>>2]=Z8,e[d7>>2]=e4,x7=Z8;break}else Q2();while(!1);H7=(R8|0)==0;do if(!H7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,V7=e[Q7>>2]|0,zt=(F9|0)==(V7|0),zt){if(e[Q7>>2]=x7,BA=(x7|0)==0,BA){A7=1<>>0>>0,hi&&Q2(),y7=R8+16|0,w7=e[y7>>2]|0,v7=(w7|0)==(F9|0),v7?e[y7>>2]=x7:(Z7=R8+20|0,e[Z7>>2]=x7),k7=(x7|0)==0,k7)break;Wt=e[138266]|0,S7=x7>>>0>>0,S7&&Q2(),W7=x7+24|0,e[W7>>2]=R8,a7=F9+16|0,Ot=e[a7>>2]|0,b7=(Ot|0)==0;do if(!b7)if(Rt=Ot>>>0>>0,Rt)Q2();else{$7=x7+16|0,e[$7>>2]=Ot,n9=Ot+24|0,e[n9>>2]=x7;break}while(!1);if(Et=F9+20|0,Q8=e[Et>>2]|0,mt=(Q8|0)==0,!mt)if(Ft=e[138266]|0,Wr=Q8>>>0>>0,Wr)Q2();else{mr=x7+20|0,e[mr>>2]=Q8,io=Q8+24|0,e[io>>2]=x7;break}}while(!1);ro=Xt>>>0<16;e:do if(ro)Hn=Xt+g6|0,no=Hn|3,so=F9+4|0,e[so>>2]=no,c1=Hn+4|0,Yn=F9+c1|0,oo=e[Yn>>2]|0,jr=oo|1,e[Yn>>2]=jr;else{if(Ao=g6|3,ao=F9+4|0,e[ao>>2]=Ao,$o=Xt|1,n0=g6|4,lo=F9+n0|0,e[lo>>2]=$o,I0=Xt+g6|0,Vn=F9+I0|0,e[Vn>>2]=Xt,Kn=Xt>>>3,co=Xt>>>0<256,co){Xr=Kn<<1,zn=553088+(Xr<<2)|0,en=e[138262]|0,Zn=1<>2]|0,fo=e[138266]|0,Cr=jn>>>0>>0,Cr?Q2():(M=tn,t$=jn)),e[M>>2]=oe,rn=t$+12|0,e[rn>>2]=oe,q0=g6+8|0,Io=F9+q0|0,e[Io>>2]=t$,H0=g6+12|0,Eo=F9+H0|0,e[Eo>>2]=zn;break}if(nn=Xt>>>8,ui=(nn|0)==0,ui?Lr=0:(mo=Xt>>>0>16777215,mo?Lr=31:(Co=nn+1048320|0,es=Co>>>16,ts=es&8,is=nn<>>16,sn=fi&4,Bo=sn|ts,rs=is<>>16,ns=wo&2,vo=Bo|ns,ko=14-vo|0,So=rs<>>15,ss=ko+bo|0,Do=ss<<1,_o=ss+7|0,pr=Xt>>>_o,An=pr&1,Lo=An|Do,Lr=Lo)),Xi=553352+(Lr<<2)|0,g1=g6+28|0,xo=F9+g1|0,e[xo>>2]=Lr,x1=g6+16|0,os=F9+x1|0,_1=g6+20|0,an=F9+_1|0,e[an>>2]=0,e[os>>2]=0,As=e[138263]|0,$n=1<>2]=oe,H1=g6+24|0,ls=F9+H1|0,e[ls>>2]=Xi,n2=g6+12|0,cs=F9+n2|0,e[cs>>2]=oe,P1=g6+8|0,Mo=F9+P1|0,e[Mo>>2]=oe;break}Br=e[Xi>>2]|0,gs=Br+4|0,di=e[gs>>2]|0,ln=di&-8,Qr=(ln|0)==(Xt|0);t:do if(Qr)R7=Br;else{for(yr=(Lr|0)==31,Yi=Lr>>>1,wr=25-Yi|0,hs=yr?0:wr,Ji=Xt<>>31,Ii=(s$+16|0)+(kr<<2)|0,j7=e[Ii>>2]|0,To=(j7|0)==0,To){v=Ii,zE=s$;break}if(vi=i$<<1,ki=j7+4|0,Si=e[ki>>2]|0,vr=Si&-8,ir=(vr|0)==(Xt|0),ir){R7=j7;break t}else i$=vi,s$=j7}if(l7=e[138266]|0,rl=v>>>0>>0,rl)Q2();else{e[v>>2]=oe,d0=g6+24|0,cn=F9+d0|0,e[cn>>2]=zE,P0=g6+12|0,gn=F9+P0|0,e[gn>>2]=oe,O0=g6+8|0,Uh=F9+O0|0,e[Uh>>2]=oe;break e}}while(!1);if(nl=R7+8|0,ta=e[nl>>2]|0,sl=e[138266]|0,Oh=ta>>>0>=sl>>>0,eh=R7>>>0>=sl>>>0,qh=Oh&eh,qh){Hh=ta+12|0,e[Hh>>2]=oe,e[nl>>2]=oe,c2=g6+8|0,ia=F9+c2|0,e[ia>>2]=ta,u2=g6+12|0,ol=F9+u2|0,e[ol>>2]=R7,C0=g6+24|0,Al=F9+C0|0,e[Al>>2]=0;break}else Q2()}while(!1);return ra=F9+8|0,Ke=ra,Ke|0}else k4=g6}while(!1);if(hn=e[138264]|0,Yh=hn>>>0>>0,!Yh)return Go=hn-k4|0,rr=e[138267]|0,Jh=Go>>>0>15,Jh?(Vh=rr+k4|0,e[138267]=Vh,e[138264]=Go,Kh=Go|1,u1=k4+4|0,zh=rr+u1|0,e[zh>>2]=Kh,Zh=rr+hn|0,e[Zh>>2]=Go,Wh=k4|3,jh=rr+4|0,e[jh>>2]=Wh):(e[138264]=0,e[138267]=0,eu=hn|3,tu=rr+4|0,e[tu>>2]=eu,o0=hn+4|0,$l=rr+o0|0,Sr=e[$l>>2]|0,iu=Sr|1,e[$l>>2]=iu),ru=rr+8|0,Ke=ru,Ke|0;if(ll=e[138265]|0,nu=ll>>>0>k4>>>0,nu)return na=ll-k4|0,e[138265]=na,Uo=e[138268]|0,su=Uo+k4|0,e[138268]=su,ou=na|1,U=k4+4|0,oa=Uo+U|0,e[oa>>2]=ou,cl=k4|3,gl=Uo+4|0,e[gl>>2]=cl,hl=Uo+8|0,Ke=hl,Ke|0;Aa=e[138380]|0,ul=(Aa|0)==0;do if(ul)if(Po=Nk(30)|0,Au=Po+-1|0,fl=Au&Po,$u=(fl|0)==0,$u){e[138382]=Po,e[138381]=Po,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,lu=eQ(0)|0,dl=lu&-16,cu=dl^1431655768,e[138380]=cu;break}else Q2();while(!1);if(gu=k4+48|0,Il=e[138382]|0,El=k4+47|0,ml=Il+El|0,Cl=0-Il|0,un=ml&Cl,hu=un>>>0>k4>>>0,!hu||(Bl=e[138372]|0,uu=(Bl|0)==0,!uu&&(Ql=e[138370]|0,yl=Ql+un|0,fu=yl>>>0<=Ql>>>0,du=yl>>>0>Bl>>>0,yA=fu|du,yA)))return Ke=0,Ke|0;Iu=e[138373]|0,aa=Iu&4,vl=(aa|0)==0;e:do if(vl){us=e[138268]|0,kl=(us|0)==0;t:do if(kl)J4=174;else{for(Ls=553496;;){if($a=e[Ls>>2]|0,Eu=$a>>>0>us>>>0,!Eu&&(Sl=Ls+4|0,mu=e[Sl>>2]|0,bl=$a+mu|0,Cu=bl>>>0>us>>>0,Cu)){S=Ls,b=Sl;break}if(pu=Ls+8|0,_l=e[pu>>2]|0,Bu=(_l|0)==0,Bu){J4=174;break t}else Ls=_l}if(Ru=e[138265]|0,Fu=ml-Ru|0,Yo=Fu&Cl,Mu=Yo>>>0<2147483647,Mu)if(Jo=N7(Yo|0)|0,Tu=e[S>>2]|0,Gu=e[b>>2]|0,Uu=Tu+Gu|0,Ul=(Jo|0)==(Uu|0),n=Ul?Yo:0,Ul)if(Pu=(Jo|0)==-1,Pu)Tr=n;else{$6=Jo,ke=n,J4=194;break e}else pA=Jo,ii=Yo,kA=n,J4=184;else Tr=0}while(!1);do if((J4|0)==174)if(Oo=N7(0)|0,Qu=(Oo|0)==-1,Qu)Tr=0;else if(la=Oo,Ll=e[138381]|0,xl=Ll+-1|0,yu=xl&la,wu=(yu|0)==0,wu?Fr=un:(vu=xl+la|0,Su=0-Ll|0,bu=vu&Su,qo=un-la|0,Rl=qo+bu|0,Fr=Rl),Fl=e[138370]|0,Ml=Fl+Fr|0,Ho=Fr>>>0>k4>>>0,Du=Fr>>>0<2147483647,im=Ho&Du,im){if(Tl=e[138372]|0,_u=(Tl|0)==0,!_u&&(Lu=Ml>>>0<=Fl>>>0,xu=Ml>>>0>Tl>>>0,nm=Lu|xu,nm)){Tr=0;break}if(Gl=N7(Fr|0)|0,ca=(Gl|0)==(Oo|0),sh=ca?Fr:0,ca){$6=Oo,ke=sh,J4=194;break e}else pA=Gl,ii=Fr,kA=sh,J4=184}else Tr=0;while(!1);t:do if((J4|0)==184){Ou=0-ii|0,qu=(pA|0)!=-1,Hu=ii>>>0<2147483647,om=Hu&qu,Pl=gu>>>0>ii>>>0,Am=Pl&om;do if(Am)if(Ol=e[138382]|0,nr=El-ii|0,Vo=nr+Ol|0,ha=0-Ol|0,ua=Vo&ha,fn=ua>>>0<2147483647,fn)if(Hl=N7(ua|0)|0,dn=(Hl|0)==-1,dn){N7(Ou|0)|0,Tr=kA;break t}else{Yu=ua+ii|0,l$=Yu;break}else l$=ii;else l$=ii;while(!1);if(Yl=(pA|0)==-1,Yl)Tr=kA;else{$6=pA,ke=l$,J4=194;break e}}while(!1);Ju=e[138373]|0,Vu=Ju|4,e[138373]=Vu,oh=Tr,J4=191}else oh=0,J4=191;while(!1);if((J4|0)==191&&(zu=un>>>0<2147483647,zu&&(Ko=N7(un|0)|0,fa=N7(0)|0,br=(Ko|0)!=-1,Zu=(fa|0)!=-1,sm=br&Zu,Wu=Ko>>>0>>0,am=Wu&sm,am&&(Jl=fa,da=Ko,Vl=Jl-da|0,Kl=k4+40|0,zl=Vl>>>0>Kl>>>0,E2=zl?Vl:oh,zl&&($6=Ko,ke=E2,J4=194)))),(J4|0)==194){Xu=e[138370]|0,Ia=Xu+ke|0,e[138370]=Ia,ef=e[138371]|0,tf=Ia>>>0>ef>>>0,tf&&(e[138371]=Ia),P9=e[138268]|0,rf=(P9|0)==0;e:do if(rf){for(Zl=e[138266]|0,nf=(Zl|0)==0,sf=$6>>>0>>0,$m=nf|sf,$m&&(e[138266]=$6),e[138374]=$6,e[138375]=ke,e[138377]=0,of=e[138380]|0,e[138271]=of,e[138270]=-1,QA=0;ma=QA<<1,Wl=553088+(ma<<2)|0,l0=ma+3|0,Af=553088+(l0<<2)|0,e[Af>>2]=Wl,j=ma+2|0,af=553088+(j<<2)|0,e[af>>2]=Wl,jl=QA+1|0,XE=(jl|0)==32,!XE;)QA=jl;Xl=ke+-40|0,$f=$6+8|0,Ca=$f,pa=Ca&7,tc=(pa|0)==0,lf=0-Ca|0,ic=lf&7,Ba=tc?0:ic,cf=$6+Ba|0,rc=Xl-Ba|0,e[138268]=cf,e[138265]=rc,gf=rc|1,K=Ba+4|0,hf=$6+K|0,e[hf>>2]=gf,l1=ke+-36|0,uf=$6+l1|0,e[uf>>2]=40,ff=e[138384]|0,e[138269]=ff}else{for(Rs=553496;;){if(sc=e[Rs>>2]|0,Qa=Rs+4|0,zo=e[Qa>>2]|0,oc=sc+zo|0,df=($6|0)==(oc|0),df){m=sc,B=Qa,p=zo,lm=Rs,J4=204;break}if(Ac=Rs+8|0,ac=e[Ac>>2]|0,If=(ac|0)==0,If)break;Rs=ac}if((J4|0)==204&&(Ef=lm+12|0,mf=e[Ef>>2]|0,Cf=mf&8,pf=(Cf|0)==0,pf&&(Bf=P9>>>0>=m>>>0,Qf=P9>>>0<$6>>>0,ih=Qf&Bf,ih))){yf=p+ke|0,e[B>>2]=yf,wf=e[138265]|0,lc=wf+ke|0,vf=P9+8|0,cc=vf,kf=cc&7,Sf=(kf|0)==0,gc=0-cc|0,bf=gc&7,fs=Sf?0:bf,hc=P9+fs|0,ya=lc-fs|0,e[138268]=hc,e[138265]=ya,Df=ya|1,s0=fs+4|0,Zo=P9+s0|0,e[Zo>>2]=Df,n1=lc+4|0,wa=P9+n1|0,e[wa>>2]=40,_f=e[138384]|0,e[138269]=_f;break}for(uc=e[138266]|0,Lf=$6>>>0>>0,Lf?(e[138266]=$6,ms=$6):ms=uc,xf=$6+ke|0,Fs=553496;;){if(Rf=e[Fs>>2]|0,Ff=(Rf|0)==(xf|0),Ff){I=Fs,lr=Fs,J4=212;break}if(Mf=Fs+8|0,fc=e[Mf>>2]|0,Tf=(fc|0)==0,Tf){xs=553496;break}else Fs=fc}if((J4|0)==212)if(Nf=lr+12|0,Gf=e[Nf>>2]|0,ka=Gf&8,Uf=(ka|0)==0,Uf){e[I>>2]=$6,Sa=lr+4|0,Pf=e[Sa>>2]|0,Of=Pf+ke|0,e[Sa>>2]=Of,qf=$6+8|0,dc=qf,Hf=dc&7,Yf=(Hf|0)==0,Jf=0-dc|0,Kf=Jf&7,jo=Yf?0:Kf,zf=$6+jo|0,E0=ke+8|0,Zf=$6+E0|0,Ic=Zf,Wf=Ic&7,jf=(Wf|0)==0,Xf=0-Ic|0,ed=Xf&7,Ei=jf?0:ed,b0=Ei+ke|0,mi=$6+b0|0,mc=mi,ba=zf,td=mc-ba|0,i0=jo+k4|0,X7=$6+i0|0,Is=td-k4|0,id=k4|3,u0=jo+4|0,rd=$6+u0|0,e[rd>>2]=id,nd=(mi|0)==(P9|0);t:do if(nd)sd=e[138265]|0,Cc=sd+Is|0,e[138265]=Cc,e[138268]=X7,Ad=Cc|1,q1=i0+4|0,ad=$6+q1|0,e[ad>>2]=Ad;else{if(pc=e[138267]|0,$d=(mi|0)==(pc|0),$d){ld=e[138264]|0,Es=ld+Is|0,e[138264]=Es,e[138267]=X7,Da=Es|1,V1=i0+4|0,cd=$6+V1|0,e[cd>>2]=Da,O1=Es+i0|0,Bc=$6+O1|0,e[Bc>>2]=Es;break}if(o1=ke+4|0,K0=o1+Ei|0,hd=$6+K0|0,Xo=e[hd>>2]|0,ud=Xo&3,fd=(ud|0)==1,fd){Qc=Xo&-8,yc=Xo>>>3,dd=Xo>>>0<256;i:do if(dd){G1=Ei|8,V0=G1+ke|0,Id=$6+V0|0,En=e[Id>>2]|0,v1=ke+12|0,J0=v1+Ei|0,Ed=$6+J0|0,mn=e[Ed>>2]|0,Cd=yc<<1,wc=553088+(Cd<<2)|0,pd=(En|0)==(wc|0);do if(!pd){if(Bd=En>>>0>>0,Bd&&Q2(),vc=En+12|0,Qd=e[vc>>2]|0,kc=(Qd|0)==(mi|0),kc)break;Q2()}while(!1);if(yd=(mn|0)==(En|0),yd){_a=1<>>0>>0,kd&&Q2(),Dc=mn+8|0,Sd=e[Dc>>2]|0,bd=(Sd|0)==(mi|0),bd){N=Dc;break}Q2()}while(!1);Dd=En+12|0,e[Dd>>2]=mn,e[N>>2]=En}else{R1=Ei|24,L0=R1+ke|0,_d=$6+L0|0,Cs=e[_d>>2]|0,Y1=ke+12|0,Q0=Y1+Ei|0,Ld=$6+Q0|0,Cn=e[Ld>>2]|0,xd=(Cn|0)==(mi|0);do if(xd){if(W1=Ei|16,_0=o1+W1|0,Fc=$6+_0|0,Mc=e[Fc>>2]|0,Nd=(Mc|0)==0,Nd)if(N0=W1+ke|0,Tc=$6+N0|0,Nc=e[Tc>>2]|0,Gd=(Nc|0)==0,Gd){L7=0;break}else Qn=Nc,EA=Tc;else Qn=Mc,EA=Fc;for(;;){if(Gc=Qn+20|0,Uc=e[Gc>>2]|0,Pd=(Uc|0)==0,!Pd){Qn=Uc,EA=Gc;continue}if(Pc=Qn+16|0,Oc=e[Pc>>2]|0,Od=(Oc|0)==0,Od){VE=Qn,Wg=EA;break}else Qn=Oc,EA=Pc}if(qd=Wg>>>0>>0,qd)Q2();else{e[Wg>>2]=0,L7=VE;break}}else if(F1=Ei|8,M0=F1+ke|0,Rd=$6+M0|0,La=e[Rd>>2]|0,Fd=La>>>0>>0,Fd&&Q2(),xa=La+12|0,Ra=e[xa>>2]|0,Lc=(Ra|0)==(mi|0),Lc||Q2(),xc=Cn+8|0,Td=e[xc>>2]|0,Rc=(Td|0)==(mi|0),Rc){e[xa>>2]=Cn,e[xc>>2]=La,L7=Cn;break}else Q2();while(!1);if(qc=(Cs|0)==0,qc)break;w1=ke+28|0,T0=w1+Ei|0,Fa=$6+T0|0,Hc=e[Fa>>2]|0,Vc=553352+(Hc<<2)|0,Hd=e[Vc>>2]|0,Yd=(mi|0)==(Hd|0);do if(Yd){if(e[Vc>>2]=L7,jE=(L7|0)==0,!jE)break;Jd=1<>>0>>0,Wd&&Q2(),Kc=Cs+16|0,jd=e[Kc>>2]|0,Xd=(jd|0)==(mi|0),Xd?e[Kc>>2]=L7:(eI=Cs+20|0,e[eI>>2]=L7),zc=(L7|0)==0,zc)break i;while(!1);Zc=e[138266]|0,tI=L7>>>0>>0,tI&&Q2(),Wc=L7+24|0,e[Wc>>2]=Cs,b1=Ei|16,G0=b1+ke|0,Ta=$6+G0|0,eA=e[Ta>>2]|0,jc=(eA|0)==0;do if(!jc)if(rI=eA>>>0>>0,rI)Q2();else{nI=L7+16|0,e[nI>>2]=eA,sI=eA+24|0,e[sI>>2]=L7;break}while(!1);if(Y0=o1+b1|0,Xc=$6+Y0|0,tA=e[Xc>>2]|0,oI=(tA|0)==0,oI)break;if(AI=e[138266]|0,aI=tA>>>0>>0,aI)Q2();else{$I=L7+20|0,e[$I>>2]=tA,lI=tA+24|0,e[lI>>2]=L7;break}}while(!1);o2=Qc|Ei,F0=o2+ke|0,gI=$6+F0|0,hI=Qc+Is|0,th=gI,ti=hI}else th=mi,ti=Is;if(eg=th+4|0,uI=e[eg>>2]|0,fI=uI&-2,e[eg>>2]=fI,dI=ti|1,v0=i0+4|0,II=$6+v0|0,e[II>>2]=dI,p0=ti+i0|0,iA=$6+p0|0,e[iA>>2]=ti,tg=ti>>>3,EI=ti>>>0<256,EI){pn=tg<<1,ig=553088+(pn<<2)|0,rg=e[138262]|0,Na=1<>2]|0,BI=e[138266]|0,yI=og>>>0>>0,!yI){F=sg,e$=og;break}Q2()}while(!1);e[F>>2]=X7,wI=e$+12|0,e[wI>>2]=X7,p1=i0+8|0,vI=$6+p1|0,e[vI>>2]=e$,B1=i0+12|0,rA=$6+B1|0,e[rA>>2]=ig;break}Ga=ti>>>8,kI=(Ga|0)==0;do if(kI)xr=0;else{if(SI=ti>>>0>16777215,SI){xr=31;break}bI=Ga+1048320|0,DI=bI>>>16,Ag=DI&8,ag=Ga<>>16,$g=xI&4,Dr=$g|Ag,lg=ag<<$g,cg=lg+245760|0,RI=cg>>>16,gg=RI&2,nA=Dr|gg,MI=14-nA|0,TI=lg<>>15,hg=MI+sA|0,NI=hg<<1,GI=hg+7|0,ug=ti>>>GI,UI=ug&1,PI=UI|NI,xr=PI}while(!1);if(Ua=553352+(xr<<2)|0,y0=i0+28|0,OI=$6+y0|0,e[OI>>2]=xr,z0=i0+16|0,qI=$6+z0|0,U0=i0+20|0,HI=$6+U0|0,e[HI>>2]=0,e[qI>>2]=0,fg=e[138263]|0,dg=1<>2]=X7,r1=i0+24|0,ps=$6+r1|0,e[ps>>2]=Ua,e1=i0+12|0,VI=$6+e1|0,e[VI>>2]=X7,i1=i0+8|0,KI=$6+i1|0,e[KI>>2]=X7;break}Pa=e[Ua>>2]|0,mg=Pa+4|0,zI=e[mg>>2]|0,ZI=zI&-8,WI=(ZI|0)==(ti|0);i:do if(WI)Rr=Pa;else{for(jI=(xr|0)==31,Cg=xr>>>1,XI=25-Cg|0,eE=jI?0:XI,tE=ti<>>31,wg=(o$+16|0)+(yg<<2)|0,Bs=e[wg>>2]|0,bi=(Bs|0)==0,bi){A=wg,ZE=o$;break}if(iE=Ss<<1,rE=Bs+4|0,Bg=e[rE>>2]|0,Qg=Bg&-8,nE=(Qg|0)==(ti|0),nE){Rr=Bs;break i}else Ss=iE,o$=Bs}if(or=e[138266]|0,sE=A>>>0>>0,sE)Q2();else{e[A>>2]=X7,m1=i0+24|0,oE=$6+m1|0,e[oE>>2]=ZE,d1=i0+12|0,AE=$6+d1|0,e[AE>>2]=X7,E1=i0+8|0,aE=$6+E1|0,e[aE>>2]=X7;break t}}while(!1);if(Oa=Rr+8|0,aA=e[Oa>>2]|0,kg=e[138266]|0,Sg=aA>>>0>=kg>>>0,a$=Rr>>>0>=kg>>>0,$E=Sg&a$,$E){Qs=aA+12|0,e[Qs>>2]=X7,e[Oa>>2]=X7,Z0=i0+8|0,lE=$6+Z0|0,e[lE>>2]=aA,I1=i0+12|0,lA=$6+I1|0,e[lA>>2]=Rr,h1=i0+24|0,qa=$6+h1|0,e[qa>>2]=0;break}else Q2()}while(!1);return $1=jo|8,cE=$6+$1|0,Ke=cE,Ke|0}else xs=553496;for(;;){if(Ha=e[xs>>2]|0,gE=Ha>>>0>P9>>>0,!gE&&(hE=xs+4|0,bg=e[hE>>2]|0,cA=Ha+bg|0,uE=cA>>>0>P9>>>0,uE)){g=Ha,u=bg,E=cA;break}fE=xs+8|0,dE=e[fE>>2]|0,xs=dE}if($0=u+-47|0,c0=u+-39|0,IE=g+c0|0,_g=IE,EE=_g&7,jt=(EE|0)==0,y4=0-_g|0,ei=y4&7,mE=jt?0:ei,a1=$0+mE|0,xg=g+a1|0,Ya=P9+16|0,CE=xg>>>0>>0,_r=CE?P9:xg,ys=_r+8|0,pE=ke+-40|0,BE=$6+8|0,Rg=BE,Ja=Rg&7,QE=(Ja|0)==0,Mg=0-Rg|0,Tg=Mg&7,Va=QE?0:Tg,Ka=$6+Va|0,Ng=pE-Va|0,e[138268]=Ka,e[138265]=Ng,ws=Ng|1,Z=Va+4|0,za=$6+Z|0,e[za>>2]=ws,s1=ke+-36|0,Gg=$6+s1|0,e[Gg>>2]=40,yE=e[138384]|0,e[138269]=yE,Bn=_r+4|0,e[Bn>>2]=27,e[ys>>2]=e[138374]|0,e[ys+4>>2]=e[138375]|0,e[ys+8>>2]=e[138376]|0,e[ys+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ke,e[138377]=0,e[138376]=ys,Ug=_r+28|0,e[Ug>>2]=7,gA=_r+32|0,vE=gA>>>0>>0,vE)for(Di=Ug;Pg=Di+4|0,e[Pg>>2]=7,kE=Di+8|0,SE=kE>>>0>>0,SE;)Di=Pg;if(bE=(_r|0)==(P9|0),!bE){if(DE=_r,_E=P9,_i=DE-_E|0,xE=e[Bn>>2]|0,RE=xE&-2,e[Bn>>2]=RE,FE=_i|1,Og=P9+4|0,e[Og>>2]=FE,e[_r>>2]=_i,Ci=_i>>>3,hA=_i>>>0<256,hA){Za=Ci<<1,qg=553088+(Za<<2)|0,Hg=e[138262]|0,Yg=1<>2]|0,GE=e[138266]|0,UE=Kg>>>0>>0,UE?Q2():(L=Vg,ja=Kg)),e[L>>2]=P9,zg=ja+12|0,e[zg>>2]=P9,PE=P9+8|0,e[PE>>2]=ja,uA=P9+12|0,e[uA>>2]=qg;break}if(fA=_i>>>8,OE=(fA|0)==0,OE?Ar=0:(Wa=_i>>>0>16777215,Wa?Ar=31:(qE=fA+1048320|0,HE=qE>>>16,Zg=HE&8,ks=fA<>>16,l2=JE&4,r2=l2|Zg,a2=ks<>>16,f2=s2&2,t2=r2|f2,y2=14-t2|0,k2=a2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=_i>>>N2,K2=d2&1,G2=K2|D2,Ar=G2)),H2=553352+(Ar<<2)|0,M2=P9+28|0,e[M2>>2]=Ar,P2=P9+20|0,e[P2>>2]=0,e[Ya>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=H2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}f5=e[H2>>2]|0,k5=f5+4|0,P5=e[k5>>2]|0,v2=P5&-8,m5=(v2|0)==(_i|0);t:do if(m5)CA=f5;else{for(n5=(Ar|0)==31,L2=Ar>>>1,_2=25-L2|0,p2=n5?0:_2,C5=_i<>>31,c5=(A$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,p5=(D5|0)==0,p5){a=c5,Xg=A$;break}if(R5=r$<<1,d5=D5+4|0,_5=e[d5>>2]|0,q2=_5&-8,I5=(q2|0)==(_i|0),I5){CA=D5;break t}else r$=R5,A$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Xg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(B5=CA+8|0,t5=e[B5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,em=CA>>>0>=s5>>>0,J2=h5&em,J2){u5=t5+12|0,e[u5>>2]=P9,e[B5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,L5=P9+12|0,e[L5>>2]=CA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(x2=e[138265]|0,Q5=x2>>>0>k4>>>0,Q5)return q5=x2-k4|0,e[138265]=q5,j5=e[138268]|0,E5=j5+k4|0,e[138268]=E5,f3=q5|1,V=k4+4|0,h3=j5+V|0,e[h3>>2]=f3,J5=k4|3,X5=j5+4|0,e[X5>>2]=J5,n3=j5+8|0,Ke=n3,Ke|0}return F5=XB()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,e8=0,U4=0,Ge=0,P4=0,ee=0,be=0,t8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,i8=0,g4=0,v4=0,f8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0;if(Le=C,X=(t|0)==0,!X){U=t+-8|0,K2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,x4=(z9|0)==1,x4&&Q2(),q9=$9&-8,B=q9+-8|0,Z9=t+B|0,l0=$9&1,j=(l0|0)==0;do if(j){if(b0=e[U>>2]|0,_0=(z9|0)==0,_0)return;if(y=-8-b0|0,D0=t+y|0,Z0=b0+q9|0,w1=D0>>>0>>0,w1&&Q2(),O1=e[138267]|0,o2=(D0|0)==(O1|0),o2){if(z=q9+-4|0,s0=t+z|0,i0=e[s0>>2]|0,n0=i0&3,V=(n0|0)==3,!V){J3=D0,w9=Z0;break}e[138264]=Z0,h0=i0&-2,e[s0>>2]=h0,o0=Z0|1,_=y+4|0,g0=t+_|0,e[g0>>2]=o0,e[Z9>>2]=Z0;return}if(s2=b0>>>3,G2=b0>>>0<256,G2){if(Y=y+8|0,b5=t+Y|0,p2=e[b5>>2]|0,t0=y+12|0,p5=t+t0|0,J2=e[p5>>2]|0,f3=s2<<1,z3=553088+(f3<<2)|0,C3=(p2|0)==(z3|0),C3||(u6=p2>>>0>>0,u6&&Q2(),l6=p2+12|0,b3=e[l6>>2]|0,O6=(b3|0)==(D0|0),O6||Q2()),J6=(J2|0)==(p2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,M3=(F6|0)==(D0|0),M3?g=z6:Q2()),M6=p2+12|0,e[M6>>2]=J2,e[g>>2]=p2,J3=D0,w9=Z0;break}x=y+24|0,t9=t+x|0,A9=e[t9>>2]|0,L=y+12|0,X6=t+L|0,u9=e[X6>>2]|0,f9=(u9|0)==(D0|0);do if(f9){if(M=y+20|0,o4=t+M|0,h4=e[o4>>2]|0,G9=(h4|0)==0,G9)if(F=y+16|0,b9=t+F|0,E9=e[b9>>2]|0,q6=(E9|0)==0,q6){C9=0;break}else F4=E9,Be=b9;else F4=h4,Be=o4;for(;;){if(r9=F4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){F4=m4,Be=r9;continue}if(A4=F4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){he=F4,B4=Be;break}else F4=y9,Be=A4}if(D4=B4>>>0>>0,D4)Q2();else{e[B4>>2]=0,C9=he;break}}else if(O=y+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(D0|0),i9||Q2(),N9=u9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(D0|0),E4){e[E6>>2]=u9,e[N9>>2]=a9,C9=u9;break}else Q2();while(!1);if(T4=(A9|0)==0,T4)J3=D0,w9=Z0;else{if(T=y+28|0,X4=t+T|0,C4=e[X4>>2]|0,N4=553352+(C4<<2)|0,U9=e[N4>>2]|0,G4=(D0|0)==(U9|0),G4){if(e[N4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,pe&&Q2(),Ne=A9+16|0,e8=e[Ne>>2]|0,U4=(e8|0)==(D0|0),U4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),P4=(C9|0)==0,P4){J3=D0,w9=Z0;break}ee=e[138266]|0,be=C9>>>0>>0,be&&Q2(),t8=C9+24|0,e[t8>>2]=A9,N=y+16|0,$e=t+N|0,f4=e[$e>>2]|0,_6=(f4|0)==0;do if(!_6)if(O4=f4>>>0>>0,O4)Q2();else{R9=C9+16|0,e[R9>>2]=f4,$4=f4+24|0,e[$4>>2]=C9;break}while(!1);if(G=y+20|0,_4=t+G|0,le=e[_4>>2]|0,W9=(le|0)==0,W9)J3=D0,w9=Z0;else if(ce=e[138266]|0,Z=le>>>0>>0,Z)Q2();else{K=C9+20|0,e[K>>2]=le,$0=le+24|0,e[$0>>2]=C9,J3=D0,w9=Z0;break}}}else J3=U,w9=q9;while(!1);if(c0=J3>>>0>>0,c0||Q2(),D=q9+-4|0,u0=t+D|0,I0=e[u0>>2]|0,w0=I0&1,C0=(w0|0)==0,C0&&Q2(),v0=I0&2,d0=(v0|0)==0,d0){if(p0=e[138268]|0,B0=(Z9|0)==(p0|0),B0){if(E0=e[138265]|0,K0=E0+w9|0,e[138265]=K0,e[138268]=J3,L0=K0|1,Q0=J3+4|0,e[Q0>>2]=L0,M0=e[138267]|0,T0=(J3|0)==(M0|0),!T0)return;e[138267]=0,e[138264]=0;return}if(G0=e[138267]|0,P0=(Z9|0)==(G0|0),P0){y0=e[138264]|0,Y0=y0+w9|0,e[138264]=Y0,e[138267]=J3,F0=Y0|1,N0=J3+4|0,e[N0>>2]=F0,V0=J3+Y0|0,e[V0>>2]=Y0;return}J0=I0&-8,O0=J0+w9|0,z0=I0>>>3,U0=I0>>>0<256;do if(U0){if(q0=t+q9|0,r1=e[q0>>2]|0,w=q9|4,H0=t+w|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(u1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){o1=1<>>0>>0,p1&&Q2(),B1=e1+8|0,Q1=e[B1>>2]|0,L1=(Q1|0)==(Z9|0),L1?a=B1:Q2()),x1=r1+12|0,e[x1>>2]=e1,e[a>>2]=r1}else{J=q9+16|0,b1=t+J|0,R1=e[b1>>2]|0,W=q9|4,F1=t+W|0,G1=e[F1>>2]|0,v1=(G1|0)==(Z9|0);do if(v1){if(q=q9+12|0,W1=t+q|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=q9+8|0,z1=t+e0|0,u2=e[z1>>2]|0,E2=(u2|0)==0,E2){l4=0;break}else g6=u2,c4=z1;else g6=P1,c4=W1;for(;;){if(A2=g6+20|0,K1=e[A2>>2]|0,h2=(K1|0)==0,!h2){g6=K1,c4=A2;continue}if($2=g6+16|0,i2=e[$2>>2]|0,l2=(i2|0)==0,l2){Ue=g6,P6=c4;break}else g6=i2,c4=$2}if(r2=e[138266]|0,a2=P6>>>0>>0,a2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+q9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,_1=Z1>>>0>>0,_1&&Q2(),V1=Z1+12|0,q1=e[V1>>2]|0,H1=(q1|0)==(Z9|0),H1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,n2=(j1|0)==(Z9|0),n2){e[V1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(R1|0)==0,!X1){if(S=q9+20|0,f2=t+S|0,t2=e[f2>>2]|0,y2=553352+(t2<<2)|0,k2=e[y2>>2]|0,w2=(Z9|0)==(k2|0),w2){if(e[y2>>2]=l4,v4=(l4|0)==0,v4){C2=1<>>0>>0,H2&&Q2(),M2=R1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=R1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),x5=l4+24|0,e[x5>>2]=R1,b=q9+8|0,e5=t+b|0,Z2=e[e5>>2]|0,f5=(Z2|0)==0;do if(!f5)if(k5=Z2>>>0>>0,k5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(v=q9+12|0,v2=t+v|0,m5=e[v2>>2]|0,n5=(m5|0)==0,!n5)if(L2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,R5=m5+24|0,e[R5>>2]=l4;break}}}while(!1);if(d5=O0|1,D5=J3+4|0,e[D5>>2]=d5,G5=J3+O0|0,e[G5>>2]=O0,_5=e[138267]|0,q2=(J3|0)==(_5|0),q2){e[138264]=O0;return}else p9=O0}else I5=I0&-2,e[u0>>2]=I5,A5=w9|1,c5=J3+4|0,e[c5>>2]=A5,M1=J3+w9|0,e[M1>>2]=w9,p9=w9;if(S5=p9>>>3,g5=p9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,B5=1<>2]|0,L5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(u=u5,ge=i5)),e[u>>2]=J3,$5=ge+12|0,e[$5>>2]=J3,x2=J3+8|0,e[x2>>2]=ge,Q5=J3+12|0,e[Q5>>2]=W2;return}q5=p9>>>8,j5=(q5|0)==0,j5?p4=0:(E5=p9>>>0>16777215,E5?p4=31:(h3=q5+1048320|0,J5=h3>>>16,X5=J5&8,n3=q5<>>16,V5=F5&4,v3=V5|X5,u3=n3<>>16,z5=G3&2,w3=v3|z5,W5=14-w3|0,i6=u3<>>15,U3=W5+x3|0,a3=U3<<1,l3=U3+7|0,c3=p9>>>l3,H5=c3&1,U5=H5|a3,p4=U5)),O5=553352+(p4<<2)|0,v5=J3+28|0,e[v5>>2]=p4,P3=J3+16|0,M5=J3+20|0,e[M5>>2]=0,e[P3>>2]=0,o6=e[138263]|0,e3=1<>2]=J3,k3=J3+24|0,e[k3>>2]=O5,y3=J3+12|0,e[y3>>2]=J3,r6=J3+8|0,e[r6>>2]=J3;else{j3=e[O5>>2]|0,O3=j3+4|0,K5=e[O3>>2]|0,S3=K5&-8,g3=(S3|0)==(p9|0);t:do if(g3)De=j3;else{for(q3=(p4|0)==31,d3=p4>>>1,v6=25-d3|0,k6=q3?0:v6,S6=p9<>>31,t6=(_e+16|0)+(e6<<2)|0,c6=e[t6>>2]|0,f6=(c6|0)==0,f6){n=t6,i8=_e;break}if(p6=te<<1,X3=c6+4|0,B6=e[X3>>2]|0,L6=B6&-8,Y6=(L6|0)==(p9|0),Y6){De=c6;break t}else te=p6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

>>0,D3)Q2();else{e[n>>2]=J3,Y3=J3+24|0,e[Y3>>2]=i8,Z3=J3+12|0,e[Z3>>2]=J3,b6=J3+8|0,e[b6>>2]=J3;break e}}while(!1);if(A6=De+8|0,t3=e[A6>>2]|0,s3=e[138266]|0,a6=t3>>>0>=s3>>>0,f8=De>>>0>=s3>>>0,d6=a6&f8,d6){_3=t3+12|0,e[_3>>2]=J3,e[A6>>2]=J3,N6=J3+8|0,e[N6>>2]=t3,n6=J3+12|0,e[n6>>2]=De,Q6=J3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(x6=e[138270]|0,K6=x6+-1|0,e[138270]=K6,I6=(K6|0)==0,I6)ie=553504;else return;for(;M4=e[ie>>2]|0,F3=(M4|0)==0,j6=M4+8|0,!F3;)ie=j6;e[138270]=-1}}function n4(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0;return _=C,a=(t|0)==0,a?D=0:(g=r5(n,t)|0,I=n|t,m=I>>>0>65535,m?(B=(g>>>0)/(t>>>0)&-1,p=(B|0)==(n|0),A=p?g:-1,D=A):D=g),S=S9(D)|0,b=(S|0)==0,b||(v=S+-4|0,w=e[v>>2]|0,u=w&3,E=(u|0)==0,E)||ae(S|0,0,D|0)|0,S|0}function Hi(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=(t|0)==0,A?(a=S9(n)|0,O=a,O|0):(w=n>>>0>4294967231,w?(x=XB()|0,e[x>>2]=12,O=0,O|0):(L=n>>>0<11,F=n+11|0,M=F&-8,T=L?16:M,N=t+-8|0,G=vb(N,T)|0,g=(G|0)==0,g?(E=S9(n)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,B=e[m>>2]|0,p=B&-8,S=B&3,b=(S|0)==0,v=b?8:4,D=p-v|0,y=D>>>0>>0,_=y?D:n,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(u=G+8|0,O=u,O|0)))}function vb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0;if(V5=C,N=t+4|0,G=e[N>>2]|0,v1=G&-8,n2=t+v1|0,$2=e[138266]|0,w2=G&3,f3=t>>>0>=$2>>>0,h3=(w2|0)!=1,J5=h3&f3,z2=t>>>0>>0,X5=J5&z2,X5||Q2(),_=v1|4,P5=t+_|0,D5=e[P5>>2]|0,a5=D5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return c0=n>>>0<256,c0?(E5=0,E5|0):(K0=n+4|0,N0=v1>>>0>>0,!N0&&(i1=v1-n|0,I1=e[138382]|0,b1=I1<<1,F1=i1>>>0>b1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=v1>>>0>>0,!G1)return U1=v1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,_1=G&1,V1=_1|n,O1=V1|2,e[N>>2]=O1,y=n+4|0,q1=t+y|0,H1=U1|3,e[q1>>2]=H1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,DQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(n2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+v1|0,u2=z1>>>0>n>>>0,u2?(o2=z1-n|0,E2=t+n|0,A2=G&1,K1=A2|n,h2=K1|2,e[N>>2]=h2,D=n+4|0,i2=t+D|0,l2=o2|1,e[i2>>2]=l2,e[138268]=E2,e[138265]=o2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,a2=(n2|0)==(r2|0),a2)return X1=e[138264]|0,s2=X1+v1|0,f2=s2>>>0>>0,f2?(E5=0,E5|0):(t2=s2-n|0,y2=t2>>>0>15,y2?(k2=t+n|0,C2=t+s2|0,F2=G&1,D2=F2|n,N2=D2|2,e[N>>2]=N2,b=n+4|0,d2=t+b|0,K2=t2|1,e[d2>>2]=K2,e[C2>>2]=t2,w=s2+4|0,G2=t+w|0,H2=e[G2>>2]|0,M2=H2&-2,e[G2>>2]=M2,n3=k2,m3=t2):(P2=G&1,o5=P2|s2,O2=o5|2,e[N>>2]=O2,S=s2+4|0,T1=t+S|0,X2=e[T1>>2]|0,x5=X2|1,e[T1>>2]=x5,n3=0,m3=0),e[138264]=m3,e[138267]=n3,E5=t,E5|0);if(e5=D5&2,b5=(e5|0)==0,!b5||(Z2=D5&-8,f5=Z2+v1|0,k5=f5>>>0>>0,k5))return E5=0,E5|0;l5=f5-n|0,v2=D5>>>3,m5=D5>>>0<256;do if(m5){if(B=v1+8|0,n5=t+B|0,L2=e[n5>>2]|0,p=v1+12|0,_2=t+p|0,p2=e[_2>>2]|0,C5=v2<<1,R5=553088+(C5<<2)|0,d5=(L2|0)==(R5|0),d5||(G5=L2>>>0<$2>>>0,G5&&Q2(),_5=L2+12|0,q2=e[_5>>2]|0,I5=(q2|0)==(n2|0),I5||Q2()),A5=(p2|0)==(L2|0),A5){c5=1<>>0<$2>>>0,W2&&Q2(),g2=p2+8|0,B5=e[g2>>2]|0,t5=(B5|0)==(n2|0),t5?a=g2:Q2()),s5=L2+12|0,e[s5>>2]=p2,e[a>>2]=L2}else{g=v1+24|0,h5=t+g|0,J2=e[h5>>2]|0,v=v1+12|0,u5=t+v|0,i5=e[u5>>2]|0,L5=(i5|0)==(n2|0);do if(L5){if(L=v1+20|0,l0=t+L|0,K=e[l0>>2]|0,$0=(K|0)==0,$0)if(x=v1+16|0,s0=t+x|0,i0=e[s0>>2]|0,n0=(i0|0)==0,n0){x2=0;break}else j2=i0,Q5=s0;else j2=K,Q5=l0;for(;;){if(V=j2+20|0,h0=e[V>>2]|0,o0=(h0|0)==0,!o0){j2=h0,Q5=V;continue}if(g0=j2+16|0,j=e[g0>>2]|0,u0=(j|0)==0,u0){$5=j2,q5=Q5;break}else j2=j,Q5=g0}if(I0=q5>>>0<$2>>>0,I0)Q2();else{e[q5>>2]=0,x2=$5;break}}else if(m=v1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0<$2>>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(n2|0),e0||Q2(),q=i5+8|0,X=e[q>>2]|0,U=(X|0)==(n2|0),U){e[J>>2]=i5,e[q>>2]=Y,x2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(u=v1+28|0,C0=t+u|0,v0=e[C0>>2]|0,d0=553352+(v0<<2)|0,p0=e[d0>>2]|0,B0=(n2|0)==(p0|0),B0){if(e[d0>>2]=x2,j5=(x2|0)==0,j5){E0=1<>>0>>0,T0&&Q2(),G0=J2+16|0,P0=e[G0>>2]|0,y0=(P0|0)==(n2|0),y0?e[G0>>2]=x2:(Y0=J2+20|0,e[Y0>>2]=x2),F0=(x2|0)==0,F0)break;_0=e[138266]|0,V0=x2>>>0<_0>>>0,V0&&Q2(),J0=x2+24|0,e[J0>>2]=J2,E=v1+16|0,O0=t+E|0,z0=e[O0>>2]|0,U0=(z0|0)==0;do if(!U0)if(q0=z0>>>0<_0>>>0,q0)Q2();else{r1=x2+16|0,e[r1>>2]=z0,H0=z0+24|0,e[H0>>2]=x2;break}while(!1);if(I=v1+20|0,e1=t+I|0,D0=e[e1>>2]|0,c1=(D0|0)==0,!c1)if($1=e[138266]|0,u1=D0>>>0<$1>>>0,u1)Q2();else{g1=x2+20|0,e[g1>>2]=D0,l1=D0+24|0,e[l1>>2]=x2;break}}}while(!1);return s1=l5>>>0<16,s1?(a1=G&1,n1=f5|a1,o1=n1|2,e[N>>2]=o1,T=f5|4,Z0=t+T|0,h1=e[Z0>>2]|0,m1=h1|1,e[Z0>>2]=m1,E5=t,E5|0):(d1=t+n|0,E1=G&1,p1=E1|n,B1=p1|2,e[N>>2]=B1,F=n+4|0,Q1=t+F|0,L1=l5|3,e[Q1>>2]=L1,M=f5|4,x1=t+M|0,w1=e[x1>>2]|0,R1=w1|1,e[x1>>2]=R1,DQ(d1,l5),E5=t,E5|0)}function DQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,e8=0,U4=0,Ge=0,P4=0,ee=0,be=0,t8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0;B4=C,K=t+n|0,$0=t+4|0,P2=e[$0>>2]|0,f6=P2&1,J6=(f6|0)==0;do if(J6){if(F6=e[t>>2]|0,T9=P2&3,b9=(T9|0)==0,b9)return;if(T4=0-F6|0,m9=t+T4|0,s0=F6+n|0,w0=e[138266]|0,M0=m9>>>0>>0,M0&&Q2(),O0=e[138267]|0,u1=(m9|0)==(O0|0),u1){if(v=n+4|0,Z9=t+v|0,i0=e[Z9>>2]|0,n0=i0&3,V=(n0|0)==3,!V){A=m9,a=s0;break}e[138264]=s0,h0=i0&-2,e[Z9>>2]=h0,o0=s0|1,L=4-F6|0,g0=t+L|0,e[g0>>2]=o0,e[K>>2]=s0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,k2=t+W|0,z2=e[k2>>2]|0,P5=d1<<1,D5=553088+(P5<<2)|0,a5=(h2|0)==(D5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),n3=h2+12|0,W5=e[n3>>2]|0,v5=(W5|0)==(m9|0),v5||Q2()),r6=(z2|0)==(h2|0),r6){S6=1<>>0>>0,N6&&Q2(),n6=z2+8|0,Q6=e[n6>>2]|0,x6=(Q6|0)==(m9|0),x6?m=n6:Q2()),K6=h2+12|0,e[K6>>2]=z2,e[m>>2]=h2,A=m9,a=s0;break}F=24-F6|0,I6=t+F|0,F3=e[I6>>2]|0,M=12-F6|0,j6=t+M|0,G6=e[j6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,A9=t+N|0,X6=e[A9>>2]|0,u9=(X6|0)==0,u9)if(f9=t+T|0,d9=e[f9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else O4=d9,ce=f9;else O4=X6,ce=A9;for(;;){if($9=O4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){O4=E6,ce=$9;continue}if(i9=O4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){R9=O4,ge=ce;break}else O4=N9,ce=i9}if(E4=ge>>>0>>0,E4)Q2();else{e[ge>>2]=0,$4=R9;break}}else if(t0=8-F6|0,s9=t+t0|0,R6=e[s9>>2]|0,U6=R6>>>0>>0,U6&&Q2(),D6=R6+12|0,z6=e[D6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),M3=G6+8|0,M6=e[M3>>2]|0,t9=(M6|0)==(m9|0),t9){e[D6>>2]=G6,e[M3>>2]=R6,$4=G6;break}else Q2();while(!1);if(o4=(F3|0)==0,o4)A=m9,a=s0;else{if(O=28-F6|0,h4=t+O|0,G9=e[h4>>2]|0,z9=553352+(G9<<2)|0,E9=e[z9>>2]|0,q6=(m9|0)==(E9|0),q6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){r9=1<>>0>>0,b4&&Q2(),D4=F3+16|0,x4=e[D4>>2]|0,X4=(x4|0)==(m9|0),X4?e[D4>>2]=$4:(C4=F3+20|0,e[C4>>2]=$4),N4=($4|0)==0,N4){A=m9,a=s0;break}U9=e[138266]|0,G4=$4>>>0>>0,G4&&Q2(),a4=$4+24|0,e[a4>>2]=F3,z=16-F6|0,R4=t+z|0,u4=e[R4>>2]|0,Ce=(u4|0)==0;do if(!Ce)if(q9=u4>>>0>>0,q9)Q2();else{pe=$4+16|0,e[pe>>2]=u4,Ne=u4+24|0,e[Ne>>2]=$4;break}while(!1);if(Y=z+4|0,e8=t+Y|0,U4=e[e8>>2]|0,Ge=(U4|0)==0,Ge)A=m9,a=s0;else if(P4=e[138266]|0,ee=U4>>>0>>0,ee)Q2();else{be=$4+20|0,e[be>>2]=U4,t8=U4+24|0,e[t8>>2]=$4,A=m9,a=s0;break}}}else A=t,a=n;while(!1);if(j=e[138266]|0,c0=K>>>0>>0,c0&&Q2(),w=n+4|0,u0=t+w|0,I0=e[u0>>2]|0,C0=I0&2,v0=(C0|0)==0,v0){if(d0=e[138268]|0,p0=(K|0)==(d0|0),p0){if(B0=e[138265]|0,E0=B0+a|0,e[138265]=E0,e[138268]=A,b0=E0|1,K0=A+4|0,e[K0>>2]=b0,L0=e[138267]|0,Q0=(A|0)==(L0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(T0=e[138267]|0,G0=(K|0)==(T0|0),G0){P0=e[138264]|0,y0=P0+a|0,e[138264]=y0,e[138267]=A,Y0=y0|1,F0=A+4|0,e[F0>>2]=Y0,_0=A+y0|0,e[_0>>2]=y0;return}N0=I0&-8,V0=N0+a|0,J0=I0>>>3,z0=I0>>>0<256;do if(z0){if(_=n+8|0,U0=t+_|0,q0=e[U0>>2]|0,x=n+12|0,r1=t+x|0,H0=e[r1>>2]|0,e1=J0<<1,D0=553088+(e1<<2)|0,i1=(q0|0)==(D0|0),i1||(c1=q0>>>0>>0,c1&&Q2(),$1=q0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(K|0),l1||Q2()),s1=(H0|0)==(q0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=H0+8|0,E1=e[m1>>2]|0,p1=(E1|0)==(K|0),p1?I=m1:Q2()),B1=q0+12|0,e[B1>>2]=H0,e[I>>2]=q0}else{G=n+24|0,Q1=t+G|0,L1=e[Q1>>2]|0,e0=n+12|0,x1=t+e0|0,w1=e[x1>>2]|0,b1=(w1|0)==(K|0);do if(b1){if(X=n+20|0,q1=t+X|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,Y1)if(q=n+16|0,n2=t+q|0,W1=e[n2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,p4=n2;else _4=H1,p4=q1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,u2=(z1|0)==0,!u2){_4=z1,p4=c2;continue}if(o2=_4+16|0,E2=e[o2>>2]|0,A2=(E2|0)==0,A2){le=_4,te=p4;break}else _4=E2,p4=o2}if(K1=te>>>0>>0,K1)Q2();else{e[te>>2]=0,W9=le;break}}else if(y=n+8|0,R1=t+y|0,F1=e[R1>>2]|0,v1=F1>>>0>>0,v1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(K|0),N1||Q2(),_1=w1+8|0,V1=e[_1>>2]|0,O1=(V1|0)==(K|0),O1){e[U1>>2]=w1,e[_1>>2]=F1,W9=w1;break}else Q2();while(!1);if($2=(L1|0)==0,!$2){if(l0=n+28|0,i2=t+l0|0,l2=e[i2>>2]|0,r2=553352+(l2<<2)|0,a2=e[r2>>2]|0,X1=(K|0)==(a2|0),X1){if(e[r2>>2]=W9,Ue=(W9|0)==0,Ue){s2=1<>>0>>0,C2&&Q2(),F2=L1+16|0,D2=e[F2>>2]|0,N2=(D2|0)==(K|0),N2?e[F2>>2]=W9:(d2=L1+20|0,e[d2>>2]=W9),K2=(W9|0)==0,K2)break;G2=e[138266]|0,H2=W9>>>0>>0,H2&&Q2(),M2=W9+24|0,e[M2>>2]=L1,Z=n+16|0,o5=t+Z|0,O2=e[o5>>2]|0,T1=(O2|0)==0;do if(!T1)if(X2=O2>>>0>>0,X2)Q2();else{x5=W9+16|0,e[x5>>2]=O2,e5=O2+24|0,e[e5>>2]=W9;break}while(!1);if(D=n+20|0,b5=t+D|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,!f5)if(k5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{v2=W9+20|0,e[v2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(n5=V0|1,L2=A+4|0,e[L2>>2]=n5,_2=A+V0|0,e[_2>>2]=V0,p2=e[138267]|0,C5=(A|0)==(p2|0),C5){e[138264]=V0;return}else g=V0}else R5=I0&-2,e[u0>>2]=R5,d5=a|1,G5=A+4|0,e[G5>>2]=d5,_5=A+a|0,e[_5>>2]=a,g=a;if(q2=g>>>3,I5=g>>>0<256,I5){A5=q2<<1,c5=553088+(A5<<2)|0,p5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=B5>>>0>>0,s5?Q2():(B=g2,$e=B5)),e[B>>2]=A,h5=$e+12|0,e[h5>>2]=A,J2=A+8|0,e[J2>>2]=$e,u5=A+12|0,e[u5>>2]=c5;return}if(i5=g>>>8,L5=(i5|0)==0,L5?f4=0:($5=g>>>0>16777215,$5?f4=31:(x2=i5+1048320|0,Q5=x2>>>16,q5=Q5&8,j5=i5<>>16,h3=f3&4,J5=h3|q5,X5=j5<>>16,V5=F5&2,v3=J5|V5,u3=14-v3|0,B3=X5<>>15,G3=u3+z3|0,z5=G3<<1,w3=G3+7|0,i6=g>>>w3,x3=i6&1,U3=x3|z5,f4=U3)),a3=553352+(f4<<2)|0,l3=A+28|0,e[l3>>2]=f4,c3=A+16|0,C3=A+20|0,e[C3>>2]=0,e[c3>>2]=0,H5=e[138263]|0,U5=1<>2]=A,o6=A+24|0,e[o6>>2]=a3,e3=A+12|0,e[e3>>2]=A,A3=A+8|0,e[A3>>2]=A;return}R3=e[a3>>2]|0,u6=R3+4|0,Q3=e[u6>>2]|0,k3=Q3&-8,y3=(k3|0)==(g|0);e:do if(y3)F4=R3;else{for(j3=(f4|0)==31,O3=f4>>>1,K5=25-O3|0,S3=j3?0:K5,g3=g<>>31,c6=(he+16|0)+(X3<<2)|0,d3=e[c6>>2]|0,B6=(d3|0)==0,B6){u=c6,C9=he;break}if(q3=_6<<1,l6=d3+4|0,v6=e[l6>>2]|0,k6=v6&-8,p6=(k6|0)==(g|0),p6){F4=d3;break e}else _6=q3,he=d3}L6=e[138266]|0,Y6=u>>>0>>0,Y6&&Q2(),e[u>>2]=A,C6=A+24|0,e[C6>>2]=C9,b3=A+12|0,e[b3>>2]=A,e6=A+8|0,e[e6>>2]=A;return}while(!1);t6=F4+8|0,D3=e[t6>>2]|0,Y3=e[138266]|0,Z3=D3>>>0>=Y3>>>0,l4=F4>>>0>=Y3>>>0,b6=Z3&l4,b6||Q2(),A6=D3+12|0,e[A6>>2]=A,e[t6>>2]=A,t3=A+8|0,e[t3>>2]=D3,O6=A+12|0,e[O6>>2]=F4,s3=A+24|0,e[s3>>2]=0}function kb(){e[6410]=O9}function ae(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0;if(a=t+A|0,(A|0)>=20){if(n=n&255,E=t&3,g=n|n<<8|n<<16|n<<24,u=a&-4,E)for(E=t+4-E|0;(t|0)<(E|0);)d[t>>0]=n,t=t+1|0;for(;(t|0)<(u|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=n,t=t+1|0;return t-A|0}function tl(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function _Q(t,n){t=t|0,n=n|0;var A=0,a=0;a=t+(tl(t)|0)|0;do d[a+A>>0]=d[n+A>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function LQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>32-A,t<>>0,u=n+a+(g>>>0>>0|0)>>>0,H6=u,g|0|0}function Xs(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>A,t>>>A|(n&a)<<32-A):(H6=0,n>>>A-32|0)}function s4(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((A|0)>=4096)return Tk(t|0,n|0,A|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(A|0))return a|0;d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[n>>2]|0,t=t+4|0,n=n+4|0,A=A-4|0}for(;(A|0)>0;)d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0;return a|0}function ea(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((n|0)<(t|0)&(t|0)<(n+A|0)){for(a=t,n=n+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,n=n-1|0,A=A-1|0,d[t>>0]=d[n>>0]|0;t=a}else s4(t,n,A)|0;return t|0}function pp(t,n){t=t|0,n=n|0;var A=0;do d[(t+A|0)>>0]=d[(n+A|0)>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function eo(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0;return g=t-A>>>0,u=n-a>>>0,u=n-a-(A>>>0>t>>>0|0)>>>0,H6=u,g|0|0}function e_(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>A,t>>>A|(n&a)<<32-A):(H6=(n|0)<0?-1:0,n>>A-32|0)}function xQ(t){t=t|0;var n=0;return n=d[L9+(t&255)>>0]|0,(n|0)<8?n|0:(n=d[L9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=d[L9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(d[L9+(t>>>24)>>0]|0)+24|0))}function Sb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0;return A=t&65535,a=n&65535,g=r5(a,A)|0,u=t>>>16,E=(g>>>16)+(r5(a,u)|0)|0,I=n>>>16,m=r5(I,A)|0,H6=((E>>>16)+(r5(I,u)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|g&65535)|0}function t_(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0;return g=n>>31|((n|0)<0?-1:0)<<1,u=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,E=a>>31|((a|0)<0?-1:0)<<1,I=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,m=eo(g^t,u^n,g,u)|0,B=H6,p=eo(E^A,I^a,E,I)|0,S=E^g,b=I^u,v=aC(m,B,p,H6,0)|0,w=eo(v^S,H6^b,S,b)|0,w|0}function i_(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0;return w=C,C=C+8|0,g=w|0,u=n>>31|((n|0)<0?-1:0)<<1,E=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,I=a>>31|((a|0)<0?-1:0)<<1,m=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,B=eo(u^t,E^n,u,E)|0,p=H6,S=eo(I^A,m^a,I,m)|0,aC(B,p,S,H6,g)|0,b=eo(e[g>>2]^u,e[g+4>>2]^E,u,E)|0,v=H6,C=w,H6=v,b|0}function bb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0;return g=t,u=A,E=Sb(g,u)|0,I=H6,m=r5(n,u)|0,H6=((r5(a,g)|0)+m|0)+I|I&0,0|E&-1|0}function r_(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0;return g=aC(t,n,A,a,0)|0,g|0}function n_(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0;return u=C,C=C+8|0,g=u|0,aC(t,n,A,a,g)|0,C=u,H6=e[g+4>>2]|0,e[g>>2]|0|0}function aC(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0;if(u=t,E=n,I=E,m=A,B=a,p=B,!(I|0))return S=(g|0)!=0,p|0?S?(e[g>>2]=t&-1,e[g+4>>2]=n&0,_0=0,F0=0,H6=_0,F0|0):(_0=0,F0=0,H6=_0,F0|0):(S&&(e[g>>2]=(u>>>0)%(m>>>0),e[g+4>>2]=0),_0=0,F0=(u>>>0)/(m>>>0)>>>0,H6=_0,F0|0);b=(p|0)==0;do if(m|0){if(!b){if(Y=Ws(p|0)|0,t0=Y-(Ws(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,l0=u>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,q=u<>2]=0|t&-1,e[g+4>>2]=E|n&0,_0=0,F0=0,H6=_0,F0|0):(_0=0,F0=0,H6=_0,F0|0)}if(x=m-1|0,x&m|0){F=(Ws(m|0)|0)+33|0,M=F-(Ws(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,l0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=u<>>(O>>>0))&G|u<>31;break}return g|0&&(e[g>>2]=x&u,e[g+4>>2]=0),(m|0)==1?(_0=E|n&0,F0=0|t&-1,H6=_0,F0|0):(L=xQ(m|0)|0,_0=0|I>>>(L>>>0),F0=I<<32-L|u>>>(L>>>0)|0,H6=_0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(m>>>0),e[g+4>>2]=0),_0=0,F0=(I>>>0)/(m>>>0)>>>0,H6=_0,F0|0;if(!(u|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(p>>>0)),_0=0,F0=(I>>>0)/(p>>>0)>>>0,H6=_0,F0|0;if(v=p-1|0,!(v&p|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|n&0),_0=0,F0=I>>>((xQ(p|0)|0)>>>0),H6=_0,F0|0;if(w=Ws(p|0)|0,D=w-(Ws(I|0)|0)|0,D>>>0<=30){y=D+1|0,_=31-D|0,Z=y,l0=I<<_|u>>>(y>>>0),U=I>>>(y>>>0),X=0,q=u<<_;break}return g|0?(e[g>>2]=0|t&-1,e[g+4>>2]=E|n&0,_0=0,F0=0,H6=_0,F0|0):(_0=0,F0=0,H6=_0,F0|0)}while(!1);if(!(Z|0))G0=q,T0=X,M0=U,Q0=l0,L0=0,K0=0;else{for(K=0|A&-1,$0=B|a&0,s0=js(K|0,$0|0,-1,-1)|0,i0=H6,j=q,g0=X,o0=U,h0=l0,V=Z,n0=0;c0=g0>>>31|j<<1,u0=n0|g0<<1,I0=0|(h0<<1|j>>>31),w0=h0>>>31|o0<<1|0,eo(s0,i0,I0,w0)|0,C0=H6,v0=C0>>31|((C0|0)<0?-1:0)<<1,d0=v0&1,p0=eo(I0,w0,v0&K,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&$0)|0,B0=p0,E0=H6,b0=V-1|0,b0|0;)j=c0,g0=u0,o0=E0,h0=B0,V=b0,n0=d0;G0=c0,T0=u0,M0=E0,Q0=B0,L0=0,K0=d0}return P0=T0,y0=0,Y0=G0|y0,g|0&&(e[g>>2]=0|Q0,e[g+4>>2]=M0|0),_0=(0|P0)>>>31|Y0<<1|(y0<<1|P0>>>31)&0|L0,F0=(P0<<1|0)&-2|K0,H6=_0,F0|0}function Db(t,n,A,a,g){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,yp[t&3](n|0,A|0,a|0,g|0)|0}function _b(t,n){t=t|0,n=n|0,to[t&7](n|0)}function Lb(t,n,A){t=t|0,n=n|0,A=A|0,wp[t&3](n|0,A|0)}function xb(t,n){return t=t|0,n=n|0,MQ[t&1](n|0)|0}function Rb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0,TQ[t&1](n|0,A|0,a|0)}function Fb(t,n,A,a,g,u,E,I,m){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0,NQ[t&3](n|0,A|0,a|0,g|0,u|0,E|0,I|0,m|0)|0}function Mb(t,n,A){return t=t|0,n=n|0,A=A|0,f7[t&15](n|0,A|0)|0}function Tb(t,n,A,a,g,u){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,vp[t&7](n|0,A|0,a|0,g|0,u|0)|0}function Nb(t,n,A,a){return t=t|0,n=n|0,A=A|0,a=a|0,Zr(0),0}function Bp(t){t=t|0,Zr(1)}function RQ(t,n){t=t|0,n=n|0,Zr(2)}function Gb(t){return t=t|0,Zr(3),0}function Ub(t,n,A){t=t|0,n=n|0,A=A|0,Zr(4)}function FQ(t,n,A,a,g,u,E,I){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,Zr(5),0}function il(t,n){return t=t|0,n=n|0,Zr(6),0}function Qp(t,n,A,a,g){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,Zr(7),0}var yp=[Nb,wS,$S,lS],to=[Bp,BS,QS,FS,KS,zS,Bp,Bp],wp=[RQ,mS,ZS,RQ],MQ=[Gb,MS],TQ=[Ub,xS],NQ=[FQ,eb,nb,FQ],f7=[il,CS,pS,yS,RS,TS,WS,jS,vS,VS,lb,il,il,il,il,il],vp=[Qp,XS,tb,ib,rb,sb,Qp,Qp];return{_memmove:ea,_strlen:tl,_strcat:_Q,_free:I2,_i64Add:js,_encoder_clear:Eb,_encoder_transfer_data:Bb,_encoder_data_len:pb,_memset:ae,_malloc:S9,_memcpy:s4,_encoder_init:Ib,_encoder_process:Cb,_bitshift64Lshr:Xs,_bitshift64Shl:LQ,_strcpy:pp,_encoder_analysis_buffer:mb,runPostSets:kb,stackAlloc:Uk,stackSave:Pk,stackRestore:Ok,establishStackSpace:qk,setThrew:Hk,setTempRet0:Yk,getTempRet0:Jk,dynCall_iiiii:Db,dynCall_vi:_b,dynCall_vii:Lb,dynCall_ii:xb,dynCall_viii:Rb,dynCall_iiiiiiiii:Fb,dynCall_iii:Mb,dynCall_iiiiii:Tb}}(o.asmGlobalArg,o.asmLibraryArg,Ti),bD=o.runPostSets=V9.runPostSets,pk=o._strlen=V9._strlen,Bk=o._strcat=V9._strcat,$p=o._free=V9._free,DD=o._encoder_init=V9._encoder_init,Qk=o._i64Add=V9._i64Add,yk=o._memmove=V9._memmove,_D=o._encoder_transfer_data=V9._encoder_transfer_data,LD=o._encoder_process=V9._encoder_process,xD=o._encoder_data_len=V9._encoder_data_len,wk=o._memset=V9._memset,xh=o._malloc=V9._malloc,vk=o._memcpy=V9._memcpy,RD=o._encoder_clear=V9._encoder_clear,kk=o._bitshift64Lshr=V9._bitshift64Lshr,FD=o._encoder_analysis_buffer=V9._encoder_analysis_buffer,Sk=o._strcpy=V9._strcpy,bk=o._bitshift64Shl=V9._bitshift64Shl,MD=o.dynCall_iiiii=V9.dynCall_iiiii,TD=o.dynCall_vi=V9.dynCall_vi,ND=o.dynCall_vii=V9.dynCall_vii,GD=o.dynCall_ii=V9.dynCall_ii,UD=o.dynCall_viii=V9.dynCall_viii,PD=o.dynCall_iiiiiiiii=V9.dynCall_iiiiiiiii,OD=o.dynCall_iii=V9.dynCall_iii,qD=o.dynCall_iiiiii=V9.dynCall_iiiiii;R.stackAlloc=V9.stackAlloc,R.stackSave=V9.stackSave,R.stackRestore=V9.stackRestore,R.establishStackSpace=V9.establishStackSpace,R.setTempRet0=V9.setTempRet0,R.getTempRet0=V9.getTempRet0;var HD=function(){var i={math:{}};i.math.Long=function(H,S0){this.low_=H|0,this.high_=S0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(H){if(-128<=H&&H<128){var S0=i.math.Long.IntCache_[H];if(S0)return S0}var j0=new i.math.Long(H|0,H<0?-1:0);return-128<=H&&H<128&&(i.math.Long.IntCache_[H]=j0),j0},i.math.Long.fromNumber=function(H){return isNaN(H)||!isFinite(H)?i.math.Long.ZERO:H<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:H+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:H<0?i.math.Long.fromNumber(-H).negate():new i.math.Long(H%i.math.Long.TWO_PWR_32_DBL_|0,H/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(H,S0){return new i.math.Long(H,S0)},i.math.Long.fromString=function(H,S0){if(H.length==0)throw Error("number format error: empty string");var j0=S0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+H);for(var m2=i.math.Long.fromNumber(Math.pow(j0,8)),Z5=i.math.Long.ZERO,N5=0;N5=0?this.low_:i.math.Long.TWO_PWR_32_DBL_+this.low_},i.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(i.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var H=this.high_!=0?this.high_:this.low_,S0=31;S0>0&&!(H&1<0},i.math.Long.prototype.greaterThanOrEqual=function(H){return this.compare(H)>=0},i.math.Long.prototype.compare=function(H){if(this.equals(H))return 0;var S0=this.isNegative(),j0=H.isNegative();return S0&&!j0?-1:!S0&&j0?1:this.subtract(H).isNegative()?-1:1},i.math.Long.prototype.negate=function(){return this.equals(i.math.Long.MIN_VALUE)?i.math.Long.MIN_VALUE:this.not().add(i.math.Long.ONE)},i.math.Long.prototype.add=function(H){var S0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,L3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,x9=0,W4=0,i7=0,ji=0;return ji+=Z5+M9,i7+=ji>>>16,ji&=65535,i7+=m2+Z6,W4+=i7>>>16,i7&=65535,W4+=j0+L3,x9+=W4>>>16,W4&=65535,x9+=S0+N5,x9&=65535,i.math.Long.fromBits(i7<<16|ji,x9<<16|W4)},i.math.Long.prototype.subtract=function(H){return this.add(H.negate())},i.math.Long.prototype.multiply=function(H){if(this.isZero())return i.math.Long.ZERO;if(H.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return H.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(H.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().multiply(H.negate()):this.negate().multiply(H).negate();if(H.isNegative())return this.multiply(H.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&H.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*H.toNumber());var S0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,L3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,x9=0,W4=0,i7=0,ji=0;return ji+=Z5*M9,i7+=ji>>>16,ji&=65535,i7+=m2*M9,W4+=i7>>>16,i7&=65535,i7+=Z5*Z6,W4+=i7>>>16,i7&=65535,W4+=j0*M9,x9+=W4>>>16,W4&=65535,W4+=m2*Z6,x9+=W4>>>16,W4&=65535,W4+=Z5*L3,x9+=W4>>>16,W4&=65535,x9+=S0*M9+j0*Z6+m2*L3+Z5*N5,x9&=65535,i.math.Long.fromBits(i7<<16|ji,x9<<16|W4)},i.math.Long.prototype.div=function(H){if(H.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(H.equals(i.math.Long.ONE)||H.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var S0=this.shiftRight(1),j0=S0.div(H).shiftLeft(1);if(j0.equals(i.math.Long.ZERO))return H.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(H.multiply(j0)),m2=j0.add(N5.div(H));return m2}else if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().div(H.negate()):this.negate().div(H).negate();if(H.isNegative())return this.div(H.negate()).negate();for(var Z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(H);){for(var j0=Math.max(1,Math.floor(N5.toNumber()/H.toNumber())),L3=Math.ceil(Math.log(j0)/Math.LN2),Z6=L3<=48?1:Math.pow(2,L3-48),M9=i.math.Long.fromNumber(j0),x9=M9.multiply(H);x9.isNegative()||x9.greaterThan(N5);)j0-=Z6,M9=i.math.Long.fromNumber(j0),x9=M9.multiply(H);M9.isZero()&&(M9=i.math.Long.ONE),Z5=Z5.add(M9),N5=N5.subtract(x9)}return Z5},i.math.Long.prototype.modulo=function(H){return this.subtract(this.div(H).multiply(H))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(H){return i.math.Long.fromBits(this.low_&H.low_,this.high_&H.high_)},i.math.Long.prototype.or=function(H){return i.math.Long.fromBits(this.low_|H.low_,this.high_|H.high_)},i.math.Long.prototype.xor=function(H){return i.math.Long.fromBits(this.low_^H.low_,this.high_^H.high_)},i.math.Long.prototype.shiftLeft=function(H){if(H&=63,H==0)return this;var S0=this.low_;if(H<32){var j0=this.high_;return i.math.Long.fromBits(S0<>>32-H)}else return i.math.Long.fromBits(0,S0<>>H|S0<<32-H,S0>>H)}else return i.math.Long.fromBits(S0>>H-32,S0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(H){if(H&=63,H==0)return this;var S0=this.high_;if(H<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>H|S0<<32-H,S0>>>H)}else return H==32?i.math.Long.fromBits(S0,0):i.math.Long.fromBits(S0>>>H-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(H,S0,j0){H!=null&&(typeof H=="number"?this.fromNumber(H,S0,j0):S0==null&&typeof H!="string"?this.fromString(H,256):this.fromString(H,S0))}function W0(){return new e(null)}function t1(H,S0,j0,m2,Z5,N5){for(;--N5>=0;){var L3=S0*this[H++]+j0[m2]+Z5;Z5=Math.floor(L3/67108864),j0[m2++]=L3&67108863}return Z5}function b2(H,S0,j0,m2,Z5,N5){for(var L3=S0&32767,Z6=S0>>15;--N5>=0;){var M9=this[H]&32767,x9=this[H++]>>15,W4=Z6*M9+x9*L3;M9=L3*M9+((W4&32767)<<15)+j0[m2]+(Z5&1073741823),Z5=(M9>>>30)+(W4>>>15)+Z6*x9+(Z5>>>30),j0[m2++]=M9&1073741823}return Z5}function s(H,S0,j0,m2,Z5,N5){for(var L3=S0&16383,Z6=S0>>14;--N5>=0;){var M9=this[H]&16383,x9=this[H++]>>14,W4=Z6*M9+x9*L3;M9=L3*M9+((W4&16383)<<14)+j0[m2]+Z5,Z5=(M9>>28)+(W4>>14)+Z6*x9,j0[m2++]=M9&268435455}return Z5}P&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):P&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--S0)H[S0]=this[S0];H.t=this.t,H.s=this.s}function v8(H){this.t=1,this.s=H<0?-1:0,H>0?this[0]=H:H<-1?this[0]=H+DV:this.t=0}function K9(H){var S0=W0();return S0.fromInt(H),S0}function u8(H,S0){var j0;if(S0==16)j0=4;else if(S0==8)j0=3;else if(S0==256)j0=8;else if(S0==2)j0=1;else if(S0==32)j0=5;else if(S0==4)j0=2;else{this.fromRadix(H,S0);return}this.t=0,this.s=0;for(var m2=H.length,Z5=!1,N5=0;--m2>=0;){var L3=j0==8?H[m2]&255:O9(H,m2);if(L3<0){H.charAt(m2)=="-"&&(Z5=!0);continue}Z5=!1,N5==0?this[this.t++]=L3:N5+j0>this.DB?(this[this.t-1]|=(L3&(1<>this.DB-N5):this[this.t-1]|=L3<=this.DB&&(N5-=this.DB)}j0==8&&H[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==H;)--this.t}function Pi(H){if(this.s<0)return"-"+this.negate().toString(H);var S0;if(H==16)S0=4;else if(H==8)S0=3;else if(H==2)S0=1;else if(H==32)S0=5;else if(H==4)S0=2;else return this.toRadix(H);var j0=(1<0)for(Z6>Z6)>0&&(Z5=!0,N5=L9(m2));L3>=0;)Z6>(Z6+=this.DB-S0)):(m2=this[L3]>>(Z6-=S0)&j0,Z6<=0&&(Z6+=this.DB,--L3)),m2>0&&(Z5=!0),Z5&&(N5+=L9(m2));return Z5?N5:"0"}function Oi(){var H=W0();return e.ZERO.subTo(this,H),H}function Er(){return this.s<0?this.negate():this}function j$(H){var S0=this.s-H.s;if(S0!=0)return S0;var j0=this.t;if(S0=j0-H.t,S0!=0)return this.s<0?-S0:S0;for(;--j0>=0;)if((S0=this[j0]-H[j0])!=0)return S0;return 0}function eC(H){var S0=1,j0;return(j0=H>>>16)!=0&&(H=j0,S0+=16),(j0=H>>8)!=0&&(H=j0,S0+=8),(j0=H>>4)!=0&&(H=j0,S0+=4),(j0=H>>2)!=0&&(H=j0,S0+=2),(j0=H>>1)!=0&&(H=j0,S0+=1),S0}function LB(){return this.t<=0?0:this.DB*(this.t-1)+eC(this[this.t-1]^this.s&this.DM)}function xB(H,S0){var j0;for(j0=this.t-1;j0>=0;--j0)S0[j0+H]=this[j0];for(j0=H-1;j0>=0;--j0)S0[j0]=0;S0.t=this.t+H,S0.s=this.s}function RB(H,S0){for(var j0=H;j0=0;--Z6)S0[Z6+N5+1]=this[Z6]>>m2|L3,L3=(this[Z6]&Z5)<=0;--Z6)S0[Z6]=0;S0[N5]=L3,S0.t=this.t+N5+1,S0.s=this.s,S0.clamp()}function MB(H,S0){S0.s=this.s;var j0=Math.floor(H/this.DB);if(j0>=this.t){S0.t=0;return}var m2=H%this.DB,Z5=this.DB-m2,N5=(1<>m2;for(var L3=j0+1;L3>m2;m2>0&&(S0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2-=H.s}S0.s=m2<0?-1:0,m2<-1?S0[j0++]=this.DV+m2:m2>0&&(S0[j0++]=m2),S0.t=j0,S0.clamp()}function TB(H,S0){var j0=this.abs(),m2=H.abs(),Z5=j0.t;for(S0.t=Z5+m2.t;--Z5>=0;)S0[Z5]=0;for(Z5=0;Z5=0;)H[j0]=0;for(j0=0;j0=S0.DV&&(H[j0+S0.t]-=S0.DV,H[j0+S0.t+1]=1)}H.t>0&&(H[H.t-1]+=S0.am(j0,S0[j0],H,2*j0,0,1)),H.s=0,H.clamp()}function GB(H,S0,j0){var m2=H.abs();if(!(m2.t<=0)){var Z5=this.abs();if(Z5.t0?(m2.lShiftTo(M9,N5),Z5.lShiftTo(M9,j0)):(m2.copyTo(N5),Z5.copyTo(j0));var x9=N5.t,W4=N5[x9-1];if(W4!=0){var i7=W4*(1<1?N5[x9-2]>>this.F2:0),ji=this.FV/i7,WB=(1<=0&&(j0[j0.t++]=1,j0.subTo(N7,j0)),e.ONE.dlShiftTo(x9,N7),N7.subTo(N5,N5);N5.t=0;){var tC=j0[--XA]==W4?this.DM:Math.floor(j0[XA]*ji+(j0[XA-1]+jB)*WB);if((j0[XA]+=N5.am(0,tC,j0,Fh,0,x9))0&&j0.rShiftTo(M9,j0),L3<0&&e.ZERO.subTo(j0,j0)}}}function UB(H){var S0=W0();return this.abs().divRemTo(H,null,S0),this.s<0&&S0.compareTo(e.ZERO)>0&&H.subTo(S0,S0),S0}function ZA(H){this.m=H}function PB(H){return H.s<0||H.compareTo(this.m)>=0?H.mod(this.m):H}function OB(H){return H}function qB(H){H.divRemTo(this.m,null,H)}function HB(H,S0,j0){H.multiplyTo(S0,j0),this.reduce(j0)}function WA(H,S0){H.squareTo(S0),this.reduce(S0)}ZA.prototype.convert=PB,ZA.prototype.revert=OB,ZA.prototype.reduce=qB,ZA.prototype.mulTo=HB,ZA.prototype.sqrTo=WA;function Wi(){if(this.t<1)return 0;var H=this[0];if(!(H&1))return 0;var S0=H&3;return S0=S0*(2-(H&15)*S0)&15,S0=S0*(2-(H&255)*S0)&255,S0=S0*(2-((H&65535)*S0&65535))&65535,S0=S0*(2-H*S0%this.DV)%this.DV,S0>0?this.DV-S0:-S0}function Un(H){this.m=H,this.mp=H.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(S0,S0),S0}function jA(H){var S0=W0();return H.copyTo(S0),this.reduce(S0),S0}function Pn(H){for(;H.t<=this.mt2;)H[H.t++]=0;for(var S0=0;S0>15)*this.mpl&this.um)<<15)&H.DM;for(j0=S0+this.m.t,H[j0]+=this.m.am(0,m2,H,S0,0,this.m.t);H[j0]>=H.DV;)H[j0]-=H.DV,H[++j0]++}H.clamp(),H.drShiftTo(this.m.t,H),H.compareTo(this.m)>=0&&H.subTo(this.m,H)}function YB(H,S0){H.squareTo(S0),this.reduce(S0)}function JB(H,S0,j0){H.multiplyTo(S0,j0),this.reduce(j0)}Un.prototype.convert=Rh,Un.prototype.revert=jA,Un.prototype.reduce=Pn,Un.prototype.mulTo=JB,Un.prototype.sqrTo=YB;function VB(){return(this.t>0?this[0]&1:this.s)==0}function Zs(H,S0){if(H>4294967295||H<1)return e.ONE;var j0=W0(),m2=W0(),Z5=S0.convert(this),N5=eC(H)-1;for(Z5.copyTo(j0);--N5>=0;)if(S0.sqrTo(j0,m2),(H&1<0)S0.mulTo(m2,Z5,j0);else{var L3=j0;j0=m2,m2=L3}return S0.revert(j0)}function KB(H,S0){var j0;return H<256||S0.isEven()?j0=new ZA(S0):j0=new Un(S0),this.exp(H,j0)}e.prototype.copyTo=I4,e.prototype.fromInt=v8,e.prototype.fromString=u8,e.prototype.clamp=Z4,e.prototype.dlShiftTo=xB,e.prototype.drShiftTo=RB,e.prototype.lShiftTo=FB,e.prototype.rShiftTo=MB,e.prototype.subTo=H6,e.prototype.multiplyTo=TB,e.prototype.squareTo=NB,e.prototype.divRemTo=GB,e.prototype.invDigit=Wi,e.prototype.isEven=VB,e.prototype.exp=Zs,e.prototype.toString=Pi,e.prototype.negate=Oi,e.prototype.abs=Er,e.prototype.compareTo=j$,e.prototype.bitLength=LB,e.prototype.mod=UB,e.prototype.modPowInt=KB,e.ZERO=K9(0),e.ONE=K9(1);function On(H,S0){this.fromInt(0),S0==null&&(S0=10);for(var j0=this.chunkSize(S0),m2=Math.pow(S0,j0),Z5=!1,N5=0,L3=0,Z6=0;Z6=j0&&(this.dMultiply(m2),this.dAddOffset(L3,0),N5=0,L3=0)}N5>0&&(this.dMultiply(Math.pow(S0,N5)),this.dAddOffset(L3,0)),Z5&&e.ZERO.subTo(this,this)}function zr(H){return Math.floor(Math.LN2*this.DB/Math.log(H))}function cp(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function r5(H){this[this.t]=this.am(0,H-1,this,0,0,this.t),++this.t,this.clamp()}function zB(H,S0){if(H!=0){for(;this.t<=S0;)this[this.t++]=0;for(this[S0]+=H;this[S0]>=this.DV;)this[S0]-=this.DV,++S0>=this.t&&(this[this.t++]=0),++this[S0]}}function Ws(H){if(H==null&&(H=10),this.signum()==0||H<2||H>36)return"0";var S0=this.chunkSize(H),j0=Math.pow(H,S0),m2=K9(j0),Z5=W0(),N5=W0(),L3="";for(this.divRemTo(m2,Z5,N5);Z5.signum()>0;)L3=(j0+N5.intValue()).toString(H).substr(1)+L3,Z5.divRemTo(m2,Z5,N5);return N5.intValue().toString(H)+L3}function Zr(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2+=H.s}S0.s=m2<0?-1:0,m2>0?S0[j0++]=m2:m2<-1&&(S0[j0++]=this.DV+m2),S0.t=j0,S0.clamp()}e.prototype.fromRadix=On,e.prototype.chunkSize=zr,e.prototype.signum=cp,e.prototype.dMultiply=r5,e.prototype.dAddOffset=zB,e.prototype.toRadix=Ws,e.prototype.intValue=Zr,e.prototype.addTo=ZB;var ai={abs:function(H,S0){var j0=new i.math.Long(H,S0),m2;j0.isNegative()?m2=j0.negate():m2=j0,_9[w8>>2]=m2.low_,_9[w8+4>>2]=m2.high_},ensureTemps:function(){ai.ensuredTemps||(ai.ensuredTemps=!0,ai.two32=new e,ai.two32.fromString("4294967296",10),ai.two64=new e,ai.two64.fromString("18446744073709551616",10),ai.temp1=new e,ai.temp2=new e)},lh2bignum:function(H,S0){var j0=new e;j0.fromString(S0.toString(),10);var m2=new e;j0.multiplyTo(ai.two32,m2);var Z5=new e;Z5.fromString(H.toString(),10);var N5=new e;return Z5.addTo(m2,N5),N5},stringify:function(H,S0,j0){var m2=new i.math.Long(H,S0).toString();if(j0&&m2[0]=="-"){ai.ensureTemps();var Z5=new e;Z5.fromString(m2,10),m2=new e,ai.two64.addTo(Z5,m2),m2=m2.toString(10)}return m2},fromString:function(H,S0,j0,m2,Z5){ai.ensureTemps();var N5=new e;N5.fromString(H,S0);var L3=new e;L3.fromString(j0,10);var Z6=new e;if(Z6.fromString(m2,10),Z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(ai.two64,M9),N5=M9}var x9=!1;N5.compareTo(L3)<0?(N5=L3,x9=!0):N5.compareTo(Z6)>0&&(N5=Z6,x9=!0);var W4=i.math.Long.fromString(N5.toString());if(_9[w8>>2]=W4.low_,_9[w8+4>>2]=W4.high_,x9)throw"range error"}};return ai}();function zA(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}zA.prototype=new Error,zA.prototype.constructor=zA;var SB,Xm=null,Dk=!1;Gi=function i(){o.calledRun||lp(),o.calledRun||(Gi=i)},o.callMain=o.callMain=function($){z4(Bt==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),z4(Vm.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Ys();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(Kr(o.thisProgram),"i8",JA)];d();for(var e=0;e0||(_h(),Bt>0)||o.calledRun)return;function $(){o.calledRun||(o.calledRun=!0,!k0&&(Ys(),mB(),c&&Xm!==null&&o.printErr("pre-main prep time: "+(Date.now()-Xm)+" ms"),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o._main&&_B&&o.callMain(i),Y$()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),$()},1)):$()}o.run=o.run=lp;function bB(i,$){if(!($&&o.noExitRuntime))throw o.noExitRuntime||(k0=!0,S1=i,yi=SB,Km(),o.onExit&&o.onExit(i)),f?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):r0&&typeof quit=="function"&&quit(i),new zA(i)}o.exit=o.exit=bB;var DB=[];function zs(i){i!==void 0?(o.print(i),o.printErr(i),i=JSON.stringify(i)):i="",k0=!0,S1=1;var $=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Hm()+$;throw DB&&DB.forEach(function(d){h=d(h,i)}),h}if(o.abort=o.abort=zs,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var _B=!0;o.noInitialRun&&(_B=!1),lp();var _k=o._encoder_init,Lk=o._encoder_clear,xk=o._encoder_analysis_buffer,Rk=o._encoder_process,Fk=o._encoder_data_len,Mk=o._encoder_transfer_data,wi=o.HEAPU8,z$=o.HEAPU32,Z$=o.HEAPF32,W$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=_k(this.numChannels,i,h)};W$.prototype.encode=function(i){for(var $=i[0].length,h=xk(this.encoder,$)>>2,d=0;d>2);this.process($)},W$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},W$.prototype.cancel=W$.prototype.cleanup=function(){Lk(this.encoder),delete this.encoder,delete this.oggBuffers},W$.prototype.process=function(i){Rk(this.encoder,i);var $=Fk(this.encoder);if($>0){var h=Mk(this.encoder);this.oggBuffers.push(new Uint8Array(wi.subarray(h,h+$)))}},jC.OggVorbisEncoder=W$}};typeof window<"u"&&window===self&&jC.init();function Gv(o,r,l,c){let f=new jC.OggVorbisEncoder(l,r,c);f.encode(o);let Q=f.finish(),r0=Q.reduce((a0,f1)=>a0+f1.length,0),m0=new Uint8Array(r0),f0=0;for(let a0 of Q)m0.set(a0,f0),f0+=a0.length;return m0}var XC=class{constructor(r,l){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",f=>{f.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async f=>{f.preventDefault(),c.classList.add("hidden");let Q=f.dataTransfer.files[0];if(!Q)return;let r0=Q.name,m0=await Q.arrayBuffer(),f0=m0.slice(0,4),a0=new TextDecoder;if(a0.decode(f0)==="RIFF"){let f1=m0.slice(8,12);if(a0.decode(f1)==="RMID"){r({buf:m0,name:r0});return}l(m0);return}r({buf:m0,name:r0})})}};document.body.classList.add("load");var Uv=!1,Fn=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(r,l,c){this.localeManager=c,this.context=r,this.isExporting=!1,this.compressionFunc=Gv;let f;this.ready=new Promise(Q=>f=Q),this.initializeContext(r,l).then(()=>{f()})}saveBlob(r,l){let c=URL.createObjectURL(r),f=document.createElement("a");f.href=c,f.download=l,f.click(),Y5(f)}async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let x0 of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(x0,"innerText",x0.getAttribute("translate-path"));for(let x0 of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(x0,"innerText",x0.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(x0,"title",x0.getAttribute("translate-path-title")+".description");let f=Uv?"synthetizer/worklet_system/worklet_processor.js":YC;Uv&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let Q=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";r.audioWorklet&&await r.audioWorklet.addModule(new URL(Q+f,import.meta.url)),this.soundFont=l;let r0=new URL(Q+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),f0=await(await fetch(r0)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(f0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new hh(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",x0=>{this.sfError&&this.sfError(x0)}),await this.synth.isReady,this.midHandler=new TC,this.wml=new NC(this.synth),this.keyboard=new Sm(this.channelColors,this.synth);let a0=document.getElementById("note_canvas");a0.width=window.innerWidth*window.devicePixelRatio,a0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new xi(this.channelColors,this.synth,a0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let f1=!1,R=()=>{if(a0.width=window.innerWidth*window.devicePixelRatio,a0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),_n){if(window.innerWidth/window.innerHeight>1){if(!f1){let x0=document.getElementById("title_wrapper"),k0=document.getElementById("settings_div");f1=!0,x0.parentElement.insertBefore(k0,x0)}}else if(f1){let x0=document.getElementById("title_wrapper"),k0=document.getElementById("settings_div");f1=!1,x0.parentElement.insertBefore(x0,k0)}}this.renderer.render(!1,!0)};R(),window.addEventListener("resize",R.bind(this)),window.addEventListener("orientationchange",R.bind(this)),_n&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new qr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new qC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ts(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Qi(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new XC(x0=>{this.play([{binary:x0.buf,altName:x0.name}]),x0.name.length>20&&(x0.name=x0.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=x0.name},x0=>{this.reloadSf(x0)}),document.addEventListener("keydown",x0=>{switch(x0.key.toLowerCase()){case e7.cinematicMode:this.seq&&this.seq.pause();let k0=window.prompt(`Cinematic mode activated! - Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),k0===null)return;a0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${k0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case e7.videoMode:this.seq&&this.seq.pause();let S1=window.prompt(`Video mode! +`));if(!$)return null;r.input=zr($,!0)}return r.input.shift()},put_char:function(r,$){$===null||$===10?(o.print(Ps(r.output,0)),r.output=[]):$!=0&&r.output.push($)},flush:function(r){r.output&&r.output.length>0&&(o.print(Ps(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,$){$===null||$===10?(o.printErr(Ps(r.output,0)),r.output=[]):$!=0&&r.output.push($)},flush:function(r){r.output&&r.output.length>0&&(o.printErr(Ps(r.output,0)),r.output=[])}}},k9={ops_table:null,mount:function(r){return k9.createNode(null,"/",16895,0)},createNode:function(r,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(R2.EPERM);k9.ops_table||(k9.ops_table={dir:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr,lookup:k9.node_ops.lookup,mknod:k9.node_ops.mknod,rename:k9.node_ops.rename,unlink:k9.node_ops.unlink,rmdir:k9.node_ops.rmdir,readdir:k9.node_ops.readdir,symlink:k9.node_ops.symlink},stream:{llseek:k9.stream_ops.llseek}},file:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr},stream:{llseek:k9.stream_ops.llseek,read:k9.stream_ops.read,write:k9.stream_ops.write,allocate:k9.stream_ops.allocate,mmap:k9.stream_ops.mmap,msync:k9.stream_ops.msync}},link:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr,readlink:k9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(r,$,h,d);return k.isDir(P.mode)?(P.node_ops=k9.ops_table.dir.node,P.stream_ops=k9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=k9.ops_table.file.node,P.stream_ops=k9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=k9.ops_table.link.node,P.stream_ops=k9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=k9.ops_table.chrdev.node,P.stream_ops=k9.ops_table.chrdev.stream),P.timestamp=Date.now(),r&&(r.contents[$]=P),P},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var $=[],h=0;hr.contents.length&&(r.contents=k9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var h=r.contents?r.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&r.contents.set(P.subarray(0,r.usedBytes),0);return}for(!r.contents&&$>0&&(r.contents=[]);r.contents.length<$;)r.contents.push(0)},resizeFileStorage:function(r,$){if(r.usedBytes!=$){if($==0){r.contents=null,r.usedBytes=0;return}if(!r.contents||r.contents.subarray){var h=r.contents;r.contents=new Uint8Array(new ArrayBuffer($)),h&&r.contents.set(h.subarray(0,Math.min($,r.usedBytes))),r.usedBytes=$;return}if(r.contents||(r.contents=[]),r.contents.length>$)r.contents.length=$;else for(;r.contents.length<$;)r.contents.push(0);r.usedBytes=$}},node_ops:{getattr:function(r){var $={};return $.dev=k.isChrdev(r.mode)?r.id:1,$.ino=r.id,$.mode=r.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=r.rdev,k.isDir(r.mode)?$.size=4096:k.isFile(r.mode)?$.size=r.usedBytes:k.isLink(r.mode)?$.size=r.link.length:$.size=0,$.atime=new Date(r.timestamp),$.mtime=new Date(r.timestamp),$.ctime=new Date(r.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(r,$){$.mode!==void 0&&(r.mode=$.mode),$.timestamp!==void 0&&(r.timestamp=$.timestamp),$.size!==void 0&&k9.resizeFileStorage(r,$.size)},lookup:function(r,$){throw k.genericErrors[R2.ENOENT]},mknod:function(r,$,h,d){return k9.createNode(r,$,h,d)},rename:function(r,$,h){if(k.isDir(r.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(R2.ENOTEMPTY)}delete r.parent.contents[r.name],r.name=h,$.contents[h]=r,r.parent=$},unlink:function(r,$){delete r.contents[$]},rmdir:function(r,$){var h=k.lookupNode(r,$);for(var d in h.contents)throw new k.ErrnoError(R2.ENOTEMPTY);delete r.contents[$]},readdir:function(r){var $=[".",".."];for(var h in r.contents)r.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(r,$,h){var d=k9.createNode(r,$,41471,0);return d.link=h,d},readlink:function(r){if(!k.isLink(r.mode))throw new k.ErrnoError(R2.EINVAL);return r.link}},stream_ops:{read:function(r,$,h,d,P){var e=r.node.contents;if(P>=r.node.usedBytes)return 0;var W0=Math.min(r.node.usedBytes-P,d);if(z4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(P,P+W0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var B2=$.entries[w5],T5=r.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var W0=!1,t1=0,b2=r.type==="remote"?r.db:$.db,s=b2.transaction([Qt.DB_STORE_NAME],"readwrite"),A1=s.objectStore(Qt.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?Qt.loadRemoteEntry(A1,w5,function(B2,T5){if(B2)return C(B2);Qt.storeLocalEntry(w5,T5,C)}):Qt.loadLocalEntry(w5,function(B2,T5){if(B2)return C(B2);Qt.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?Qt.removeLocalEntry(w5,C):Qt.removeRemoteEntry(A1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(r){return z4(u),g8.createNode(null,"/",g8.getMode(r.opts.root),0)},createNode:function(r,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(R2.EINVAL);var P=k.createNode(r,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(r){var $;try{$=yt.lstatSync(r),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}return $.mode},realPath:function(r){for(var $=[];r.parent!==r;)$.push(r.name),r=r.parent;return $.push(r.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(r){return r in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var $=g8.realPath(r),h;try{h=yt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(r,$){var h=g8.realPath(r);try{if($.mode!==void 0&&(yt.chmodSync(h,$.mode),r.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);yt.utimesSync(h,d,d)}$.size!==void 0&&yt.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},lookup:function(r,$){var h=c9.join2(g8.realPath(r),$),d=g8.getMode(h);return g8.createNode(r,$,d)},mknod:function(r,$,h,d){var P=g8.createNode(r,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?yt.mkdirSync(e,P.mode):yt.writeFileSync(e,"",{mode:P.mode})}catch(W0){throw W0.code?new k.ErrnoError(R2[W0.code]):W0}return P},rename:function(r,$,h){var d=g8.realPath(r),P=c9.join2(g8.realPath($),h);try{yt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(R2[e.code]):e}},unlink:function(r,$){var h=c9.join2(g8.realPath(r),$);try{yt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},rmdir:function(r,$){var h=c9.join2(g8.realPath(r),$);try{yt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},readdir:function(r){var $=g8.realPath(r);try{return yt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},symlink:function(r,$,h){var d=c9.join2(g8.realPath(r),$);try{yt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},readlink:function(r){var $=g8.realPath(r);try{return $=yt.readlinkSync($),$=kB.relative(kB.resolve(r.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}}},stream_ops:{open:function(r){var $=g8.realPath(r.node);try{k.isFile(r.node.mode)&&(r.nfd=yt.openSync($,g8.flagsToPermissionString(r.flags)))}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},close:function(r){try{k.isFile(r.node.mode)&&r.nfd&&yt.closeSync(r.nfd)}catch($){throw $.code?new k.ErrnoError(R2[$.code]):$}},read:function(r,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=yt.readSync(r.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(R2[b2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(R2.ELOOP);for(var P=c9.normalizeArray(r.split("/").filter(function(w5){return!!w5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(R2.ELOOP)}}return{path:W0,node:e}},getPath:function(r){for(var $;;){if(k.isRoot(r)){var h=r.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?r.name+"/"+$:r.name,r=r.parent}},hashName:function(r,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(r+h>>>0)%k.nameTable.length},hashAddNode:function(r){var $=k.hashName(r.parent.id,r.name);r.name_next=k.nameTable[$],k.nameTable[$]=r},hashRemoveNode:function(r){var $=k.hashName(r.parent.id,r.name);if(k.nameTable[$]===r)k.nameTable[$]=r.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===r){h.name_next=r.name_next;break}h=h.name_next}},lookupNode:function(r,$){var h=k.mayLookup(r);if(h)throw new k.ErrnoError(h,r);for(var d=k.hashName(r.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===r.id&&e===$)return P}return k.lookup(r,$)},createNode:function(r,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var W0=new k.FSNode(r,$,h,d);return k.hashAddNode(W0),W0},destroyNode:function(r){k.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 $=k.flagModes[r];if(typeof $>"u")throw new Error("Unknown file open mode: "+r);return $},flagsToPermissionString:function(r){var $=r&2097155,h=["r","w","rw"][$];return r&512&&(h+="w"),h},nodePermissions:function(r,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(r.mode&292)||$.indexOf("w")!==-1&&!(r.mode&146)||$.indexOf("x")!==-1&&!(r.mode&73)?R2.EACCES:0},mayLookup:function(r){var $=k.nodePermissions(r,"x");return $||(r.node_ops.lookup?0:R2.EACCES)},mayCreate:function(r,$){try{var h=k.lookupNode(r,$);return R2.EEXIST}catch{}return k.nodePermissions(r,"wx")},mayDelete:function(r,$,h){var d;try{d=k.lookupNode(r,$)}catch(e){return e.errno}var P=k.nodePermissions(r,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return R2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return R2.EBUSY}else if(k.isDir(d.mode))return R2.EISDIR;return 0},mayOpen:function(r,$){return r?k.isLink(r.mode)?R2.ELOOP:k.isDir(r.mode)&&($&2097155||$&512)?R2.EISDIR:k.nodePermissions(r,k.flagsToPermissionString($)):R2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,$){r=r||0,$=$||k.MAX_OPEN_FDS;for(var h=r;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(R2.EMFILE)},getStream:function(r){return k.streams[r]},createStream:function(r,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(W0){this.node=W0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in r)d[P]=r[P];r=d;var e=k.nextfd($,h);return r.fd=e,k.streams[e]=r,r},closeStream:function(r){k.streams[r]=null},getStreamFromPtr:function(r){return k.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var $=k.getDevice(r.node.rdev);r.stream_ops=$.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new k.ErrnoError(R2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,$){return r<<8|$},registerDevice:function(r,$){k.devices[r]={stream_ops:$}},getDevice:function(r){return k.devices[r]},getMounts:function(r){for(var $=[],h=[r];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(r,$){typeof r=="function"&&($=r,r=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,r,P)})},mount:function(r,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(R2.EBUSY);if(!d&&!P){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(R2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(R2.ENOTDIR)}var t1={type:r,opts:$,mountpoint:h,mounts:[]},b2=r.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(r){var $=k.lookupPath(r,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(R2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);z4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(r,$){return r.node_ops.lookup(r,$)},mknod:function(r,$,h){var d=k.lookupPath(r,{parent:!0}),P=d.node,e=c9.basename(r);if(!e||e==="."||e==="..")throw new k.ErrnoError(R2.EINVAL);var W0=k.mayCreate(P,e);if(W0)throw new k.ErrnoError(W0);if(!P.node_ops.mknod)throw new k.ErrnoError(R2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(r,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(r,$,0)},mkdir:function(r,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(r,$,0)},mkdev:function(r,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(r,$,h)},symlink:function(r,$){if(!c9.resolve(r))throw new k.ErrnoError(R2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(R2.EPERM);return d.node_ops.symlink(d,P,r)},rename:function(r,$){var h=c9.dirname(r),d=c9.dirname($),P=c9.basename(r),e=c9.basename($),W0,t1,b2;try{W0=k.lookupPath(r,{parent:!0}),t1=W0.node,W0=k.lookupPath($,{parent:!0}),b2=W0.node}catch{throw new k.ErrnoError(R2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(R2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(R2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(r,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(R2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(R2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),B2=k.mayDelete(t1,P,w5);if(B2)throw new k.ErrnoError(B2);if(B2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),B2)throw new k.ErrnoError(B2);if(!t1.node_ops.rename)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(R2.EBUSY);if(b2!==t1&&(B2=k.nodePermissions(t1,"w"),B2))throw new k.ErrnoError(B2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(r,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(r,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(r){var $=k.lookupPath(r,{parent:!0}),h=$.node,d=c9.basename(r),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+W0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+W0.message)}},readdir:function(r){var $=k.lookupPath(r,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(R2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(r){var $=k.lookupPath(r,{parent:!0}),h=$.node,d=c9.basename(r),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===R2.EISDIR&&(e=R2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+W0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+W0.message)}},readlink:function(r){var $=k.lookupPath(r),h=$.node;if(!h)throw new k.ErrnoError(R2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(R2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(r,$){var h=k.lookupPath(r,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(R2.EPERM);return d.node_ops.getattr(d)},lstat:function(r){return k.stat(r,!0)},chmod:function(r,$,h){var d;if(typeof r=="string"){var P=k.lookupPath(r,{follow:!h});d=P.node}else d=r;if(!d.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(r,$){k.chmod(r,$,!0)},fchmod:function(r,$){var h=k.getStream(r);if(!h)throw new k.ErrnoError(R2.EBADF);k.chmod(h.node,$)},chown:function(r,$,h,d){var P;if(typeof r=="string"){var e=k.lookupPath(r,{follow:!d});P=e.node}else P=r;if(!P.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(r,$,h){k.chown(r,$,h,!0)},fchown:function(r,$,h){var d=k.getStream(r);if(!d)throw new k.ErrnoError(R2.EBADF);k.chown(d.node,$,h)},truncate:function(r,$){if($<0)throw new k.ErrnoError(R2.EINVAL);var h;if(typeof r=="string"){var d=k.lookupPath(r,{follow:!0});h=d.node}else h=r;if(!h.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(R2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(R2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(r,$){var h=k.getStream(r);if(!h)throw new k.ErrnoError(R2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(R2.EINVAL);k.truncate(h.node,$)},utime:function(r,$,h){var d=k.lookupPath(r,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(r,$,h,d,P){if(r==="")throw new k.ErrnoError(R2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof r=="object")e=r;else{r=c9.normalize(r);try{var W0=k.lookupPath(r,{follow:!($&131072)});e=W0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(R2.EEXIST)}else e=k.mknod(r,h,0),t1=!0;if(!e)throw new k.ErrnoError(R2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),r in k.readFiles||(k.readFiles[r]=1,o.printErr("read file: "+r)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(r,A1)}}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($){throw $}finally{k.closeStream(r.fd)}},llseek:function(r,$,h){if(!r.seekable||!r.stream_ops.llseek)throw new k.ErrnoError(R2.ESPIPE);return r.position=r.stream_ops.llseek(r,$,h),r.ungotten=[],r.position},read:function(r,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if((r.flags&2097155)===1)throw new k.ErrnoError(R2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!r.stream_ops.read)throw new k.ErrnoError(R2.EINVAL);var e=!0;if(typeof P>"u")P=r.position,e=!1;else if(!r.seekable)throw new k.ErrnoError(R2.ESPIPE);var W0=r.stream_ops.read(r,$,h,d,P);return e||(r.position+=W0),W0},write:function(r,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!r.stream_ops.write)throw new k.ErrnoError(R2.EINVAL);r.flags&1024&&k.llseek(r,0,2);var W0=!0;if(typeof P>"u")P=r.position,W0=!1;else if(!r.seekable)throw new k.ErrnoError(R2.ESPIPE);var t1=r.stream_ops.write(r,$,h,d,P,e);W0||(r.position+=t1);try{r.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(r.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(r,$,h){if($<0||h<=0)throw new k.ErrnoError(R2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(!k.isFile(r.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(R2.ENODEV);if(!r.stream_ops.allocate)throw new k.ErrnoError(R2.EOPNOTSUPP);r.stream_ops.allocate(r,$,h)},mmap:function(r,$,h,d,P,e,W0){if((r.flags&2097155)===1)throw new k.ErrnoError(R2.EACCES);if(!r.stream_ops.mmap)throw new k.ErrnoError(R2.ENODEV);return r.stream_ops.mmap(r,$,h,d,P,e,W0)},msync:function(r,$,h,d,P){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,$,h,d,P)},munmap:function(r){return 0},ioctl:function(r,$,h){if(!r.stream_ops.ioctl)throw new k.ErrnoError(R2.ENOTTY);return r.stream_ops.ioctl(r,$,h)},readFile:function(r,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(r,$.flags),P=k.stat(r),e=P.size,W0=new Uint8Array(e);return k.read(d,W0,0,e,0),$.encoding==="utf8"?h=Ps(W0,0):$.encoding==="binary"&&(h=W0),k.close(d),h},writeFile:function(r,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(r,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Os($)+1),e=Mn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(r){var $=k.lookupPath(r,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(R2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Gn.register(k.makedev(5,0),Gn.default_tty_ops),Gn.register(k.makedev(6,0),Gn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var r;if(typeof crypto<"u"){var $=new Uint8Array(1);r=function(){return crypto.getRandomValues($),$[0]}}else u?r=void 0:r=function(){return Math.random()*256|0};k.createDevice("/dev","random",r),k.createDevice("/dev","urandom",r),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){o.stdin?k.createDevice("/dev","stdin",o.stdin):k.symlink("/dev/tty","/dev/stdin"),o.stdout?k.createDevice("/dev","stdout",null,o.stdout):k.symlink("/dev/tty","/dev/stdout"),o.stderr?k.createDevice("/dev","stderr",null,o.stderr):k.symlink("/dev/tty1","/dev/stderr");var r=k.open("/dev/stdin","r");_9[Kv>>2]=k.getPtrForStream(r),z4(r.fd===0,"invalid handle for stdin ("+r.fd+")");var $=k.open("/dev/stdout","w");_9[zv>>2]=k.getPtrForStream($),z4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Zv>>2]=k.getPtrForStream(h),z4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in R2)if(R2[P]===d){this.code=P;break}},this.setErrno($),this.message=Vv[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[R2.ENOENT].forEach(function(r){k.genericErrors[r]=new k.ErrnoError(r),k.genericErrors[r].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(k9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(r,$,h){z4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=r||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var r=0;rthis.length-1||w5<0)){var B2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[B2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var B2=Number(w5.getResponseHeader("Content-length")),T5,L9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;L9||(O9=B2);var I4=function(K9,h8){if(K9>h8)throw new Error("invalid range ("+K9+", "+h8+") or no bytes requested!");if(h8>B2-1)throw new Error("only "+B2+" bytes available! programmer error!");var Z4=new XMLHttpRequest;if(Z4.open("GET",h,!1),B2!==O9&&Z4.setRequestHeader("Range","bytes="+K9+"-"+h8),typeof Uint8Array<"u"&&(Z4.responseType="arraybuffer"),Z4.overrideMimeType&&Z4.overrideMimeType("text/plain; charset=x-user-defined"),Z4.send(null),!(Z4.status>=200&&Z4.status<300||Z4.status===304))throw new Error("Couldn't load "+h+". Status: "+Z4.status);return Z4.response!==void 0?new Uint8Array(Z4.response||[]):zr(Z4.responseText||"",!0)},v8=this;v8.setDataGetter(function(K9){var h8=K9*O9,Z4=(K9+1)*O9-1;if(Z4=Math.min(Z4,B2-1),typeof v8.chunks[K9]>"u"&&(v8.chunks[K9]=I4(h8,Z4)),typeof v8.chunks[K9]>"u")throw new Error("doXHR failed!");return v8.chunks[K9]}),this._length=B2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!Q)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var W0=new e;Object.defineProperty(W0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(W0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:W0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(r,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,B2,T5,L9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var v8=Math.min(I4.length-O9,L9);if(z4(v8>=0),I4.slice)for(var K9=0;K9=0;d--){var P=r[d];P==="."?r.splice(d,1):P===".."?(r.splice(d,1),h++):h&&(r.splice(d,1),h--)}if($)for(;h--;h)r.unshift("..");return r},normalize:function(r){var $=r.charAt(0)==="/",h=r.substr(-1)==="/";return r=c9.normalizeArray(r.split("/").filter(function(d){return!!d}),!$).join("/"),!r&&!$&&(r="."),r&&h&&(r+="/"),($?"/":"")+r},dirname:function(r){var $=c9.splitPath(r),h=$[0],d=$[1];return!h&&!d?".":(d&&(d=d.substr(0,d.length-1)),h+d)},basename:function(r){if(r==="/")return"/";var $=r.lastIndexOf("/");return $===-1?r:r.substr($+1)},extname:function(r){return c9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return c9.normalize(r.join("/"))},join2:function(r,$){return c9.normalize(r+"/"+$)},resolve:function(){for(var r="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var d=h>=0?arguments[h]:k.cwd();if(typeof d!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!d)return"";r=d+"/"+r,$=d.charAt(0)==="/"}return r=c9.normalizeArray(r.split("/").filter(function(P){return!!P}),!$).join("/"),($?"/":"")+r||"."},relative:function(r,$){r=c9.resolve(r).substr(1),$=c9.resolve($).substr(1);function h(s){for(var A1=0;A1=0&&s[C]==="";C--);return A1>C?[]:s.slice(A1,C-A1+1)}for(var d=h(r.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),W0=e,t1=0;t10){var t1=Date.now(),b2=J1.mainLoop.queue.shift();if(b2.func(b2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,A1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=A1:(A1=A1+.5,J1.mainLoop.remainingBlockers=(8*s+A1)/9)}console.log('main loop blocker "'+b2.name+'" took '+(Date.now()-t1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&o.ctx&&(o.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof d<"u"?R.dynCall("vi",r,[d]):R.dynCall("v",r)}),!(e0?Wm(0,1e3/$):Wm(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,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,wB(h,0,!1,J1.mainLoop.arg,!0),Wm(r,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var r=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var r={};r.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,W0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(W0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(W0)}))}catch(B2){R.warnOnce("Blob constructor present but fails: "+B2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){z4(w5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var L9=T5.getContext("2d");L9.drawImage(w5,0,0),o.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),b2&&b2()},w5.src=C},o.preloadPlugins.push(r);var $={};$.canHandle=function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,W0,t1,b2){var s=!1;function A1(L9){s||(s=!0,o.preloadedAudios[W0]=L9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return C()}var B2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function I4(v8){for(var K9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",Z4="",Oi=0,qi=0,mr=0;mr=6;){var j$=Oi>>qi-6&63;qi-=6,Z4+=K9[j$]}return qi==2?(Z4+=K9[(Oi&3)<<4],Z4+=h8+h8):qi==4&&(Z4+=K9[(Oi&15)<<2],Z4+=h8),Z4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=B2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(r,$,h,d){if($&&o.ctx&&r==o.canvas)return o.ctx;var P,e;if($){var W0={antialias:!1,alpha:!1};if(d)for(var t1 in d)W0[t1]=d[t1];e=GL.createContext(r,W0),e&&(P=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else P=r.getContext("2d");return P?(h&&($||z4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(r,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,$,h){J1.lockPointer=r,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var W0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===W0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(W0.parentNode.insertBefore(d,W0),W0.parentNode.removeChild(W0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(r,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(r){return function(){if(!k0)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($){$()})}},safeRequestAnimationFrame:function(r){return J1.requestAnimationFrame(function(){k0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,$){return o.noExitRuntime=!0,setTimeout(function(){k0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))},$)},safeSetInterval:function(r,$){return o.noExitRuntime=!0,setInterval(function(){k0||J1.allowAsyncCallbacks&&r()},$)},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 $=0;switch(r.type){case"DOMMouseScroll":$=r.detail;break;case"mousewheel":$=r.wheelDelta;break;case"wheel":$=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return $},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 $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var W0=r.touch;if(W0===void 0)return;var t1=W0.pageX-(P+$.left),b2=W0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(r.type==="touchstart")J1.lastTouches[W0.identifier]=s,J1.touches[W0.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var A1=J1.touches[W0.identifier];A1||(A1=s),J1.lastTouches[W0.identifier]=A1,J1.touches[W0.identifier]=s}return}var C=r.pageX-(P+$.left),w5=r.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(r,$,h){var d=new XMLHttpRequest;d.open("GET",r,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(r,$,h,d){J1.xhrLoad(r,function(P){z4(P,'Loading data file "'+r+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||Ir("al "+r)},function(P){if(h)h();else throw'Loading data file "'+r+'" failed.'}),d||Nn("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=o.canvas;J1.resizeListeners.forEach(function($){$(r.width,r.height)})},setCanvasSize:function(r,$,h){var d=o.canvas;J1.updateCanvasDimensions(d,r,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=z$[SDL.screen+R.QUANTUM_SIZE*0>>2];r=r|8388608,_9[SDL.screen+R.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=z$[SDL.screen+R.QUANTUM_SIZE*0>>2];r=r&-8388609,_9[SDL.screen+R.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},updateCanvasDimensions:function(r,$,h){$&&h?(r.widthNative=$,r.heightNative=h):($=r.widthNative,h=r.heightNative);var d=$,P=h;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(d/P>2]=$),$}function ck(){o.printErr("missing function: floor0_exportbundle"),zs(-1)}if(Vs=R.staticAlloc(4),_9[Vs>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),q$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),Sh.push(function(){k.ignorePermissions=!1}),H$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,q$.unshift(function(){Gn.init()}),H$.push(function(){Gn.shutdown()}),u)var yt=void 0,kB=void 0;kh=yi=R.alignMemory(Vr),G$=!0,U$=kh+Jm,P$=Ti=R.alignMemory(U$),z4(P$>0]=d[t>>0],d[B2+1>>0]=d[t+1>>0],d[B2+2>>0]=d[t+2>>0],d[B2+3>>0]=d[t+3>>0]}function XD(t){t=t|0,d[B2>>0]=d[t>>0],d[B2+1>>0]=d[t+1>>0],d[B2+2>>0]=d[t+2>>0],d[B2+3>>0]=d[t+3>>0],d[B2+4>>0]=d[t+4>>0],d[B2+5>>0]=d[t+5>>0],d[B2+6>>0]=d[t+6>>0],d[B2+7>>0]=d[t+7>>0]}function Yk(t){t=t|0,H6=t}function Jk(){return H6|0}function gp(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0;E=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,n=S9(256)|0,A=t+8|0,e[A>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,g=t+16|0,e[g>>2]=256}function Vk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0;L=C,A=n>>3,a=t+12|0,p=e[a>>2]|0,S=(p|0)==0,!S&&(b=A<<3,v=n-b|0,w=t+8|0,D=e[w>>2]|0,y=D+A|0,e[a>>2]=y,_=t+4|0,e[_>>2]=v,e[t>>2]=A,g=8+(v<<2)|0,f=e[g>>2]|0,E=d[y>>0]|0,I=E&255,m=I&f,B=m&255,d[y>>0]=B)}function U2(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;q0=C,f=A>>>0>32;do if(!f){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,s0=t0+-4|0,w0=(E|0)<(s0|0),a=t+12|0,g=e[a>>2]|0,w0)N=g;else{if(M0=(g|0)==0,M0)return;if(J0=(t0|0)>2147483391,J0||(O0=t+8|0,z0=e[O0>>2]|0,I=t0+256|0,m=Yi(z0,I)|0,B=(m|0)==0,B))break;e[O0>>2]=m,p=e[_>>2]|0,S=p+256|0,e[_>>2]=S,b=e[t>>2]|0,v=m+b|0,e[a>>2]=v,N=v}w=8+(A<<2)|0,D=e[w>>2]|0,y=D&n,x=t+4|0,L=e[x>>2]|0,F=L+A|0,M=y<>0]|0,G=T&255,O=G|M,z=O&255,d[N>>0]=z,Y=(F|0)>7;do if(Y&&(J=e[x>>2]|0,W=8-J|0,e0=y>>>W,q=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=q,l0=(F|0)>15,l0&&(Z=e[x>>2]|0,K=16-Z|0,$0=y>>>K,r0=$0&255,n0=e[a>>2]|0,V=n0+2|0,d[V>>0]=r0,h0=(F|0)>23,h0&&(o0=e[x>>2]|0,g0=24-o0|0,j=y>>>g0,c0=j&255,u0=e[a>>2]|0,I0=u0+3|0,d[I0>>0]=c0,C0=(F|0)>31,C0))))if(v0=e[x>>2]|0,d0=(v0|0)==0,d0){L0=e[a>>2]|0,Q0=L0+4|0,d[Q0>>0]=0;break}else{p0=32-v0|0,B0=y>>>p0,E0=B0&255,b0=e[a>>2]|0,K0=b0+4|0,d[K0>>0]=E0;break}while(!1);T0=(F|0)/8&-1,G0=e[t>>2]|0,P0=G0+T0|0,e[t>>2]=P0,y0=e[a>>2]|0,Y0=y0+T0|0,e[a>>2]=Y0,F0=F&7,e[x>>2]=F0;return}while(!1);_0=t+8|0,N0=e[_0>>2]|0,V0=(N0|0)==0,V0||I2(N0),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 hp(t){t=t|0;var n=0,A=0,a=0,g=0,f=0;f=C,n=t+8|0,A=e[n>>2]|0,a=(A|0)==0,a||I2(A),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function u7(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0;B=C,n=t+12|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(g=t+8|0,f=e[g>>2]|0,e[n>>2]=f,E=f,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function up(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0;if(b0=C,a=n>>>0>32,a)return A=-1,A|0;if(g=8+(n<<2)|0,D=e[g>>2]|0,z=t+4|0,K=e[z>>2]|0,u0=K+n|0,w0=e[t>>2]|0,C0=t+16|0,v0=e[C0>>2]|0,d0=v0+-4|0,f=(w0|0)<(d0|0),!f){if(E=u0+7|0,I=E>>3,m=v0-I|0,B=(w0|0)>(m|0),B)return A=-1,A|0;if(p=(u0|0)==0,p)return A=0,A|0}return S=t+12|0,b=e[S>>2]|0,v=d[b>>0]|0,w=v&255,y=w>>>K,_=(u0|0)>8,_?(x=b+1|0,L=d[x>>0]|0,F=L&255,M=8-K|0,T=F<16,G?(O=b+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-K|0,W=t0<24,q?(X=b+3|0,U=d[X>>0]|0,l0=U&255,Z=24-K|0,$0=l0<>0]|0,o0=h0&255,g0=32-K|0,j=o0<>2]|0,S=a+n|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,_=w-y|0,x=(b|0)>(_|0),x){p=t+12|0,e[p>>2]=0,e[t>>2]=w,L=1,e[A>>2]=L;return}else{g=(S|0)/8&-1,f=t+12|0,E=e[f>>2]|0,I=E+g|0,e[f>>2]=I,m=b+g|0,e[t>>2]=m,B=S&7,L=B,e[A>>2]=L;return}}function j4(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0;_0=C,m=n>>>0>32;do if(m)a=t+16|0,g=e[a>>2]|0,I=t+4|0,f=t,E=I,Q0=g;else{if(B=8+(n<<2)|0,F=e[B>>2]|0,e0=t+4|0,V=e[e0>>2]|0,d0=V+n|0,M0=e[t>>2]|0,T0=t+16|0,G0=e[T0>>2]|0,P0=G0+-4|0,p=(M0|0)<(P0|0),!p){if(S=d0+7|0,b=S>>3,v=G0-b|0,w=(M0|0)>(v|0),w){f=t,E=e0,Q0=G0;break}if(D=(d0|0)==0,D)return A=0,A|0}return y=t+12|0,_=e[y>>2]|0,x=d[_>>0]|0,L=x&255,M=L>>>V,T=(d0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-V|0,Y=O<16,J?(W=_+2|0,q=d[W>>0]|0,X=q&255,U=16-V|0,l0=X<24,K?($0=_+3|0,s0=d[$0>>0]|0,r0=s0&255,n0=24-V|0,h0=r0<>0]|0,I0=u0&255,w0=32-V|0,C0=I0<>2]=E0,b0=M0+B0|0,e[t>>2]=b0,K0=d0&7,e[e0>>2]=K0,A=p0,A|0}while(!1);return L0=t+12|0,e[L0>>2]=0,e[f>>2]=Q0,e[E>>2]=1,A=-1,A|0}function wt(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,g=a+7|0,f=(g|0)/8&-1,E=f+n|0,E|0}function tQ(t){t=t|0;var n=0,A=0,a=0,g=0;return g=C,n=t+8|0,A=e[n>>2]|0,A|0}function Kk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0;if(T=C,g=(t|0)==0,g)return A=-1,A|0;ae(t|0,0,360)|0,f=t+4|0,e[f>>2]=16384,b=t+24|0,e[b>>2]=1024,v=S9(16384)|0,e[t>>2]=v,w=S9(4096)|0,D=t+16|0,e[D>>2]=w,y=S9(8192)|0,_=t+20|0,e[_>>2]=y,x=(v|0)==0;do if(x)I=w;else{if(L=(w|0)==0,E=(y|0)==0,F=E|L,F){I2(v),a=e[D>>2]|0,I=a;break}return S=t+336|0,e[S>>2]=n,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),B=e[_>>2]|0,p=(B|0)==0,p||I2(B),ae(t|0,0,360)|0,A=-1,A|0}function zk(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0;return S=C,n=(t|0)==0,n||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),g=t+16|0,f=e[g>>2]|0,E=(f|0)==0,E||I2(f),I=t+20|0,m=e[I>>2]|0,B=(m|0)==0,B||I2(m),ae(t|0,0,360)|0),0}function Zk(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0;if(G0=C,n=(t|0)==0,!n){if(A=e[t>>2]|0,v=A+22|0,d[v>>0]=0,G=e[t>>2]|0,l0=G+23|0,d[l0>>0]=0,j=e[t>>2]|0,v0=j+24|0,d[v0>>0]=0,d0=e[t>>2]|0,p0=d0+25|0,d[p0>>0]=0,B0=t+4|0,a=e[B0>>2]|0,g=(a|0)>0,g)for(f=e[t>>2]|0,b0=0,Q0=0;;)if(S=b0<<8,b=b0>>>24,w=f+Q0|0,D=d[w>>0]|0,y=D&255,_=y^b,x=144+(_<<2)|0,L=e[x>>2]|0,F=L^S,M=Q0+1|0,T=(M|0)<(a|0),T)b0=F,Q0=M;else{E0=F;break}else E0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(B=t+8|0,p=e[B>>2]|0,L0=E0,M0=0;;)if(N=L0<<8,O=L0>>>24,z=p+M0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,q=e0^N,X=M0+1|0,U=(X|0)<(I|0),U)L0=q,M0=X;else{K0=q;break}else K0=E0;Z=K0&255,K=e[t>>2]|0,$0=K+22|0,d[$0>>0]=Z,s0=K0>>>8,r0=s0&255,n0=e[t>>2]|0,V=n0+23|0,d[V>>0]=r0,h0=K0>>>16,o0=h0&255,g0=e[t>>2]|0,c0=g0+24|0,d[c0>>0]=o0,u0=K0>>>24,I0=u0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=I0}}function Wk(t,n,A,a,g,f){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(b0=e[t>>2]|0,_0=(b0|0)==0,_0))return I=-1,I|0;if(D0=(n|0)==0,D0)return I=0,I|0;Z0=(A|0)>0;e:do if(Z0){for(f2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,o2=(O1|0)<0,w=2147483647-O1|0,O=(f2|0)>(w|0),F2=o2|O,F2){I=-1;break}if(Z=O1+f2|0,s0=y2+1|0,r0=(s0|0)<(A|0),r0)f2=Z,y2=s0;else{s2=Z;break e}}return I|0}else s2=0;while(!1);n0=(s2|0)/255&-1,V=n0+1|0,h0=t+12|0,o0=e[h0>>2]|0,g0=(o0|0)==0,v=t+8|0,g0||(c0=e[v>>2]|0,u0=c0-o0|0,e[v>>2]=u0,I0=(c0|0)==(o0|0),I0||(w0=b0+o0|0,ea(b0|0,w0|0,u0|0)|0),e[h0>>2]=0),C0=t+4|0,v0=e[C0>>2]|0,d0=v0-s2|0,p0=e[v>>2]|0,B0=(d0|0)>(p0|0);do if(!B0){if(E0=2147483647-s2|0,K0=(v0|0)>(E0|0),K0)return L0=e[t>>2]|0,Q0=(L0|0)==0,Q0||I2(L0),M0=t+16|0,T0=e[M0>>2]|0,G0=(T0|0)==0,G0||I2(T0),P0=t+20|0,y0=e[P0>>2]|0,Y0=(y0|0)==0,Y0||I2(y0),ae(t|0,0,360)|0,I=-1,I|0;if(F0=v0+s2|0,N0=(F0|0)<2147482623,V0=F0+1024|0,E=N0?V0:F0,J0=e[t>>2]|0,O0=Yi(J0,E)|0,z0=(O0|0)==0,!z0){e[C0>>2]=E,e[t>>2]=O0;break}return U0=e[t>>2]|0,q0=(U0|0)==0,q0||I2(U0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(u1=jk(t,V)|0,g1=(u1|0)==0,!g1)return I=-1,I|0;if(Z0)for(B=e[v>>2]|0,B1=B,k2=0;E1=e[t>>2]|0,p1=E1+B1|0,Q1=n+(k2<<3)|0,L1=e[Q1>>2]|0,x1=(n+(k2<<3)|0)+4|0,b1=e[x1>>2]|0,s4(p1|0,L1|0,b1|0)|0,R1=e[x1>>2]|0,F1=e[v>>2]|0,G1=F1+R1|0,e[v>>2]=G1,v1=k2+1|0,t2=(v1|0)==(A|0),!t2;)B1=G1,k2=v1;if(l1=(s2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,o1=e[n1>>2]|0,l1){for(I1=t+352|0,h1=t+20|0,m1=e[h1>>2]|0,d1=(n0|0)>1,C2=0;U1=a1+C2|0,Z1=o1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,_1=N1,V1=e[_1>>2]|0,q1=N1+4|0,H1=q1,Y1=e[H1>>2]|0,j1=m1+(U1<<3)|0,n2=j1,W1=n2,e[W1>>2]=V1,P1=n2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,u2=(z1|0)<(n0|0),u2;)C2=z1;D2=d1?n0:1,p=I1,$2=m1,w2=D2}else m=t+20|0,S=e[m>>2]|0,b=t+352|0,p=b,$2=S,w2=0;return E2=(s2|0)%255&-1,A2=a1+w2|0,K1=o1+(A2<<2)|0,e[K1>>2]=E2,h2=$2+(A2<<3)|0,i2=h2,l2=i2,e[l2>>2]=g,r2=i2+4|0,a2=r2,e[a2>>2]=f,X1=p,D=X1,e[D>>2]=g,y=X1+4|0,_=y,e[_>>2]=f,x=o1+(a1<<2)|0,L=e[x>>2]|0,F=L|256,e[x>>2]=F,M=a1+V|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=js(z|0,J|0,1,0)|0,e0=H6,q=T,X=q,e[X>>2]=W,U=q+4|0,l0=U,e[l0>>2]=e0,K=(a|0)==0,K?(I=0,I|0):($0=t+328|0,e[$0>>2]=1,I=0,I|0)}function iC(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0;return x=C,C=C+16|0,y=x,A=e[n>>2]|0,e[y>>2]=A,a=n+4|0,m=e[a>>2]|0,B=y+4|0,e[B>>2]=m,p=n+12|0,S=e[p>>2]|0,b=n+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,f=g,E=e[f>>2]|0,I=Wk(t,y,1,S,D,E)|0,C=x,I|0}function iQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0;return g=C,A=nQ(t,n,1,4096)|0,A|0}function rQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0;return x=C,f=(t|0)==0,f||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,B=e[m>>2]|0,p=(B|0)==0,a=t+28|0,g=e[a>>2]|0,y=(g|0)==0,p?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?_=7:D=0):y?D=0:_=7,(_|0)==7&&(D=1),w=nQ(t,n,D,4096)|0,A=w,A|0)}function jk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0;return c0=C,g=t+24|0,f=e[g>>2]|0,y=f-n|0,Y=t+28|0,$0=e[Y>>2]|0,n0=(y|0)>($0|0),n0?(a=0,a|0):(V=2147483647-n|0,h0=(f|0)>(V|0),h0?(o0=e[t>>2]|0,g0=(o0|0)==0,g0||I2(o0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),B=t+20|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),ae(t|0,0,360)|0,a=-1,a|0):(b=f+n|0,v=(b|0)<2147483615,w=b+32|0,A=v?w:b,D=t+16|0,_=e[D>>2]|0,x=A<<2,L=Yi(_,x)|0,F=(L|0)==0,F?(M=e[t>>2]|0,T=(M|0)==0,T||I2(M),N=e[D>>2]|0,G=(N|0)==0,G||I2(N),O=t+20|0,z=e[O>>2]|0,t0=(z|0)==0,t0||I2(z),ae(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=L,J=t+20|0,W=e[J>>2]|0,e0=A<<3,q=Yi(W,e0)|0,X=(q|0)==0,X?(U=e[t>>2]|0,l0=(U|0)==0,l0||I2(U),Z=e[D>>2]|0,K=(Z|0)==0,K||I2(Z),s0=e[J>>2]|0,r0=(s0|0)==0,r0||I2(s0),ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=q,e[g>>2]=A,a=0,a|0))))}function nQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0;if(v5=C,y=t+28|0,_=e[y>>2]|0,c1=(_|0)>255,g=c1?255:_,h1=(t|0)==0,h1||(R1=e[t>>2]|0,H1=(R1|0)==0,A2=(g|0)==0,w3=A2|H1,w3))return f=0,f|0;t2=t+332|0,H2=e[t2>>2]|0,Z2=(H2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(T0=(l3|0)<(g|0),!T0){I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,H5=l3,O5=14;break e}if(z0=e[C0>>2]|0,H0=z0+(l3<<2)|0,e1=e[H0>>2]|0,D0=e1&255,i1=(D0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,H5=$1,O5=14;break}}else if(x=(g|0)>0,x){for(J=t+16|0,r0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,B5=-1,t5=-1,s5=-1,W5=0,x3=0,C3=0;;){if(u1=(C5|0)>(a|0),g1=(W5|0)>3,G3=u1&g1,G3){E=1,G5=S5,_5=g5,q2=a5,I5=W2,A5=g2,c5=B5,p5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,o1=n1+C5|0,Z0=(n1|0)==255,Z0?(h5=S5,J2=g5,u5=a5,i5=W2,L5=g2,j2=B5,$5=t5,x2=s5,i6=0,U3=x3):(I1=e[r0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,p1=e[E1>>2]|0,B1=d1+4|0,Q1=B1,L1=e[Q1>>2]|0,x1=x3+1|0,w1=p1&255,b1=Xs(p1|0,L1|0,8)|0,F1=H6,G1=b1&255,v1=Xs(p1|0,L1|0,16)|0,U1=H6,Z1=v1&255,N1=Xs(p1|0,L1|0,24)|0,_1=H6,V1=N1&255,O1=L1&255,q1=Xs(p1|0,L1|0,40)|0,Y1=H6,j1=q1&255,n2=Xs(p1|0,L1|0,48)|0,W1=H6,P1=n2&255,c2=Xs(p1|0,L1|0,56)|0,z1=H6,u2=c2&255,h5=w1,J2=Z1,u5=V1,i5=O1,L5=j1,j2=P1,$5=u2,x2=G1,i6=x1,U3=x1),o2=C3+1|0,E2=(o2|0)<(g|0),E2)C5=o1,S5=h5,g5=J2,a5=u5,W2=i5,g2=L5,B5=j2,t5=$5,s5=x2,W5=i6,x3=U3,C3=o2;else{E=A,G5=h5,_5=J2,q2=u5,I5=i5,A5=L5,c5=j2,p5=$5,M1=x2,c3=o2;break}}K1=(c3|0)==255,K1?(n3=G5,m3=_5,F5=q2,V5=I5,v3=A5,u3=c5,B3=p5,z3=M1,U5=255):(I=E,Q5=G5,q5=_5,j5=q2,E5=I5,f3=A5,h3=c5,J5=p5,X5=M1,H5=c3,O5=14)}else I=A,Q5=-1,q5=-1,j5=-1,E5=-1,f3=-1,h3=-1,J5=-1,X5=-1,H5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return f=0,f|0;n3=Q5,m3=q5,F5=j5,V5=E5,v3=f3,u3=h3,B3=J5,z3=X5,U5=H5}if($2=t+40|0,d[$2>>0]=79,d[$2+1>>0]=103,d[$2+2>>0]=103,d[$2+3>>0]=83,i2=t+44|0,d[i2>>0]=0,l2=t+45|0,d[l2>>0]=0,r2=t+16|0,a2=e[r2>>2]|0,X1=e[a2>>2]|0,s2=X1>>>8,S=s2&1,f2=S^1,y2=f2|2,m=Z2?y2:f2,a3=m&255,d[l2>>0]=a3,k2=t+328|0,w2=e[k2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),z5=C2&F2,z5&&(B=Z2?y2:f2,D2=B|4,N2=D2&255,d[l2>>0]=N2),e[t2>>2]=1,d2=t+46|0,d[d2>>0]=n3,K2=t+47|0,d[K2>>0]=z3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=V5,z2=t+51|0,d[z2>>0]=v3,o5=t+52|0,d[o5>>0]=u3,O2=t+53|0,d[O2>>0]=B3,T1=t+336|0,X2=e[T1>>2]|0,x5=X2&255,e5=t+54|0,d[e5>>0]=x5,b5=X2>>>8,f5=b5&255,k5=t+55|0,d[k5>>0]=f5,P5=X2>>>16,l5=P5&255,v2=t+56|0,d[v2>>0]=l5,m5=X2>>>24,n5=m5&255,L2=t+57|0,d[L2>>0]=n5,_2=t+340|0,p2=e[_2>>2]|0,L=(p2|0)==-1,L?(e[_2>>2]=0,M=0):M=p2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,q=e0&255,X=t+61|0,d[X>>0]=q,U=t+62|0,l0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=l0,K=(U5|0)>0,K){if($0=e[a2>>2]|0,s0=$0&255,n0=t+67|0,d[n0>>0]=s0,V=$0&255,D5=(U5|0)==1,D5)p=V;else for(o0=1,v0=V;;)if(b=e[r2>>2]|0,h0=b+(o0<<2)|0,g0=e[h0>>2]|0,j=g0&255,c0=o0+27|0,u0=(t+40|0)+c0|0,d[u0>>0]=j,I0=g0&255,w0=I0+v0|0,d0=o0+1|0,d5=(d0|0)==(U5|0),d5){p=w0;break}else o0=d0,v0=w0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,Q0=v,y0=w,F0=D,R5=p}else Q0=R1,y0=_,F0=a2,R5=0;return e[n>>2]=$2,p0=U5+27|0,B0=t+324|0,e[B0>>2]=p0,E0=n+4|0,e[E0>>2]=p0,b0=t+12|0,K0=e[b0>>2]|0,L0=Q0+K0|0,M0=n+8|0,e[M0>>2]=L0,G0=n+12|0,e[G0>>2]=R5,P0=y0-U5|0,e[y>>2]=P0,Y0=F0+(U5<<2)|0,_0=P0<<2,ea(F0|0,Y0|0,_0|0)|0,N0=t+20|0,V0=e[N0>>2]|0,J0=V0+(U5<<3)|0,O0=e[y>>2]|0,U0=O0<<3,ea(V0|0,J0|0,U0|0)|0,q0=e[b0>>2]|0,r1=q0+R5|0,e[b0>>2]=r1,Zk(n),f=1,f|0}function Xk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0;return H0=C,a=t+104|0,g=e[a>>2]|0,D=t+88|0,z=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,K=e[z>>2]|0,u7(K),u0=g+16|0,L0=e[u0>>2]|0,u7(L0),V0=g+20|0,U0=e[V0>>2]|0,u7(U0),q0=g+24|0,f=e[q0>>2]|0,u7(f),E=g+28|0,I=e[E>>2]|0,u7(I),m=g+32|0,B=e[m>>2]|0,u7(B),p=g+36|0,S=e[p>>2]|0,u7(S),b=g+40|0,v=e[b>>2]|0,u7(v),w=g+44|0,y=e[w>>2]|0,u7(y),_=g+48|0,x=e[_>>2]|0,u7(x),L=g+52|0,F=e[L>>2]|0,u7(F),M=g+56|0,T=e[M>>2]|0,u7(T),N=g+60|0,G=e[N>>2]|0,u7(G),O=g+64|0,Y=e[O>>2]|0,u7(Y),t0=g+68|0,J=e[t0>>2]|0,u7(J),W=e[6416]|0,e0=W+12|0,q=e[e0>>2]|0,X=MQ[q&1](t)|0,U=(X|0)==0,U?(l0=(n|0)==0,l0?(A=0,A|0):(Z=Mh(t)|0,$0=(Z|0)==0,$0?(s0=t+4|0,r0=tQ(s0)|0,e[n>>2]=r0,n0=wt(s0)|0,V=n+4|0,e[V>>2]=n0,h0=n+8|0,e[h0>>2]=0,o0=t+44|0,g0=e[o0>>2]|0,j=n+12|0,e[j>>2]=g0,c0=t+48|0,I0=c0,w0=I0,C0=e[w0>>2]|0,v0=I0+4|0,d0=v0,p0=e[d0>>2]|0,B0=n+16|0,E0=B0,b0=E0,e[b0>>2]=C0,K0=E0+4|0,Q0=K0,e[Q0>>2]=p0,M0=t+56|0,T0=M0,G0=T0,P0=e[G0>>2]|0,y0=T0+4|0,Y0=y0,F0=e[Y0>>2]|0,_0=n+24|0,N0=_0,J0=N0,e[J0>>2]=P0,O0=N0+4|0,z0=O0,e[z0>>2]=F0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function eS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0;C0=C,A=t+28|0,a=e[A>>2]|0,I0=n,v0=I0+48|0;do e[I0>>2]=0,I0=I0+4|0;while((I0|0)<(v0|0));w=a+3372|0,O=e[w>>2]|0,Z=(O|0)>0,Z&&(o0=t+8|0,g0=e[o0>>2]|0,j=e[a>>2]|0,c0=j>>1,u0=a+4|0,g=e[u0>>2]|0,f=(g|0)/(j|0)&-1,E=n+24|0,e[E>>2]=f,e[n>>2]=1,I=a+3360|0,m=e[I>>2]|0,B=+(m|0),p=+(c0|0),S=B*p,b=+(g0|0),v=S/b,D=+Hi(v),y=~~D,_=n+12|0,e[_>>2]=y,x=a+3364|0,L=e[x>>2]|0,F=+(L|0),M=F*p,T=M/b,N=+Hi(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*p,e0=W/b,q=+Hi(e0),X=~~q,U=n+20|0,e[U>>2]=X,l0=n+32|0,A1[l0>>3]=7,K=+(O|0),$0=a+3376|0,s0=+A1[$0>>3],r0=K*s0,n0=~~r0,V=n+8|0,e[V>>2]=n0,h0=n+4|0,e[h0>>2]=n0)}function tS(t){t=t|0;var n=0,A=0,a=0,g=0;a=C,n=t,g=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(g|0))}function Mh(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0;return p=C,A=t+64|0,a=e[A>>2]|0,g=a+104|0,f=e[g>>2]|0,E=f+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function iS(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0;if(b6=C,B=t+104|0,p=e[B>>2]|0,z1=t+64|0,v2=e[z1>>2]|0,_5=v2+104|0,g2=e[_5>>2]|0,x2=v2+4|0,F5=e[x2>>2]|0,x3=F5+28|0,M5=e[x3>>2]|0,S=g2+112|0,T=+A1[S>>3],X=+Hi(T),o0=~~X,B0=(p+12|0)+(o0<<2)|0,Y0=e[B0>>2]|0,H0=wt(Y0)|0,n1=H0<<3,L1=t+28|0,_1=e[L1>>2]|0,u2=(_1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,u2?(x5=g2+100|0,b5=e[x5>>2]|0,U=d2,v0=x5,E0=b5):(Z2=g2+104|0,f5=e[Z2>>2]|0,k5=g2+100|0,P5=e[k5>>2]|0,l5=r5(f5,d2)|0,m5=r5(f5,P5)|0,U=l5,v0=k5,E0=m5),n5=M5+(_1<<2)|0,L2=e[n5>>2]|0,_2=L2>>1,p2=M5+3372|0,C5=e[p2>>2]|0,R5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=R5*D5,q2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,p5=g2+120|0,c5)return M1=e[p5>>2]|0,S5=(M1|0)==0,S5?(e[p5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[p5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){u2?$5=a5:(B5=g2+104|0,t5=e[B5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],u5=15/J2,i5=g2+84|0,L5=e[i5>>2]|0,j2=n1-$5|0,Q5=L5+j2|0,q5=(Q5|0)>(q2|0);e:do if(q5)if(j5=(o0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(f3=n1-$5|0,h3=f3+L5|0,J5=(h3|0)>(q2|0),J5)for(O3=o0;;){if(X5=O3+-1|0,n3=(p+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,V5=wt(m3)|0,v3=V5<<3,u3=(O3|0)>1,B3=(v3|0)>($5|0),k6=B3&u3,!k6){K5=X5;break e}if(I=e[i5>>2]|0,z3=v3-$5|0,G3=z3+I|0,z5=(G3|0)>(q2|0),z5)O3=X5;else{K5=X5;break}}else K5=o0;else K5=o0;else if(w3=(Q5|0)<(q2|0),w3)if(W5=o0+1|0,i6=(W5|0)<15,U3=(n1|0)<($5|0),X3=U3&i6,X3)if(a3=n1-$5|0,l3=a3+L5|0,c3=(l3|0)<(q2|0),c3)for(H5=W5;;){if(C3=(p+12|0)+(H5<<2)|0,U5=e[C3>>2]|0,O5=wt(U5)|0,v5=O5<<3,P3=H5+1|0,o6=(P3|0)<15,e3=(v5|0)<($5|0),p6=e3&o6,!p6){K5=H5;break e}if(E=e[i5>>2]|0,A3=v5-$5|0,R3=A3+E|0,u6=(R3|0)<(q2|0),u6)H5=P3;else{K5=H5;break}}else K5=o0;else K5=o0;else K5=o0;while(!1);Q3=+(K5|0),k3=+A1[S>>3],y3=Q3-k3,r6=+Hi(y3),j3=+(_2|0),b=r6/j3,v=F5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,_=-u5,x=y<_,C6=x?_:y,L=C6>u5,b3=L?u5:C6,F=b3/D,M=F*j3,N=M+k3,A1[S>>3]=N,G=+Hi(N),O=~~G,z=(p+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=wt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,S3=O,e6=J}else W=d2,S3=o0,e6=n1;e0=(W|0)>0,q=(e6|0)<(U|0),c6=q&e0;e:do if(c6)if(l0=g2+88|0,Z=e[l0>>2]|0,K=e6-U|0,$0=K+Z|0,s0=($0|0)<0,s0)for(g3=S3,t6=e6;;){if(r0=g3+1|0,n0=(g3|0)>13,n0){q3=r0,f6=t6;break e}if(V=(p+12|0)+(r0<<2)|0,h0=e[V>>2]|0,g0=wt(h0)|0,j=g0<<3,c0=e[l0>>2]|0,u0=j-U|0,I0=u0+c0|0,w0=(I0|0)<0,w0)g3=r0,t6=j;else{q3=r0,f6=j;break}}else q3=S3,f6=e6;else q3=S3,f6=e6;while(!1);C0=e[v0>>2]|0,d0=(C0|0)>0,p0=(f6|0)>(E0|0),B6=p0&d0;e:do if(B6)if(b0=g2+88|0,K0=e[b0>>2]|0,L0=f6-E0|0,Q0=L0+K0|0,M0=e[p2>>2]|0,T0=(Q0|0)>(M0|0),T0)for(l6=q3,H3=f6;;){if(G0=l6+-1|0,P0=(l6|0)<1,P0){d3=G0,D3=H3;break e}if(y0=(p+12|0)+(G0<<2)|0,F0=e[y0>>2]|0,_0=wt(F0)|0,N0=_0<<3,V0=e[b0>>2]|0,J0=N0-E0|0,O0=J0+V0|0,z0=e[p2>>2]|0,U0=(O0|0)>(z0|0),U0)l6=G0,H3=N0;else{d3=G0,D3=N0;break}}else d3=q3,D3=f6;else d3=q3,D3=f6;while(!1);if(q0=(d3|0)<0,q0)r1=e[p2>>2]|0,e1=g2+88|0,D0=e[e1>>2]|0,i1=r1+E0|0,c1=i1-D0|0,$1=(c1|0)/8&-1,u1=g2+124|0,e[u1>>2]=0,g1=p+12|0,l1=e[g1>>2]|0,s1=wt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,Z0=$1<<3,Vk(o1,Z0),I1=e[g1>>2]|0,h1=wt(I1)|0,m1=h1<<3,Y3=m1):Y3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,p1=U+7|0,B1=p1-E1|0,Q1=(B1|0)/8&-1,x1=(d3|0)>14,g=x1?14:d3,w1=g2+124|0,e[w1>>2]=g,b1=(p+12|0)+(g<<2)|0,R1=e[b1>>2]|0,F1=wt(R1)|0,G1=Q1-F1|0,v1=(G1|0)>0,U1=e[b1>>2]|0,v1)for(N1=U1,v6=G1;;)if(Z1=v6+-1|0,U2(N1,0,8),V1=(v6|0)>1,O1=e[b1>>2]|0,V1)N1=O1,v6=Z1;else{f=O1;break}else f=U1;q1=wt(f)|0,H1=q1<<3,Y3=H1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?Z3=37:(n2=e[v0>>2]|0,W1=(n2|0)>0,W1&&(Z3=37));do if((Z3|0)==37){if(P1=(E0|0)>0,c2=(Y3|0)>(E0|0),L6=P1&c2,L6){o2=Y3-E0|0,E2=g2+88|0,A2=e[E2>>2]|0,K1=o2+A2|0,e[E2>>2]=K1;break}if(h2=(U|0)>0,$2=(Y3|0)<(U|0),Y6=h2&$2,Y6){i2=Y3-U|0,l2=g2+88|0,r2=e[l2>>2]|0,a2=i2+r2|0,e[l2>>2]=a2;break}if(s2=g2+88|0,f2=e[s2>>2]|0,t2=(f2|0)>(q2|0),t2)if(P1){y2=Y3-E0|0,k2=f2+y2|0,w2=(k2|0)<(q2|0),n=w2?q2:k2,e[s2>>2]=n;break}else{e[s2>>2]=q2;break}else if(h2){C2=Y3-U|0,F2=f2+C2|0,D2=(F2|0)>(q2|0),a=D2?q2:F2,e[s2>>2]=a;break}else{e[s2>>2]=q2;break}}while(!1);return N2=e[g5>>2]|0,K2=(N2|0)>0,K2?(G2=e[L1>>2]|0,H2=(G2|0)==0,H2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),o5=Y3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function sQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0;return E0=C,a=t+104|0,g=e[a>>2]|0,D=g+120|0,z=e[D>>2]|0,K=(z|0)==0,K?(A=0,A|0):(u0=(n|0)==0,u0||(I0=z+104|0,w0=e[I0>>2]|0,C0=z+64|0,v0=e[C0>>2]|0,f=v0+104|0,E=e[f>>2]|0,I=E+80|0,m=e[I>>2]|0,p0=(m|0)==0,p0?d0=7:(B=g+124|0,p=e[B>>2]|0,d0=p),S=(w0+12|0)+(d0<<2)|0,b=e[S>>2]|0,v=tQ(b)|0,e[n>>2]=v,w=e[S>>2]|0,y=wt(w)|0,_=n+4|0,e[_>>2]=y,x=n+8|0,e[x>>2]=0,L=z+44|0,F=e[L>>2]|0,M=n+12|0,e[M>>2]=F,T=z+48|0,N=T,G=N,O=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,q=e0,e[q>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,l0=z+56|0,Z=l0,$0=Z,s0=e[$0>>2]|0,r0=Z+4|0,n0=r0,V=e[n0>>2]|0,h0=n+24|0,o0=h0,g0=o0,e[g0>>2]=s0,j=o0+4|0,c0=j,e[c0>>2]=V),e[D>>2]=0,A=1,A|0)}function rS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0;M=C,L=n,T=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(T|0));if(A=n+64|0,e[A>>2]=t,a=n+76|0,e[a>>2]=0,B=n+68|0,e[B>>2]=0,p=e[t>>2]|0,S=(p|0)==0,S)return 0;for(b=n4(1,72)|0,v=n+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=n+4|0,y=b+12|0,g=b+40|0,x=0;;)if(f=(x|0)==7,f){e[g>>2]=D,gp(D),x=8;continue}else{if(E=n4(1,20)|0,I=y+(x<<2)|0,e[I>>2]=E,gp(E),m=x+1|0,_=(m|0)==15,_)break;x=m;continue}return 0}function qt(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=n+7|0,a=A&-8,w=t+72|0,L=e[w>>2]|0,F=L+a|0,M=t+76|0,T=e[M>>2]|0,N=(F|0)>(T|0),G=t+68|0,O=e[G>>2]|0,N?(g=(O|0)==0,g||(f=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,B=m+L|0,e[I>>2]=B,p=t+84|0,S=e[p>>2]|0,b=E+4|0,e[b>>2]=S,e[E>>2]=f,e[p>>2]=E),e[M>>2]=a,v=S9(a)|0,e[G>>2]=v,e[w>>2]=0,y=v,_=0,D=y+_|0,x=_+a|0,e[w>>2]=x,D|0):(y=O,_=L,D=y+_|0,x=_+a|0,e[w>>2]=x,D|0)}function nS(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0;if(Z=C,a=t+104|0,g=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,f=e[W>>2]|0,E=(f|0)==0,n=t+68|0,A=e[n>>2]|0,E?y=A:(I=t+76|0,m=e[I>>2]|0,B=m+f|0,p=Yi(A,B)|0,e[n>>2]=p,S=e[W>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[W>>2]=0,y=p),w=t+72|0,e[w>>2]=0,e[D>>2]=0,_=(y|0)==0,_||I2(y),x=(g|0)==0,x){U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}else q=0;for(;;){if(L=(g+12|0)+(q<<2)|0,F=e[L>>2]|0,hp(F),M=(q|0)==7,M){q=8;continue}if(T=e[L>>2]|0,I2(T),N=q+1|0,e0=(N|0)==15,e0)break;q=N}I2(g),U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}function sS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0;return _=C,a=AS(t,n,1)|0,g=(a|0)==0,g?(m=t+104|0,B=e[m>>2]|0,p=GS(n)|0,S=B+60|0,e[S>>2]=p,b=n4(1,180)|0,e[B>>2]=b,gS(b,n),v=B+80|0,eS(n,v),w=t+64|0,D=w,f=D,e[f>>2]=3,E=D+4|0,I=E,e[I>>2]=0,A=0,A|0):(A=1,A|0)}function oQ(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0;if(G2=C,p=(t|0)==0,!p){if(S=t+4|0,B0=e[S>>2]|0,Y0=(B0|0)!=0,Y0?(H0=B0+28|0,n1=e[H0>>2]|0,y0=n1):y0=0,L1=t+104|0,_1=e[L1>>2]|0,z1=(_1|0)!=0,z1){if(a2=e[_1>>2]|0,b=(a2|0)==0,b||(hS(a2),N=e[_1>>2]|0,I2(N)),U=_1+12|0,g0=e[U>>2]|0,I0=(g0|0)==0,I0||(w0=e[g0>>2]|0,mp(w0),C0=e[U>>2]|0,v0=e[C0>>2]|0,I2(v0),d0=e[U>>2]|0,I2(d0)),p0=_1+16|0,E0=e[p0>>2]|0,b0=(E0|0)==0,b0||(K0=e[E0>>2]|0,mp(K0),L0=e[p0>>2]|0,Q0=e[L0>>2]|0,I2(Q0),M0=e[p0>>2]|0,I2(M0)),T0=_1+48|0,G0=e[T0>>2]|0,P0=(G0|0)==0,!P0){if(F0=(y0|0)==0,F0)d1=G0;else if(_0=y0+16|0,N0=e[_0>>2]|0,V0=(N0|0)>0,V0){if(J0=y0+800|0,O0=e[J0>>2]|0,z0=25640+(O0<<2)|0,U0=e[z0>>2]|0,q0=U0+16|0,r1=e[q0>>2]|0,e1=e[G0>>2]|0,to[r1&7](e1),D0=e[_0>>2]|0,i1=(D0|0)>1,i1)for($1=1;n=e[T0>>2]|0,c1=J0+($1<<2)|0,u1=e[c1>>2]|0,g1=25640+(u1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=n+($1<<2)|0,Z0=e[o1>>2]|0,to[a1&7](Z0),I1=$1+1|0,h1=e[_0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[T0>>2]|0,d1=A}else d1=G0;I2(d1)}if(E1=_1+52|0,p1=e[E1>>2]|0,B1=(p1|0)==0,!B1){if(Q1=(y0|0)==0,Q1)K1=p1;else if(x1=y0+20|0,w1=e[x1>>2]|0,b1=(w1|0)>0,b1){if(R1=y0+1312|0,F1=e[R1>>2]|0,G1=25648+(F1<<2)|0,v1=e[G1>>2]|0,U1=v1+16|0,Z1=e[U1>>2]|0,N1=e[p1>>2]|0,to[Z1&7](N1),V1=e[x1>>2]|0,O1=(V1|0)>1,O1)for(H1=1;a=e[E1>>2]|0,q1=R1+(H1<<2)|0,Y1=e[q1>>2]|0,j1=25648+(Y1<<2)|0,n2=e[j1>>2]|0,W1=n2+16|0,P1=e[W1>>2]|0,c2=a+(H1<<2)|0,u2=e[c2>>2]|0,to[P1&7](u2),o2=H1+1|0,E2=e[x1>>2]|0,A2=(o2|0)<(E2|0),A2;)H1=o2;g=e[E1>>2]|0,K1=g}else K1=p1;I2(K1)}if(h2=_1+56|0,$2=e[h2>>2]|0,i2=($2|0)==0,!i2){if(l2=(y0|0)==0,l2)D2=$2;else if(r2=y0+28|0,X1=e[r2>>2]|0,s2=(X1|0)>0,s2){if(fQ($2),f2=e[r2>>2]|0,t2=(f2|0)>1,t2)for(k2=1;f=e[h2>>2]|0,y2=f+(k2*52|0)|0,fQ(y2),w2=k2+1|0,C2=e[r2>>2]|0,F2=(w2|0)<(C2|0),F2;)k2=w2;E=e[h2>>2]|0,D2=E}else D2=$2;I2(D2)}v=_1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||US(w),y=_1+80|0,tS(y),_=_1+20|0,wQ(_),x=_1+32|0,wQ(x)}if(L=t+8|0,F=e[L>>2]|0,M=(F|0)==0,!M){if(Y0)if(T=B0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,u0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?q=u0:(I2(t0),m=e[T>>2]|0,q=m),W=N2+1|0,e0=(W|0)<(q|0),!!e0;)I=e[L>>2]|0,Y=I,u0=q,N2=W;B=e[L>>2]|0,X=B}else X=F;else X=F;I2(X),l0=t+12|0,Z=e[l0>>2]|0,K=(Z|0)==0,K||I2(Z)}z1&&($0=_1+64|0,s0=e[$0>>2]|0,r0=(s0|0)==0,r0||I2(s0),n0=_1+68|0,V=e[n0>>2]|0,h0=(V|0)==0,h0||I2(V),o0=_1+72|0,j=e[o0>>2]|0,c0=(j|0)==0,c0||I2(j),I2(_1)),d2=t,H2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(H2|0))}}function AQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0;if(Y0=C,I=t+4|0,m=e[I>>2]|0,L=t+104|0,W=e[L>>2]|0,n0=W+64|0,v0=e[n0>>2]|0,Q0=(v0|0)==0,Q0||I2(v0),e[n0>>2]=0,M0=W+68|0,T0=e[M0>>2]|0,G0=(T0|0)==0,G0||I2(T0),e[M0>>2]=0,B=W+72|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),e[B>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+n|0,D=t+16|0,y=e[D>>2]|0,_=(w|0)<(y|0),_)A=m+4|0,f=e[A>>2]|0,X=f,y0=11;else if(x=n<<1,F=v+x|0,e[D>>2]=F,M=m+4|0,T=e[M>>2]|0,N=(T|0)>0,N)if(G=t+8|0,O=e[G>>2]|0,z=e[O>>2]|0,Y=F<<2,t0=Yi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,q=(e0|0)>1,q)for(r0=1;;)if(a=e[D>>2]|0,$0=e[G>>2]|0,s0=$0+(r0<<2)|0,V=e[s0>>2]|0,h0=a<<2,o0=Yi(V,h0)|0,g0=e[G>>2]|0,j=g0+(r0<<2)|0,e[j>>2]=o0,c0=r0+1|0,u0=e[M>>2]|0,I0=(c0|0)<(u0|0),I0)r0=c0;else{X=u0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for(l0=t+8|0,Z=e[b>>2]|0,K=t+12|0,P0=0;;)if(w0=e[l0>>2]|0,C0=w0+(P0<<2)|0,d0=e[C0>>2]|0,p0=d0+(Z<<2)|0,B0=e[K>>2]|0,E0=B0+(P0<<2)|0,e[E0>>2]=p0,b0=P0+1|0,K0=(b0|0)<(X|0),K0)P0=b0;else{g=K;break}return L0=e[g>>2]|0,L0|0}return E=t+12|0,g=E,L0=e[g>>2]|0,L0|0}function oS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0;if(O0=C,I=t+4|0,m=e[I>>2]|0,L=m+28|0,W=e[L>>2]|0,n0=(n|0)<1,!n0)return w0=t+20|0,C0=e[w0>>2]|0,d0=C0+n|0,p0=t+16|0,B0=e[p0>>2]|0,E0=(d0|0)>(B0|0),E0?(a=-131,C=O0,a|0):(e[w0>>2]=d0,b0=t+28|0,K0=e[b0>>2]|0,L0=(K0|0)==0,!L0||(Q0=t+48|0,M0=e[Q0>>2]|0,T0=d0-M0|0,P0=W+4|0,y0=e[P0>>2]|0,Y0=(T0|0)>(y0|0),!Y0)?(a=0,C=O0,a|0):($Q(t),a=0,C=O0,a|0));if(v0=C,C=C+128|0,G0=t+28|0,F0=e[G0>>2]|0,_0=(F0|0)==0,_0&&$Q(t),N0=W+4|0,B=e[N0>>2]|0,p=B*3|0,AQ(t,p)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[N0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,_=m+4|0,x=e[_>>2]|0,F=(x|0)>0,!F)return a=0,C=O0,a|0;for(M=t+8|0,T=b,V0=0;;){if(N=(T|0)>64,N?(G=e[N0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(V0<<2)|0,t0=e[Y>>2]|0,f=T-A|0,J=t0+(f<<2)|0,+lQ(J,v0,A,32),e0=e[M>>2]|0,q=e0+(V0<<2)|0,X=e[q>>2]|0,U=e[v>>2]|0,l0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,K=e[S>>2]|0,$0=K-U|0,cQ(v0,Z,32,l0,$0)):(s0=e[M>>2]|0,r0=s0+(V0<<2)|0,V=e[r0>>2]|0,h0=V+(T<<2)|0,o0=e[S>>2]|0,g0=o0-T|0,j=g0<<2,ae(h0|0,0,j|0)|0),c0=V0+1|0,u0=e[_>>2]|0,I0=(c0|0)<(u0|0),!I0){a=0;break}g=e[v>>2]|0,T=g,V0=c0}return C=O0,a|0}function aQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,S=t+4|0,b=e[S>>2]|0,o2=b+28|0,v5=e[o2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,f6=S6+60|0,d6=e[f6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,v=t+40|0,G=e[v>>2]|0,l0=v5+(G<<2)|0,j=e[l0>>2]|0,b0=(j|0)/2&-1,_0=t9-b0|0,D0=n+104|0,Z0=e[D0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(f2=t+32|0,G2=e[f2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;p2=uS(t)|0,p5=(p2|0)==-1;do if(p5){if(J2=e[f2>>2]|0,f3=(J2|0)==0,f3)return a=0,a|0;z3=t+44|0,e[z3>>2]=0,f=z3,O3=0;break}else if(C3=e[v5>>2]|0,P3=v5+4|0,M5=e[P3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,f=e3,O3=0;break}else{e[e3>>2]=p2,f=e3,O3=p2;break}while(!1);if(A3=e[G6>>2]|0,R3=e[v>>2]|0,u6=v5+(R3<<2)|0,Q3=e[u6>>2]|0,k3=(Q3|0)/4&-1,y3=k3+A3|0,j3=v5+(O3<<2)|0,K5=e[j3>>2]|0,S3=(K5|0)/4&-1,g3=y3+S3|0,q3=(K5|0)/2&-1,l6=g3+q3|0,d3=t+20|0,v6=e[d3>>2]|0,k6=(v6|0)<(l6|0),k6)return a=0,a|0;if(p6=n+84|0,X3=e[p6>>2]|0,c6=(X3|0)==0,!c6)for(I9=X3;B6=I9+4|0,L6=e[B6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(L6|0)==0,!C6;)I9=L6;b3=n+80|0,e6=e[b3>>2]|0,t6=(e6|0)==0,t6||(H3=n+68|0,D3=e[H3>>2]|0,Y3=n+76|0,Z3=e[Y3>>2]|0,b6=Z3+e6|0,A6=Yi(D3,b6)|0,e[H3>>2]=A6,t3=e[b3>>2]|0,O6=e[Y3>>2]|0,s3=O6+t3|0,e[Y3>>2]=s3,e[b3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[p6>>2]=0,_3=t+36|0,N6=e[_3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[v>>2]|0,x6=n+28|0,e[x6>>2]=Q6,K6=e[f>>2]|0,I6=n+32|0,e[I6>>2]=K6,J6=(Q6|0)==0;do if(J6)if(s9=fS(t)|0,R6=(s9|0)==0,U6=Z0+8|0,R6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(F3=(N6|0)==0,j6=(K6|0)==0,N9=F3|j6,e9=Z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,M3=e[F6>>2]|0,M6=y6+4|0,A9=M6,X6=e[A9>>2]|0,u9=js(M3|0,X6|0,1,0)|0,f9=H6,d9=z6,a9=d9,e[a9>>2]=u9,$9=d9+4|0,T9=$9,e[T9>>2]=f9,E6=n+56|0,T6=E6,w=T6,e[w>>2]=M3,D=T6+4|0,y=D,e[y>>2]=X6,_=t+56|0,x=_,L=x,F=e[L>>2]|0,M=x+4|0,T=M,N=e[T>>2]|0,O=n+48|0,z=O,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=N,W=e[v>>2]|0,e0=v5+(W<<2)|0,q=e[e0>>2]|0,X=n+36|0,e[X>>2]=q,U=Z0+4|0,Z=+s[U>>2],K=+s[d6>>2],$0=Z>K,$0?(s[d6>>2]=Z,s0=Z):s0=K,r0=+qS(s0,t),s[d6>>2]=r0,s[U>>2]=r0,n0=b+4|0,V=e[n0>>2]|0,h0=V<<2,o0=h0+7|0,g0=o0&-8,c0=e[a6>>2]|0,u0=g0+c0|0,I0=n+76|0,w0=e[I0>>2]|0,C0=(u0|0)>(w0|0),v0=n+68|0,d0=e[v0>>2]|0,C0?(p0=(d0|0)==0,p0||(B0=d0,E0=S9(8)|0,K0=e[b3>>2]|0,L0=K0+c0|0,e[b3>>2]=L0,Q0=e[p6>>2]|0,M0=E0+4|0,e[M0>>2]=Q0,e[E0>>2]=B0,e[p6>>2]=E0),e[I0>>2]=g0,T0=S9(g0)|0,e[v0>>2]=T0,e[a6>>2]=0,g=e[n0>>2]|0,P0=T0,y0=0,N0=g,U0=g0):(P0=d0,y0=c0,N0=V,U0=w0),G0=P0+y0|0,Y0=y0+g0|0,e[a6>>2]=Y0,e[n>>2]=G0,F0=N0<<2,V0=F0+7|0,J0=V0&-8,O0=J0+Y0|0,z0=(O0|0)>(U0|0),z0?(q0=(P0|0)==0,q0||(r1=P0,H0=S9(8)|0,e1=e[b3>>2]|0,i1=e1+Y0|0,e[b3>>2]=i1,c1=e[p6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=r1,e[p6>>2]=H0),e[I0>>2]=J0,u1=S9(J0)|0,e[v0>>2]=u1,e[a6>>2]=0,E=e[n0>>2]|0,l1=u1,s1=0,n1=E,O5=J0):(l1=P0,s1=Y0,n1=N0,O5=U0),g1=l1+s1|0,a1=s1+J0|0,e[a6>>2]=a1,e[Z0>>2]=g1,o1=(n1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,x1=O5,b1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+_0|0,d1=m1<<2,E1=d1+7|0,p1=E1&-8,B1=p1+Q1|0,L1=(B1|0)>(x1|0),L1?(R1=(b1|0)==0,R1||(F1=b1,G1=S9(8)|0,v1=e[b3>>2]|0,U1=v1+Q1|0,e[b3>>2]=U1,Z1=e[p6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[p6>>2]=G1),e[I0>>2]=p1,_1=S9(p1)|0,e[v0>>2]=_1,e[a6>>2]=0,q1=_1,H1=0):(q1=b1,H1=Q1),V1=q1+H1|0,Y1=H1+p1|0,e[a6>>2]=Y1,j1=e[Z0>>2]|0,n2=j1+(i9<<2)|0,e[n2>>2]=V1,W1=e[Z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,u2=z1+(i9<<2)|0,A2=e[u2>>2]|0,s4(c2|0,A2|0,d1|0)|0,K1=e[Z0>>2]|0,h2=K1+(i9<<2)|0,$2=e[h2>>2]|0,i2=$2+(_0<<2)|0,l2=e[n>>2]|0,r2=l2+(i9<<2)|0,e[r2>>2]=i2,a2=i9+1|0,X1=e[n0>>2]|0,s2=(a2|0)<(X1|0),!s2)break e;I=e[a6>>2]|0,m=e[I0>>2]|0,B=e[v0>>2]|0,Q1=I,x1=m,b1=B,i9=a2}while(!1);if(t2=e[f2>>2]|0,y2=(t2|0)==0,!y2&&(k2=e[G6>>2]|0,w2=(k2|0)<(t2|0),!w2))return e[f2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=v5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,K2=(d2|0)>0,!K2)return a=1,a|0;if(H2=e[S6>>2]|0,dS(H2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[n0>>2]|0,o5=(z2|0)>0,o5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,x5=X2+(d2<<2)|0,e5=P2<<2,ea(X2|0,x5|0,e5|0)|0,Z2=e[n0>>2]|0,f5=(Z2|0)>1,f5))for(l5=1;p=e[d3>>2]|0,k5=e[O2>>2]|0,P5=k5+(l5<<2)|0,v2=e[P5>>2]|0,m5=v2+(d2<<2)|0,n5=p<<2,ea(v2|0,m5|0,n5|0)|0,L2=l5+1|0,_2=e[n0>>2]|0,C5=(L2|0)<(_2|0),C5;)l5=L2;return R5=e[v>>2]|0,e[_3>>2]=R5,d5=e[f>>2]|0,e[v>>2]=d5,e[G6>>2]=N2,D5=e[f2>>2]|0,G5=(D5|0)==0,G5?(u3=(d2|0)<0,B3=u3<<31>>31,G3=_,z5=G3,w3=e[z5>>2]|0,W5=G3+4|0,i6=W5,x3=e[i6>>2]|0,U3=js(w3|0,x3|0,d2|0,B3|0)|0,a3=H6,l3=_,c3=l3,e[c3>>2]=U3,H5=l3+4|0,U5=H5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,q2=(_5|0)<1,A=q2?-1:_5,e[f2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,x2=$5<<31>>31,Q5=_,q5=Q5,j5=e[q5>>2]|0,E5=Q5+4|0,h3=E5,J5=e[h3>>2]|0,X5=js(j5|0,J5|0,d2|0,x2|0)|0,n3=H6,m3=_,F5=m3,e[F5>>2]=X5,V5=m3+4|0,v3=V5,e[v3>>2]=n3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,B5=g2,t5=e[B5>>2]|0,s5=js(W2|0,t5|0,c5|0,S5|0)|0,h5=H6,u5=_,i5=u5,e[i5>>2]=s5,L5=u5+4|0,j2=L5,e[j2>>2]=h5,a=1,a|0))}function AS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0;if(i5=C,B=n+28|0,p=e[B>>2]|0,B1=(p|0)==0,B1||(Z1=p+8|0,P1=e[Z1>>2]|0,l2=(P1|0)<1,l2)||(F2=e[p>>2]|0,O2=(F2|0)<64,O2)||(v2=p+4|0,_5=e[v2>>2]|0,S=(_5|0)<(F2|0),S))return a=1,a|0;T=p+3656|0,X=e[T>>2]|0,J2=t,L5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(L5|0));o0=n4(1,136)|0,B0=t+104|0,e[B0>>2]=o0,Y0=t+4|0,e[Y0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,E1=Nt(n1)|0,p1=o0+44|0,e[p1>>2]=E1,Q1=n4(1,4)|0,L1=o0+12|0,e[L1>>2]=Q1,x1=n4(1,4)|0,w1=o0+16|0,e[w1>>2]=x1,b1=n4(1,20)|0,e[Q1>>2]=b1,R1=n4(1,20)|0,e[x1>>2]=R1,F1=e[p>>2]|0,G1=F1>>X,Ep(b1,G1),v1=e[w1>>2]|0,U1=e[v1>>2]|0,N1=e[v2>>2]|0,_1=N1>>X,Ep(U1,_1),V1=e[p>>2]|0,O1=Nt(V1)|0,q1=O1+-7|0,H1=o0+4|0,e[H1>>2]=q1,Y1=e[v2>>2]|0,j1=Nt(Y1)|0,n2=j1+-7|0,W1=o0+8|0,e[W1>>2]=n2,c2=(A|0)==0;e:do if(c2){if(p2=p+2848|0,C5=e[p2>>2]|0,R5=(C5|0)==0,R5&&(d5=p+24|0,D5=e[d5>>2]|0,G5=n4(D5,56)|0,e[p2>>2]=G5,q2=e[d5>>2]|0,I5=(q2|0)>0,I5)){for(m1=q2,B5=0;;){if(A5=(p+1824|0)+(B5<<2)|0,c5=e[A5>>2]|0,p5=(c5|0)==0,p5){M1=m1;break}if(g5=e[p2>>2]|0,a5=g5+(B5*56|0)|0,W2=$b(a5,c5)|0,b=(W2|0)==0,!b){u5=20;break}if(v=e[A5>>2]|0,Cp(v),e[A5>>2]=0,w=B5+1|0,D=e[d5>>2]|0,y=(w|0)<(D|0),y)m1=D,B5=w;else break e}if((u5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(p+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(Cp(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),Z0=h5+1|0,I1=(Z0|0)<(h1|0),I1;)d1=h1,h5=Z0;return oQ(t),a=-1,a|0}}else{if(z1=o0+20|0,u2=e[p>>2]|0,yQ(z1,u2),o2=o0+32|0,E2=e[v2>>2]|0,yQ(o2,E2),A2=p+2848|0,K1=e[A2>>2]|0,h2=(K1|0)==0,h2&&($2=p+24|0,i2=e[$2>>2]|0,r2=n4(i2,56)|0,e[A2>>2]=r2,a2=e[$2>>2]|0,X1=(a2|0)>0,X1&&(s2=p+1824|0,f2=e[s2>>2]|0,QQ(r2,f2)|0,t2=e[$2>>2]|0,y2=(t2|0)>1,y2)))for(w2=1;g=e[A2>>2]|0,k2=g+(w2*56|0)|0,C2=(p+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,QQ(k2,D2)|0,N2=w2+1|0,d2=e[$2>>2]|0,K2=(N2|0)<(d2|0),K2;)w2=N2;G2=p+28|0,H2=e[G2>>2]|0,M2=n4(H2,52)|0,P2=o0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=p+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(x5=e5+(g2*52|0)|0,b5=(p+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,f5=e[Z2>>2]|0,k5=p+(f5<<2)|0,P5=e[k5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,OS(x5,Z2,T1,l5,m5),n5=g2+1|0,L2=e[G2>>2]|0,_2=(n5|0)<(L2|0),!_2)break t;f=e[P2>>2]|0,e5=f,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[v2>>2]|0,x=t+16|0,e[x>>2]=_,L=n+4|0,F=e[L>>2]|0,M=F<<2,N=S9(M)|0,G=t+8|0,e[G>>2]=N,O=S9(M)|0,z=t+12|0,e[z>>2]=O,Y=(F|0)>0,Y&&(t0=n4(_,4)|0,e[N>>2]=t0,J=(F|0)>1,J))for(q=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(q<<2)|0,e[e0>>2]=W,U=q+1|0,l0=(U|0)<(F|0),l0;)q=U;if(Z=t+36|0,e[Z>>2]=0,K=t+40|0,e[K>>2]=0,$0=e[v2>>2]|0,s0=($0|0)/2&-1,r0=t+48|0,e[r0>>2]=s0,n0=t+20|0,e[n0>>2]=s0,V=p+16|0,h0=e[V>>2]|0,g0=n4(h0,4)|0,j=o0+48|0,e[j>>2]=g0,c0=p+20|0,u0=e[c0>>2]|0,I0=n4(u0,4)|0,w0=o0+52|0,e[w0>>2]=I0,C0=e[V>>2]|0,v0=(C0|0)>0,v0)for(t5=0;E0=(p+800|0)+(t5<<2)|0,b0=e[E0>>2]|0,K0=25640+(b0<<2)|0,L0=e[K0>>2]|0,Q0=L0+8|0,M0=e[Q0>>2]|0,T0=(p+1056|0)+(t5<<2)|0,G0=e[T0>>2]|0,P0=f7[M0&15](t,G0)|0,y0=e[j>>2]|0,F0=y0+(t5<<2)|0,e[F0>>2]=P0,_0=t5+1|0,N0=e[V>>2]|0,V0=(_0|0)<(N0|0),V0;)t5=_0;if(d0=e[c0>>2]|0,p0=(d0|0)>0,p0)s5=0;else return a=0,a|0;for(;;)if(J0=(p+1312|0)+(s5<<2)|0,O0=e[J0>>2]|0,z0=25648+(O0<<2)|0,U0=e[z0>>2]|0,q0=U0+8|0,r1=e[q0>>2]|0,e1=(p+1568|0)+(s5<<2)|0,D0=e[e1>>2]|0,i1=f7[r1&15](t,D0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,u1=s5+1|0,g1=e[c0>>2]|0,l1=(u1|0)<(g1|0),l1)s5=u1;else{a=0;break}return a|0}function $Q(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0;if(L0=C,C=C+64|0,g=L0,f=t+20|0,y=e[f>>2]|0,Y=y<<2,n=Y,$0=C,C=C+((1*n|0)+15&-16)|0,I0=t+28|0,e[I0>>2]=1,C0=t+48|0,v0=e[C0>>2]|0,d0=y-v0|0,p0=(d0|0)>32,!p0){C=L0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,B=e[m>>2]|0,p=(B|0)>0,!p){C=L0;return}for(S=t+8|0,b=y,B0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(B0<<2)|0,_=e[D>>2]|0,E0=0;x=E0^-1,L=b+x|0,F=_+(L<<2)|0,M=e[F>>2]|0,T=$0+(E0<<2)|0,e[T>>2]=M,N=E0+1|0,G=(b|0)>(N|0),G;)E0=N;if(O=e[C0>>2]|0,z=b-O|0,+lQ($0,g,z,16),t0=e[f>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=$0+(A<<2)|0,a=A+-16|0,e0=$0+(a<<2)|0,cQ(g,e0,16,W,J),q=e[f>>2]|0,X=(q|0)>0,X)for(U=e[S>>2]|0,l0=U+(B0<<2)|0,Z=e[l0>>2]|0,b0=0;K=$0+(b0<<2)|0,s0=e[K>>2]|0,r0=b0^-1,n0=q+r0|0,V=Z+(n0<<2)|0,e[V>>2]=s0,h0=b0+1|0,o0=(q|0)>(h0|0),o0;)b0=h0;if(g0=B0+1|0,j=e[E>>2]|0,c0=j+4|0,u0=e[c0>>2]|0,w0=(g0|0)<(u0|0),w0)b=q,B0=g0;else break}C=L0}function aS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0;a2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),l0=e[I>>2]|0,j=(l0|0)>1;e:do if(j)for(b0=t+8|0,_0=e[b0>>2]|0,g=d[_0>>0]|0,D0=g,P1=1;;){if(Z0=D0<<24>>24==0,Z0){W1=P1;break e}if(w1=_0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(y=P1+1|0,_=(y|0)<(l0|0),_)D0=m,P1=y;else{W1=y;break}}else W1=1;while(!1);x=(W1|0)==(l0|0);e:do if(x){if(U2(n,1,1),L=t+8|0,F=e[L>>2]|0,M=d[F>>0]|0,T=M<<24>>24,N=T+-1|0,U2(n,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(w=O,q1=0,z1=1;;){if(Y=e[L>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,q=d[e0>>0]|0,X=J<<24>>24>q<<24>>24,X)for(U=q<<24>>24,Z=J<<24>>24,s0=w,H1=q1,$2=U;;)if(K=z1-H1|0,$0=s0-H1|0,r0=Nt($0)|0,U2(n,K,r0),n0=$2+1|0,n2=(n0|0)==(Z|0),f=e[I>>2]|0,n2){o0=f,Y1=z1;break}else s0=f,H1=z1,$2=n0;else o0=w,Y1=q1;if(V=z1+1|0,h0=(V|0)<(o0|0),h0)w=o0,q1=Y1,z1=V;else{a=o0,O1=Y1,c2=V;break}}else a=O,O1=0,c2=1;g0=c2-O1|0,c0=a-O1|0,u0=Nt(c0)|0,U2(n,g0,u0)}else{U2(n,0,1),I0=e[I>>2]|0,w0=(I0|0)>0;t:do if(w0)for(C0=t+8|0,v0=e[C0>>2]|0,o2=0;;){if(d0=v0+o2|0,p0=d[d0>>0]|0,B0=p0<<24>>24==0,B0){u2=o2;break t}if(E0=o2+1|0,K0=(E0|0)<(I0|0),K0)o2=E0;else{u2=E0;break}}else u2=0;while(!1);if(L0=(u2|0)==(I0|0),L0){if(U2(n,0,1),Q0=e[I>>2]|0,M0=(Q0|0)>0,!M0)break;for(T0=t+8|0,E2=0;;)if(G0=e[T0>>2]|0,P0=G0+E2|0,y0=d[P0>>0]|0,Y0=y0<<24>>24,F0=Y0+-1|0,U2(n,F0,5),N0=E2+1|0,V0=e[I>>2]|0,J0=(N0|0)<(V0|0),J0)E2=N0;else break e}if(U2(n,1,1),O0=e[I>>2]|0,z0=(O0|0)>0,z0)for(U0=t+8|0,A2=0;q0=e[U0>>2]|0,r1=q0+A2|0,H0=d[r1>>0]|0,e1=H0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[U0>>2]|0,c1=i1+A2|0,$1=d[c1>>0]|0,u1=$1<<24>>24,g1=u1+-1|0,U2(n,g1,5)),l1=A2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)A2=l1}while(!1);if(n1=t+12|0,o1=e[n1>>2]|0,U2(n,o1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)r2=28;else if(I1|0)return A=-1,A|0;do if((r2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,p1=e[E1>>2]|0,U2(n,p1,32),B1=t+20|0,Q1=e[B1>>2]|0,U2(n,Q1,32),L1=t+24|0,x1=e[L1>>2]|0,b1=x1+-1|0,U2(n,b1,4),R1=t+28|0,F1=e[R1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)v1=ob(t)|0,l2=v1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,l2=N1;else break;if(_1=(l2|0)>0,_1)for(K1=0;V1=e[h1>>2]|0,B=V1+(K1<<2)|0,p=e[B>>2]|0,h2=(p|0)>-1,i2=0-p|0,S=h2?p:i2,b=e[L1>>2]|0,U2(n,S,b),v=K1+1|0,j1=(v|0)==(l2|0),!j1;)K1=v}while(!1);return A=0,A|0}function Th(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,g=(n|0)<0,g||(f=t+12|0,y=e[f>>2]|0,x=y+4|0,L=e[x>>2]|0,F=(L|0)>(n|0),!F)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(n<<2)|0,G=e[N>>2]|0,E=y+8|0,I=e[E>>2]|0,m=I+n|0,B=d[m>>0]|0,p=B<<24>>24,U2(A,G,p),S=e[f>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+n|0,D=d[w>>0]|0,_=D<<24>>24,a=_,a|0)}function rC(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0;return v=C,a=t+8|0,g=e[a>>2]|0,f=(g|0)>0,!f||(E=Nh(t,n)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,B=e[m>>2]|0,p=B+(E<<2)|0,S=e[p>>2]|0,A=S,A|0)}function $S(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0;if(j=C,m=t+8|0,B=e[m>>2]|0,F=(B|0)>0,!F)return g=0,C=j,g|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,f=U,l0=C,C=C+((1*f|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(K=t+16|0,n0=0;;){if(N=Nh(t,A)|0,G=(N|0)==-1,G){g=-1;break}if(O=e[K>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=l0+(n0<<2)|0,e[J>>2]=t0,W=n0+1|0,q=(W|0)<(X|0),q)n0=W;else{$0=z;break e}}return C=j,g|0}else $0=e0;while(!1);if(E=($0|0)<1,I=Z^1,s0=E|I,s0)return g=0,C=j,g|0;for(V=0,o0=0;;){for(h0=0;v=l0+(h0<<2)|0,w=e[v>>2]|0,D=w+(V<<2)|0,y=+s[D>>2],_=h0+o0|0,x=n+(_<<2)|0,L=+s[x>>2],M=L+y,s[x>>2]=M,T=h0+1|0,r0=(T|0)==(X|0),!r0;)h0=T;if(p=V+1|0,S=o0+X|0,b=(p|0)<($0|0),b)V=p,o0=S;else{g=0;break}}return C=j,g|0}function lS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,g0=(t0|0)>0,!g0)return g=0,g|0;if(E0=e[t>>2]|0,F0=(E0|0)>8,F0){if(x1=(a|0)>0,!x1)return g=0,g|0;for(V1=t+16|0,X1=0;;){if(Z=Nh(t,A)|0,K=(Z|0)==-1,K){g=-1,T1=29;break}if($0=e[V1>>2]|0,s0=e[t>>2]|0,r0=r5(s0,Z)|0,n0=(s0|0)>0,n0){for(V=(s0|0)>1,O2=V?s0:1,f2=X1,d2=0;h0=d2+1|0,z=d2+r0|0,o0=$0+(z<<2)|0,j=+s[o0>>2],c0=f2+1|0,u0=n+(f2<<2)|0,I0=+s[u0>>2],w0=I0+j,s[u0>>2]=w0,C0=(h0|0)<(s0|0),C0;)f2=c0,d2=h0;u2=X1+O2|0,s2=u2}else s2=X1;if(J=(s2|0)<(a|0),J)X1=s2;else{g=0,T1=29;break}}if((T1|0)==29)return g|0}if(e1=t+16|0,o1=(a|0)>0,o1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(q=Nh(t,A)|0,X=(q|0)==-1,X){g=-1,T1=29;break e}switch(U=e[e1>>2]|0,l0=e[t>>2]|0,l0|0){case 4:{p=q,y=U,T1=19;break t}case 3:{S=q,_=U,T1=21;break t}case 7:{I=q,v=U,T1=13;break t}case 6:{m=q,w=U,T1=15;break t}case 8:{f=U,E=q,T1=12;break t}case 5:{B=q,D=U,T1=17;break t}case 1:{K1=q,$2=U,N2=t2,o5=0;break t}case 2:{b=q,x=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,v0=E<<3,d0=f+(v0<<2)|0,p0=+s[d0>>2],B0=t2+1|0,b0=n+(t2<<2)|0,K0=+s[b0>>2],L0=K0+p0,s[b0>>2]=L0,T0=v0,P0=f,y2=B0,K2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,T0=Q0,P0=v,y2=t2,K2=0,T1=14):(T1|0)==15?(T1=0,J0=m*6|0,z0=J0,q0=w,k2=t2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=B*5|0,g1=$1,s1=D,w2=t2,H2=0,T1=18):(T1|0)==19?(T1=0,m1=p<<2,E1=m1,B1=y,C2=t2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=S*3|0,v1=F1,Z1=_,F2=t2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=b<<1,n2=Y1,P1=x,D2=t2,z2=0,T1=24),(T1|0)==14&&(T1=0,M0=K2+1|0,O=K2+T0|0,G0=P0+(O<<2)|0,y0=+s[G0>>2],Y0=y2+1|0,_0=n+(y2<<2)|0,N0=+s[_0>>2],V0=N0+y0,s[_0>>2]=V0,z0=T0,q0=P0,k2=Y0,G2=M0,T1=16),(T1|0)==16&&(T1=0,O0=G2+1|0,G=G2+z0|0,U0=q0+(G<<2)|0,r1=+s[U0>>2],H0=k2+1|0,D0=n+(k2<<2)|0,i1=+s[D0>>2],c1=i1+r1,s[D0>>2]=c1,g1=z0,s1=q0,w2=H0,H2=O0,T1=18),(T1|0)==18&&(T1=0,u1=H2+1|0,N=H2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,Z0=n+(w2<<2)|0,I1=+s[Z0>>2],h1=I1+a1,s[Z0>>2]=h1,E1=g1,B1=s1,C2=n1,M2=u1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,p1=B1+(T<<2)|0,Q1=+s[p1>>2],L1=C2+1|0,w1=n+(C2<<2)|0,b1=+s[w1>>2],R1=b1+Q1,s[w1>>2]=R1,v1=E1,Z1=B1,F2=L1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+v1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],_1=F2+1|0,O1=n+(F2<<2)|0,q1=+s[O1>>2],H1=q1+N1,s[O1>>2]=H1,n2=v1,P1=Z1,D2=_1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,F=z2+n2|0,W1=P1+(F<<2)|0,c2=+s[W1>>2],z1=D2+1|0,o2=n+(D2<<2)|0,E2=+s[o2>>2],A2=E2+c2,s[o2>>2]=A2,K1=n2,$2=P1,N2=z1,o5=j1),L=o5+K1|0,h2=$2+(L<<2)|0,i2=+s[h2>>2],l2=N2+1|0,r2=n+(N2<<2)|0,a2=+s[r2>>2],W=a2+i2,s[r2>>2]=W,e0=(l2|0)<(a|0),e0)t2=l2;else{g=0,T1=29;break}}return(T1|0)==29?g|0:0}function cS(t,n,A,a,g,f){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0;if(g0=C,p=t+8|0,S=e[p>>2]|0,T=(S|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=f+A|0,q=(e0|0)/(a|0)&-1,X=(W|0)<(q|0),!X))return I=0,I|0;for(U=t+16|0,K=0,r0=W;;){if(Z=Nh(t,g)|0,b=(Z|0)==-1,b){I=-1,o0=8;break}if(v=e[U>>2]|0,w=e[t>>2]|0,D=r5(w,Z)|0,y=(w|0)>0,y)for(s0=K,V=r0,h0=0;;)if(B=h0+D|0,_=v+(B<<2)|0,x=+s[_>>2],L=s0+1|0,F=n+(s0<<2)|0,M=e[F>>2]|0,N=M+(V<<2)|0,G=+s[N>>2],O=G+x,s[N>>2]=O,z=(L|0)==(a|0),Y=z&1,m=Y+V|0,E=z?0:L,t0=h0+1|0,J=(t0|0)<(w|0),J)s0=E,V=m,h0=t0;else{$0=E,n0=m;break}else $0=K,n0=r0;if(l0=(n0|0)<(q|0),l0)K=$0,r0=n0;else{I=0,o0=8;break}}return(o0|0)==8?I|0:0}function Nh(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0;h1=C,g=t+40|0,f=e[g>>2]|0,y=t+36|0,Y=e[y>>2]|0,$0=up(n,Y)|0,I0=($0|0)>-1;do if(I0){if(Q0=t+32|0,J0=e[Q0>>2]|0,c1=J0+($0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,B=t+8|0,p=e[B>>2]|0,S=$1&32767,b=p-S|0,u1=b,l1=m;break}return v=$1+-1|0,w=t+28|0,D=e[w>>2]|0,_=D+v|0,x=d[_>>0]|0,L=x<<24>>24,fp(n,L),A=v,A|0}else F=t+8|0,M=e[F>>2]|0,u1=M,l1=0;while(!1);if(T=up(n,f)|0,N=(T|0)<0,G=(f|0)>1,O=N&G,O)for(Z0=f;;)if(z=Z0+-1|0,t0=up(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)Z0=z;else{a=J,n1=t0,o1=z;break}else a=N,n1=T,o1=f;if(a)return A=-1,A|0;if(q=n1>>>16,X=n1<<16,U=q|X,l0=U>>>8,Z=l0&16711935,K=U<<8,s0=K&-16711936,r0=Z|s0,n0=r0>>>4,V=n0&252645135,h0=r0<<4,o0=h0&-252645136,g0=V|o0,j=g0>>>2,c0=j&858993459,u0=g0<<2,w0=u0&-858993460,C0=c0|w0,v0=C0>>>1,d0=v0&1431655765,p0=C0<<1,B0=p0&-1431655766,E0=d0|B0,b0=u1-l1|0,K0=(b0|0)>1,K0)for(L0=t+20|0,M0=e[L0>>2]|0,G0=b0,g1=u1,a1=l1;;)if(T0=G0>>1,P0=T0+a1|0,y0=M0+(P0<<2)|0,Y0=e[y0>>2]|0,F0=Y0>>>0>E0>>>0,_0=F0?0:T0,N0=_0+a1|0,V0=F0?T0:0,O0=g1-V0|0,z0=O0-N0|0,U0=(z0|0)>1,U0)G0=z0,g1=O0,a1=N0;else{s1=N0;break}else s1=l1;return q0=t+28|0,r1=e[q0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,D0=e1<<24>>24,i1=(D0|0)>(o1|0),i1?(fp(n,o1),A=-1,A|0):(fp(n,D0),A=s1,A|0)}function gS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;for(c1=C,B=n+28|0,p=e[B>>2]|0,M=n+4|0,q=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,p0=t+8|0,e[p0>>2]=64,y0=p+2932|0,J0=e[y0>>2]|0,O0=t+12|0,e[O0>>2]=J0,e[t>>2]=q,z0=t+164|0,e[z0>>2]=128,S=p+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=n4(128,4)|0,y=t+36|0,e[y>>2]=D,_=t+16|0,Ep(_,128),x=e[y>>2]|0,H0=0;L=+(H0|0),F=L*.024736950028266088,T=+Pn(+F),N=T,G=x+(H0<<2)|0,O=N*N,s[G>>2]=O,z=H0+1|0,r1=(z|0)==128,!r1;)H0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,l0=t+92|0,e[l0>>2]=8,Z=t+104|0,e[Z>>2]=13,K=t+108|0,e[K>>2]=8,$0=t+120|0,e[$0>>2]=17,s0=t+124|0,e[s0>>2]=8,r0=t+136|0,e[r0>>2]=22,n0=t+140|0,e[n0>>2]=8,o0=4,D0=0;;){if(V=o0<<2,g0=S9(V)|0,j=((t+40|0)+(D0<<4)|0)+8|0,e[j>>2]=g0,c0=(o0|0)>0,c0){for(u0=+(o0|0),I0=((t+40|0)+(D0<<4)|0)+12|0,m=+s[I0>>2],L0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,v0=C0/u0,d0=v0*3.141592653589793,B0=+Pn(+d0),E0=B0,b0=g0+(e1<<2)|0,s[b0>>2]=E0,K0=L0+E0,Q0=e1+1|0,U0=(Q0|0)==(o0|0),U0){A=K0;break}else L0=K0,e1=Q0;s[I0>>2]=A,E=I0,T0=A}else g=((t+40|0)+(D0<<4)|0)+12|0,I=+s[g>>2],E=g,T0=I;if(M0=1/T0,s[E>>2]=M0,G0=D0+1|0,q0=(G0|0)==7,q0)break;a=((t+40|0)+(G0<<4)|0)+4|0,f=e[a>>2]|0,o0=f,D0=G0}P0=q*7|0,Y0=n4(P0,144)|0,F0=t+152|0,e[F0>>2]=Y0,_0=e[z0>>2]|0,N0=n4(_0,4)|0,V0=t+160|0,e[V0>>2]=N0}function hS(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0;N=C,n=t+16|0,mp(n),A=t+48|0,v=e[A>>2]|0,I2(v),D=t+64|0,y=e[D>>2]|0,I2(y),_=t+80|0,x=e[_>>2]|0,I2(x),L=t+96|0,F=e[L>>2]|0,I2(F),M=t+112|0,a=e[M>>2]|0,I2(a),g=t+128|0,f=e[g>>2]|0,I2(f),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,B=e[m>>2]|0,I2(B),p=t+152|0,S=e[p>>2]|0,I2(S),b=t+160|0,w=e[b>>2]|0,I2(w),ae(t|0,0,180)|0}function uS(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,f=t+4|0,E=e[f>>2]|0,F=E+28|0,e0=e[F>>2]|0,V=e0+2868|0,d0=t+104|0,P0=e[d0>>2]|0,q0=e[P0>>2]|0,s1=q0+168|0,B1=e[s1>>2]|0,I=q0+8|0,S=e[I>>2]|0,b=(B1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,_=(b|0)<0,n=_?0:b,x=D+2|0,L=q0+164|0,M=e[L>>2]|0,T=(x|0)>(M|0),T&&(e[L>>2]=x,N=q0+160|0,G=e[N>>2]|0,O=x<<2,z=Yi(G,O)|0,e[N>>2]=z),Y=(n|0)<(y|0),Y)for(t0=q0+156|0,J=q0+160|0,W=t+8|0,q=q0+40|0,X=q0+152|0,_1=n;;){if(U=e[t0>>2]|0,l0=U+1|0,Z=(U|0)>23,a=Z?24:l0,e[t0>>2]=a,K=e[q0>>2]|0,$0=(K|0)>0,$0){for(N1=0,H1=0;;)if(h0=e[W>>2]|0,o0=h0+(N1<<2)|0,g0=e[o0>>2]|0,j=e[I>>2]|0,c0=r5(j,_1)|0,u0=g0+(c0<<2)|0,I0=e[X>>2]|0,w0=N1*7|0,C0=I0+(w0*144|0)|0,v0=IS(q0,V,u0,q,C0)|0,p0=v0|H1,B0=N1+1|0,E0=e[q0>>2]|0,b0=(B0|0)<(E0|0),b0)N1=B0,H1=p0;else{g=p0;break}K0=_1+2|0,L0=e[J>>2]|0,Q0=L0+(K0<<2)|0,e[Q0>>2]=0,M0=g&1,T0=(M0|0)==0,T0||(G0=L0+(_1<<2)|0,e[G0>>2]=1,y0=_1+1|0,Y0=L0+(y0<<2)|0,e[Y0>>2]=1),F0=g&2,_0=(F0|0)==0,_0||(N0=L0+(_1<<2)|0,e[N0>>2]=1,V0=(_1|0)>0,V0&&(J0=_1+-1|0,O0=L0+(J0<<2)|0,e[O0>>2]=1)),z0=g&4,U0=(z0|0)==0,U0||(e[t0>>2]=-1)}else s0=_1+2|0,r0=e[J>>2]|0,n0=r0+(s0<<2)|0,e[n0>>2]=0;if(r1=_1+1|0,Z1=(r1|0)==(y|0),Z1)break;_1=r1}if(H0=e[I>>2]|0,e1=r5(H0,y)|0,e[s1>>2]=e1,D0=t+48|0,i1=e[D0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,u1=e0+($1<<2)|0,g1=e[u1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,o1=e[n1>>2]|0,Z0=(o1|0)/2&-1,I1=a1+Z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=q0+176|0,p1=e[E1>>2]|0,Q1=e1-H0|0,L1=(p1|0)<(Q1|0),!L1)return A=-1,A|0;for(x1=q0+160|0,V1=p1;;){if(R1=(V1|0)<(d1|0),!R1){A=1,Y1=22;break}if(e[E1>>2]=V1,F1=(V1|0)/(H0|0)&-1,G1=e[x1>>2]|0,v1=G1+(F1<<2)|0,U1=e[v1>>2]|0,m=(U1|0)!=0,B=(V1|0)>(i1|0),q1=B&m,w1=H0+V1|0,q1){O1=V1,Y1=21;break}if(b1=(w1|0)<(Q1|0),b1)V1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(p=q0+172|0,e[p>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function fS(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0;if(p0=C,g=t+104|0,f=e[g>>2]|0,y=e[f>>2]|0,Y=t+4|0,$0=e[Y>>2]|0,o0=$0+28|0,g0=e[o0>>2]|0,j=t+48|0,c0=e[j>>2]|0,u0=t+40|0,E=e[u0>>2]|0,I=g0+(E<<2)|0,m=e[I>>2]|0,B=(m|0)/4&-1,p=c0-B|0,S=B+c0|0,b=(E|0)==0,b?(G=e[g0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(v=t+36|0,w=e[v>>2]|0,D=g0+(w<<2)|0,_=e[D>>2]|0,x=(_|0)/4&-1,L=t+44|0,F=e[L>>2]|0,M=g0+(F<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=x),I0=p-a|0,w0=S+A|0,z=y+172|0,t0=e[z>>2]|0,J=(t0|0)>=(I0|0),W=(t0|0)<(w0|0),v0=J&W,v0)return n=1,n|0;if(e0=y+8|0,q=e[e0>>2]|0,X=(I0|0)/(q|0)&-1,U=(w0|0)/(q|0)&-1,l0=(X|0)<(U|0),!l0)return n=0,n|0;for(Z=y+160|0,K=e[Z>>2]|0,C0=X;;){if(n0=K+(C0<<2)|0,V=e[n0>>2]|0,h0=(V|0)==0,s0=C0+1|0,!h0){n=1,d0=9;break}if(r0=(s0|0)<(U|0),r0)C0=s0;else{n=0,d0=9;break}}return(d0|0)==9?n|0:0}function dS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0;if(G=C,A=t+168|0,a=e[A>>2]|0,w=t+8|0,y=e[w>>2]|0,_=(a|0)/(y|0)&-1,x=_+2|0,L=(n|0)/(y|0)&-1,F=t+160|0,M=e[F>>2]|0,T=M+(L<<2)|0,g=x-L|0,f=g<<2,ea(M|0,T|0,f|0)|0,E=e[A>>2]|0,I=E-n|0,e[A>>2]=I,m=t+172|0,B=e[m>>2]|0,p=(B|0)>-1,!p){b=t+176|0,v=e[b>>2]|0,D=v-n|0,e[b>>2]=D;return}S=B-n|0,e[m>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-n|0,e[b>>2]=D}function IS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,l2=t+12|0,F2=+s[l2>>2],O2=t0<<2,_=O2,v2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,x2=(g2|0)>5,F5=(g2|0)/2&-1,f=x2?F5:2,J=n+60|0,r0=+s[J>>2],C0=F5+-2|0,T0=+(C0|0),z0=r0-T0,g1=z0<0,u6=g1?0:z0,E1=u6>r0,Q3=E1?r0:u6,v1=(t0|0)>0,v1)for(n2=t+36|0,$2=e[n2>>2]|0,O5=0;r2=A+(O5<<2)|0,a2=+s[r2>>2],X1=$2+(O5<<2)|0,s2=+s[X1>>2],f2=s2*a2,t2=v2+(O5<<2)|0,s[t2>>2]=f2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;k2=t+16|0,gQ(k2,v2,v2),w2=+s[v2>>2],C2=w2*w2,D2=C2,N2=v2+4|0,d2=+s[N2>>2],K2=d2,G2=K2*K2,H2=G2*.7,M2=H2+D2,P2=v2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,x5=M2+X2,e5=x5,b5=g+140|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5?(k5=g+136|0,P5=+s[k5>>2],l5=P5+e5,m5=g+132|0,s[m5>>2]=l5,s[k5>>2]=e5,T=m5,q2=l5):(n5=g+132|0,L2=+s[n5>>2],_2=L2+e5,s[n5>>2]=_2,p2=g+136|0,C5=+s[p2>>2],R5=C5+e5,s[p2>>2]=R5,T=n5,q2=_2),d5=(g+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=q2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,p5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=q2*.0625,g5=(s[B2>>2]=S5,e[B2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),B5=W2*7177114298428933e-22,t5=B5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,u5=J2,x=u5,M0=w2,v5=0;;){if(Q0=M0*M0,G0=v5|1,P0=v2+(G0<<2)|0,y0=+s[P0>>2],Y0=y0*y0,F0=Y0+Q0,_0=(s[B2>>2]=F0,e[B2>>2]|0),N0=_0&2147483647,V0=+(N0>>>0),J0=V0*35885571492144663e-23,O0=J0+-382.30810546875,U0=O0>1,H0=v2+(r1<<2)|0,s[H0>>2]=z,e1=v5+2|0,D0=(e1|0)<(p5|0),!D0)break e;i1=x+-8,F=v2+(e1<<2)|0,M=+s[F>>2],x=i1,M0=M,v5=e1}while(!1);if(i5=(f|0)>0,i5)A3=0,O3=0;else{for(e3=0,j3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,u1=($1|0)>0,u1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,P3=0;;)if(o1=s1+P3|0,Z0=v2+(o1<<2)|0,I1=+s[Z0>>2],h1=n1+(P3<<2)|0,m1=+s[h1>>2],d1=m1*I1,p1=d1+a3,B1=P3+1|0,Q1=(B1|0)<($1|0),Q1)a3=p1,P3=B1;else{x3=p1;break}else x3=0;if(L1=(a+(e3<<4)|0)+12|0,x1=+s[L1>>2],w1=x1*x3,b1=(g+(e3*144|0)|0)+68|0,R1=e[b1>>2]|0,F1=(R1|0)<1,B=F1?16:-1,I=B+R1|0,G1=(g+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,S=_1?U1:w1,V1=S+-99999,O1=N1+99999,q1=(g+(e3*144|0)|0)+(R1<<2)|0,s[q1>>2]=w1,H1=e[b1>>2]|0,Y1=H1+1|0,j1=(H1|0)>15,D=j1?0:Y1,e[b1>>2]=D,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+Q3,z1=O1>c2,u2=j3|5,K5=z1?u2:j3,o2=(n+32|0)+(e3<<2)|0,E2=+s[o2>>2],A2=E2-Q3,K1=V1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,s0=e[w0>>2]|0,v0=(a+(A3<<4)|0)+8|0,o0=e[v0>>2]|0,l3=0,M5=0;;)if($0=s0+M5|0,n0=v2+($0<<2)|0,V=+s[n0>>2],h0=o0+(M5<<2)|0,g0=+s[h0>>2],j=g0*V,c0=j+l3,u0=M5+1|0,I0=(u0|0)<(j2|0),I0)l3=c0,M5=u0;else{U3=c0;break}else U3=0;for(d0=(a+(A3<<4)|0)+12|0,p0=+s[d0>>2],h3=p0*U3,X5=(g+(A3*144|0)|0)+68|0,f3=e[X5>>2]|0,B0=(f3|0)<1,p=B0?16:-1,m=p+f3|0,E0=(g+(A3*144|0)|0)+(m<<2)|0,b0=+s[E0>>2],K0=h3b0,b=L0?b0:h3,o6=0,R3=m,k3=-99999,y3=99999;;)if(e0=(R3|0)<1,w=e0?16:-1,v=w+R3|0,q=(g+(A3*144|0)|0)+(v<<2)|0,X=+s[q>>2],U=k3X,N=Z?X:y3,K=o6+1|0,H5=(K|0)==(f|0),H5){L=l0,G=N;break}else o6=K,R3=v,k3=l0,y3=N;if(Q5=b-G,q5=j5-L,E5=(g+(A3*144|0)|0)+(f3<<2)|0,s[E5>>2]=h3,J5=e[X5>>2]|0,n3=J5+1|0,m3=(J5|0)>15,y=m3?0:n3,e[X5>>2]=y,V5=(n+4|0)+(A3<<2)|0,v3=+s[V5>>2],u3=v3+Q3,B3=q5>u3,z3=O3|5,S3=B3?z3:O3,G3=(n+32|0)+(A3<<2)|0,z5=+s[G3>>2],w3=z5-Q3,W5=Q5>2]|0,C2=n+1288|0,X3=e[C2>>2]|0,M3=n+1284|0,E6=e[M3>>2]|0,E9=(E6|0)>0,E9){for(u8=0;X4=B4+(u8<<2)|0,e[X4>>2]=-200,pe=u8+1|0,Be=(pe|0)==(E6|0),!Be;)u8=pe;if(E9){for(J3=0;f4=c4+(J3<<2)|0,e[f4>>2]=-200,W=J3+1|0,l4=(W|0)==(E6|0),!l4;)J3=W;if(E9){for(n0=E6<<2,ae(N8|0,0,n0|0)|0,w9=0;v0=De+(w9<<2)|0,e[v0>>2]=1,G0=w9+1|0,Ue=(G0|0)==(E6|0),!Ue;)w9=G0;if(E9){if(l1=E6<<2,ae(j8|0,-1,l1|0)|0,p1=(E6|0)>1,!p1)return re=0,C=e4,re|0;for(U1=X3+-1|0,W1=J+1112|0,i2=E6+-1|0,M=e[n>>2]|0,C4=M,p9=0,Qe=0;;){b4=p9+1|0,D4=n+(b4<<2)|0,x4=e[D4>>2]|0,T4=P6+(p9*56|0)|0,Me=T4,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[T4>>2]=C4,N4=(P6+(p9*56|0)|0)+4|0,e[N4>>2]=x4,U9=(x4|0)<(X3|0),rt=U9?x4:U1,G4=(rt|0)<(C4|0),G4)k8=0,tt=0,D8=0,_8=0,m8=0,Fe=0,nt=0,H9=0,z8=0,x8=0,Ht=0,Yt=0;else for(v4=C4,f8=0,Pe=0,q4=0,j9=0,ye=0,A8=0,I3=0,D9=0,$8=0,B9=0,lt=0,R8=0;;){a4=a+(v4<<2)|0,O=+s[a4>>2],R4=O*7.314285755157471,u4=R4+1023.5,Ce=~~u4,q9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,S=q9?1023:E,Ne=(S|0)==0;do if(Ne)Y8=f8,i8=Pe,n8=q4,E8=j9,qe=ye,Q4=A8,p8=I3,V8=D9,Y4=$8,Ve=B9,oe=lt,Z8=R8;else if(Xe=A+(v4<<2)|0,U4=+s[Xe>>2],Ge=+s[W1>>2],P4=Ge+U4,ee=!(P4>=O),ee){le=v4+A8|0,W9=S+R8|0,ce=r5(v4,v4)|0,ge=ce+j9|0,p4=r5(S,S)|0,e0=p4+B9|0,q=r5(S,v4)|0,X=q+D9|0,U=Pe+1|0,Y8=f8,i8=U,n8=q4,E8=ge,qe=ye,Q4=le,p8=I3,V8=X,Y4=$8,Ve=e0,oe=lt,Z8=W9;break}else{be=v4+ye|0,e8=S+lt|0,Z9=r5(v4,v4)|0,$e=Z9+q4|0,_6=r5(S,S)|0,O4=_6+$8|0,R9=r5(S,v4)|0,$4=R9+I3|0,_4=f8+1|0,Y8=_4,i8=Pe,n8=$e,E8=j9,qe=be,Q4=A8,p8=$4,V8=D9,Y4=O4,Ve=B9,oe=e8,Z8=R8;break}while(!1);if(l0=v4+1|0,Z=(v4|0)<(rt|0),Z)v4=l0,f8=Y8,Pe=i8,q4=n8,j9=E8,ye=qe,A8=Q4,I3=p8,D9=V8,$8=Y4,B9=Ve,lt=oe,R8=Z8;else{k8=Y8,tt=i8,D8=n8,_8=E8,m8=qe,Fe=Q4,nt=p8,H9=V8,z8=Y4,x8=Ve,Ht=oe,Yt=Z8;break}}if(K=(P6+(p9*56|0)|0)+8|0,e[K>>2]=m8,$0=(P6+(p9*56|0)|0)+12|0,e[$0>>2]=Ht,s0=(P6+(p9*56|0)|0)+16|0,e[s0>>2]=D8,r0=(P6+(p9*56|0)|0)+20|0,e[r0>>2]=z8,V=(P6+(p9*56|0)|0)+24|0,e[V>>2]=nt,h0=(P6+(p9*56|0)|0)+28|0,e[h0>>2]=k8,o0=(P6+(p9*56|0)|0)+32|0,e[o0>>2]=Fe,g0=(P6+(p9*56|0)|0)+36|0,e[g0>>2]=Yt,j=(P6+(p9*56|0)|0)+40|0,e[j>>2]=_8,c0=(P6+(p9*56|0)|0)+44|0,e[c0>>2]=x8,u0=(P6+(p9*56|0)|0)+48|0,e[u0>>2]=H9,I0=(P6+(p9*56|0)|0)+52|0,e[I0>>2]=tt,w0=k8+Qe|0,g6=(b4|0)==(i2|0),g6){dt=w0;break}else C4=x4,p9=b4,Qe=w0}}else Ie=9}else Ie=9}else Ie=9}else Ie=9;if((Ie|0)==9){if(U0=(E6|0)==0,!U0)return re=0,C=e4,re|0;F2=P6+4|0,Me=P6,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[F2>>2]=X3,O2=(X3|0)<1,O2)q8=0,et=0,J8=0,I8=0,o8=0,X9=0,C8=0,ne=0,At=0,at=0,Gt=0,Ut=0;else for(v2=J+1112|0,g4=0,S8=0,d8=0,r8=0,ue=0,fe=0,de=0,H4=0,se=0,a8=0,Je=0,Dt=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,x2=g2+1023.5,F5=~~x2,x3=(F5|0)>1023,M5=(F5|0)<0,f=M5?0:F5,p=x3?1023:f,O3=(p|0)==0;do if(O3)H8=S8,xe=d8,Re=r8,s8=ue,Oe=fe,we=de,He=H4,Ye=se,L8=a8,$t=Je,_t=Dt,Lt=l8;else if(c6=A+(g4<<2)|0,Y3=+s[c6>>2],n6=+s[v2>>2],s9=n6+Y3,R6=!(s9>=G),R6){u9=g4+de|0,f9=p+l8|0,d9=r5(g4,g4)|0,a9=d9+ue|0,$9=r5(p,p)|0,T9=$9+Je|0,T6=r5(p,g4)|0,i9=T6+se|0,N9=d8+1|0,H8=S8,xe=N9,Re=r8,s8=a9,Oe=fe,we=u9,He=H4,Ye=i9,L8=a8,$t=T9,_t=Dt,Lt=f9;break}else{U6=g4+fe|0,D6=p+Dt|0,z6=r5(g4,g4)|0,y6=z6+r8|0,F6=r5(p,p)|0,M6=F6+a8|0,t9=r5(p,g4)|0,A9=t9+H4|0,X6=S8+1|0,H8=X6,xe=d8,Re=y6,s8=ue,Oe=U6,we=de,He=A9,Ye=se,L8=M6,$t=Je,_t=D6,Lt=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(X3|0),C9){q8=H8,et=xe,J8=Re,I8=s8,o8=Oe,X9=we,C8=He,ne=Ye,At=L8,at=$t,Gt=_t,Ut=Lt;break}else g4=I9,S8=H8,d8=xe,r8=Re,ue=s8,fe=Oe,de=we,H4=He,se=Ye,a8=L8,Je=$t,Dt=_t,l8=Lt}E4=P6+8|0,e[E4>>2]=o8,o4=P6+12|0,e[o4>>2]=Gt,h4=P6+16|0,e[h4>>2]=J8,G9=P6+20|0,e[G9>>2]=At,z9=P6+24|0,e[z9>>2]=C8,b9=P6+28|0,e[b9>>2]=q8,q6=P6+32|0,e[q6>>2]=X9,r9=P6+36|0,e[r9>>2]=Ut,m4=P6+40|0,e[m4>>2]=I8,S4=P6+44|0,e[S4>>2]=at,A4=P6+48|0,e[A4>>2]=ne,y9=P6+52|0,e[y9>>2]=et,dt=q8}if(C0=(dt|0)==0,C0)return re=0,C=e4,re|0;e[ot>>2]=-200,e[K8>>2]=-200,d0=E6+-1|0,dp(P6,d0,ot,K8,J)|0,p0=e[ot>>2]|0,e[B4>>2]=p0,e[c4>>2]=p0,B0=e[K8>>2]|0,E0=c4+4|0,e[E0>>2]=B0,b0=B4+4|0,e[b0>>2]=B0,K0=(E6|0)>2;do if(K0){L0=J+1112|0,Q0=J+1096|0,M0=J+1100|0,T0=J+1104|0,M4=2;e:for(;;){P0=(n+520|0)+(M4<<2)|0,y0=e[P0>>2]|0,Y0=N8+(y0<<2)|0,F0=e[Y0>>2]|0,_0=De+(y0<<2)|0,N0=e[_0>>2]|0,V0=j8+(F0<<2)|0,J0=e[V0>>2]|0,O0=(J0|0)==(N0|0);t:do if(!O0){if(z0=(n+520|0)+(F0<<2)|0,q0=e[z0>>2]|0,r1=(n+520|0)+(N0<<2)|0,H0=e[r1>>2]|0,e[V0>>2]=N0,e1=(J+836|0)+(F0<<2)|0,D0=e[e1>>2]|0,i1=(J+836|0)+(N0<<2)|0,c1=e[i1>>2]|0,$1=B4+(F0<<2)|0,u1=e[$1>>2]|0,g1=(u1|0)<0,s1=c4+(F0<<2)|0,a1=e[s1>>2]|0,g1?w=a1:(n1=(a1|0)<0,n1?w=u1:(o1=a1+u1|0,Z0=o1>>1,w=Z0)),I1=B4+(N0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(N0<<2)|0,E1=e[d1>>2]|0,m1?y=E1:(B1=(E1|0)<0,B1?y=h1:(Q1=E1+h1|0,L1=Q1>>1,y=L1)),x1=(w|0)==-1,w1=(y|0)==-1,St=x1|w1,St){Ie=38;break e}b1=y-w|0,R1=c1-D0|0,Le=(b1|0)>-1,v9=0-b1|0,F1=Le?b1:v9,G1=(b1|0)/(R1|0)&-1,v1=b1>>31,Z1=v1|1,N1=a+(D0<<2)|0,Y=+s[N1>>2],_1=Y*7.314285755157471,V1=_1+1023.5,O1=~~V1,q1=(O1|0)>1023,H1=(O1|0)<0,I=H1?0:O1,b=q1?1023:I,Y1=r5(G1,R1)|0,gt=(Y1|0)>-1,ft=0-Y1|0,j1=gt?Y1:ft,n2=F1-j1|0,P1=w-b|0,c2=r5(P1,P1)|0,z1=A+(D0<<2)|0,u2=+s[z1>>2],o2=+s[L0>>2],E2=o2+u2,A2=!(E2>=Y),A2?Ie=42:(K1=+(w|0),h2=+s[Q0>>2],$2=h2+K1,l2=+(b|0),r2=$2>2],X1=K1-a2,s2=X1>l2,s2||(Ie=42)));i:do if((Ie|0)==42){if(Ie=0,f2=D0+1|0,t2=(f2|0)<(c1|0),t2)for(d2=f2,te=0,kt=c2,O8=1,It=w;;){if(y2=te+n2|0,k2=(y2|0)<(R1|0),w2=k2?0:Z1,D2=k2?0:R1,F4=y2-D2|0,F=It+G1|0,st=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],K2=z*7.314285755157471,G2=K2+1023.5,H2=~~G2,M2=(H2|0)>1023,P2=(H2|0)<0,m=P2?0:H2,D=M2?1023:m,z2=st-D|0,o5=r5(z2,z2)|0,T1=o5+kt|0,X2=O8+1|0,x5=A+(d2<<2)|0,e5=+s[x5>>2],b5=e5+o2,Z2=b5>=z,f5=(D|0)!=0,it=Z2&f5,it&&(k5=+(st|0),P5=+s[Q0>>2],l5=P5+k5,m5=+(D|0),n5=l5>2],_2=k5-L2,p2=_2>m5,p2)))break i;if(C5=d2+1|0,R5=(C5|0)<(c1|0),R5)d2=C5,te=F4,kt=T1,O8=X2,It=st;else{X8=T1,P8=X2;break}}else X8=c2,P8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(P8|0),q2=D5/G5,I5=+s[T0>>2],A5=q2>I5,!A5&&(c5=+s[M0>>2],p5=c5*c5,M1=p5/G5,S5=M1>I5,!S5&&(g5=(X8|0)/(P8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=B4+(M4<<2)|0,e[l3>>2]=-200,c3=c4+(M4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[G8>>2]=-200,e[U8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,B5=P6+(q0*56|0)|0,t5=y0-q0|0,s5=dp(B5,t5,G8,U8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,u5=dp(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[G8>>2]=w,L5=e[_e>>2]|0,e[U8>>2]=L5),j2=(u5|0)==0,!j2&&($5=e[U8>>2]|0,e[_e>>2]=$5,e[t8>>2]=y,i5)){Q5=B4+(M4<<2)|0,e[Q5>>2]=-200,q5=c4+(M4<<2)|0,e[q5>>2]=-200;break}if(j5=e[G8>>2]|0,e[s1>>2]=j5,E5=(F0|0)==0,E5&&(e[B4>>2]=j5),f3=e[U8>>2]|0,h3=B4+(M4<<2)|0,e[h3>>2]=f3,J5=e[_e>>2]|0,X5=c4+(M4<<2)|0,e[X5>>2]=J5,n3=e[t8>>2]|0,e[I1>>2]=n3,m3=(N0|0)==1,m3&&(e[E0>>2]=n3),V5=J5&f3,v3=(V5|0)>-1,v3){u3=(y0|0)>0;i:do if(u3)for(W8=y0;;){if(vt=W8+-1|0,z3=De+(vt<<2)|0,G3=e[z3>>2]|0,z5=(G3|0)==(N0|0),!z5)break i;if(e[z3>>2]=M4,w3=(W8|0)>1,w3)W8=vt;else break}while(!1);if(ut=y0+1|0,B3=(ut|0)<(E6|0),B3)for(T8=ut;;){if(W5=N8+(T8<<2)|0,i6=e[W5>>2]|0,U3=(i6|0)==(F0|0),!U3)break t;if(e[W5>>2]=M4,ht=T8+1|0,a3=(ht|0)<(E6|0),a3)T8=ht;else break}}}while(!1);if(C3=M4+1|0,H5=(C3|0)<(E6|0),H5)M4=C3;else{Ie=68;break}}if((Ie|0)==38)Gk(1);else if((Ie|0)==68){T=e[B4>>2]|0,N=e[c4>>2]|0,v5=T,o6=N;break}}else v5=p0,o6=p0;while(!1);if(U5=E6<<2,O5=qt(t,U5)|0,P3=(v5|0)<0,P3?v=o6:(e3=(o6|0)<0,e3?v=v5:(A3=o6+v5|0,R3=A3>>1,v=R3)),e[O5>>2]=v,u6=e[b0>>2]|0,Q3=(u6|0)<0,k3=e[E0>>2]|0,Q3?x=k3:(y3=(k3|0)<0,y3?x=u6:(r6=k3+u6|0,j3=r6>>1,x=j3)),K5=O5+4|0,e[K5>>2]=x,K0)ie=2;else return re=O5,C=e4,re|0;for(;;)if(S3=ie+-2|0,g3=(n+1032|0)+(S3<<2)|0,q3=e[g3>>2]|0,l6=(n+780|0)+(S3<<2)|0,d3=e[l6>>2]|0,v6=(J+836|0)+(q3<<2)|0,k6=e[v6>>2]|0,S6=(J+836|0)+(d3<<2)|0,p6=e[S6>>2]|0,B6=O5+(q3<<2)|0,L6=e[B6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,b3=(J+836|0)+(ie<<2)|0,e6=e[b3>>2]|0,t6=L6&32767,f6=C6&32767,H3=f6-t6|0,D3=p6-k6|0,ct=(H3|0)>-1,b8=0-H3|0,Z3=ct?H3:b8,b6=e6-k6|0,A6=r5(Z3,b6)|0,t3=(A6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,L=O6?s3:t3,_=L+t6|0,a6=B4+(ie<<2)|0,d6=e[a6>>2]|0,_3=(d6|0)<0,N6=c4+(ie<<2)|0,Q6=e[N6>>2]|0,_3?B=Q6:(x6=(Q6|0)<0,x6?B=d6:(K6=Q6+d6|0,I6=K6>>1,B=I6)),J6=(B|0)<0,F3=(_|0)==(B|0),bt=J6|F3,j6=_|32768,g=bt?j6:B,G6=O5+(ie<<2)|0,e[G6>>2]=g,e9=ie+1|0,he=(e9|0)==(E6|0),he){re=O5;break}else ie=e9;return C=e4,re|0}function M8(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0;if($0=C,f=n+1284|0,E=e[f>>2]|0,_=(A|0)!=0,z=(a|0)!=0,l0=_&z,!l0)return Z=0,Z|0;if(Y=E<<2,t0=qt(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-g|0,U=0;;)if(e0=A+(U<<2)|0,q=e[e0>>2]|0,I=q&32767,m=r5(I,W)|0,B=a+(U<<2)|0,p=e[B>>2]|0,S=p&32767,b=r5(S,g)|0,v=m+32768|0,w=v+b|0,D=w>>16,y=t0+(U<<2)|0,e[y>>2]=D,x=e[e0>>2]|0,L=x&32768,F=(L|0)==0,F||(M=e[B>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[y>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function ES(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;if(M6=C,C=C+336|0,R6=M6+64|0,g3=M6+32|0,F3=M6,D=A+1296|0,y=e[D>>2]|0,h2=A+1284|0,L2=e[h2>>2]|0,A5=n+64|0,s5=e[A5>>2]|0,j5=s5+4|0,u3=e[j5>>2]|0,l3=u3+28|0,A3=e[l3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,s0=(a|0)==0,s0)return U2(t,0,1),x5=n+36|0,e5=e[x5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,ae(g|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(L2|0)>0,w0)for(M0=y+832|0,f6=0;O0=a+(f6<<2)|0,u1=e[O0>>2]|0,d1=u1&32767,G1=e[M0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?($2=d1>>>3,U6=$2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,f5=u1&32768,k5=f5|U6,e[O0>>2]=k5,P5=f6+1|0,C6=(P5|0)==(L2|0),!C6;)f6=P5;if(l5=e[a>>2]|0,e[R6>>2]=l5,v2=a+4|0,m5=e[v2>>2]|0,n5=R6+4|0,e[n5>>2]=m5,_2=(L2|0)>2,p2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,R5=(A+1032|0)+(C5<<2)|0,d5=e[R5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(y+836|0)+(d5<<2)|0,q2=e[_5>>2]|0,I5=(y+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,p5=a+(d5<<2)|0,M1=e[p5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(y+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,B5=g5&32767,t5=B5-g2|0,h5=c5-q2|0,Y3=(t5|0)>-1,j6=0-t5|0,J2=Y3?t5:j6,u5=W2-q2|0,i5=r5(J2,u5)|0,L5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-L5|0,m=j2?$5:L5,I=m+g2|0,x2=a+(H3<<2)|0,Q5=e[x2>>2]|0,q5=Q5&32768,E5=(q5|0)!=0,f3=(Q5|0)==(I|0),s9=E5|f3,s9)h3=I|32768,e[x2>>2]=h3,J5=R6+(H3<<2)|0,e[J5>>2]=0;else{X5=e[p2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),f=m3?n3:I,F5=Q5-I|0,V5=(F5|0)<0;do if(V5)if(v3=0-f|0,B3=(F5|0)<(v3|0),B3){z3=F5^-1,G3=f+z3|0,D6=G3;break}else{z5=F5<<1,w3=z5^-1,D6=w3;break}else if(W5=(f|0)>(F5|0),W5){x3=F5<<1,D6=x3;break}else{i6=f+F5|0,D6=i6;break}while(!1);U3=R6+(H3<<2)|0,e[U3>>2]=D6,e[p5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(L2|0),Y6)break;H3=C3}S=e[R6>>2]|0,b=e[n5>>2]|0,r6=S,S3=b}else r6=l5,S3=m5;if(U2(t,1,1),H5=A+1308|0,U5=e[H5>>2]|0,O5=U5+1|0,e[H5>>2]=O5,v5=e[p2>>2]|0,P3=v5+-1|0,M5=Nt(P3)|0,o6=M5<<1,e3=A+1304|0,R3=e[e3>>2]|0,u6=R3+o6|0,e[e3>>2]=u6,Q3=e[p2>>2]|0,k3=Q3+-1|0,y3=Nt(k3)|0,U2(t,r6,y3),j3=e[p2>>2]|0,O3=j3+-1|0,K5=Nt(O3)|0,U2(t,S3,K5),x=e[y>>2]|0,L=(x|0)>0,L)for(F=A+1300|0,D3=0,A6=2;;){if(M=(y+4|0)+(D3<<2)|0,T=e[M>>2]|0,N=(y+128|0)+(T<<2)|0,G=e[N>>2]|0,O=(y+192|0)+(T<<2)|0,z=e[O>>2]|0,Y=1<>2]=0,e[g3+4>>2]=0,e[g3+8>>2]=0,e[g3+12>>2]=0,e[g3+16>>2]=0,e[g3+20>>2]=0,e[g3+24>>2]=0,e[g3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;c0=((y+320|0)+(T<<5)|0)+(s3<<2)|0,u0=e[c0>>2]|0,I0=(u0|0)<0,I0?w=1:(C0=(A3+1824|0)+(u0<<2)|0,v0=e[C0>>2]|0,d0=v0+4|0,p0=e[d0>>2]|0,w=p0),B0=F3+(s3<<2)|0,e[B0>>2]=w,E0=s3+1|0,b0=(E0|0)<(Y|0),b0;)s3=E0;e0=(G|0)>0;e:do if(e0){if(W)for(q3=0,v6=0,a6=0;;)if(K0=g3+(a6<<2)|0,L0=e[K0>>2]|0,Q0=L0<>2]|0,N6=0;;){if(q=F3+(N6<<2)|0,X=e[q>>2]|0,l0=(U|0)<(X|0),l0){n6=N6,M3=31;break}if(Z=N6+1|0,K=(Z|0)<(Y|0),K)N6=Z;else{M3=33;break}}if((M3|0)==31?(M3=0,$0=g3+(d6<<2)|0,e[$0>>2]=n6,n0=n6):(M3|0)==33&&(M3=0,B=g3+(d6<<2)|0,v=e[B>>2]|0,n0=v),r0=n0<>2]|0,F0=t0+(Y0*56|0)|0,_0=Th(F0,d3,t)|0,N0=e[F>>2]|0,V0=N0+_0|0,e[F>>2]=V0}if(J0=(G|0)>0,J0)for(_3=0;z0=g3+(_3<<2)|0,U0=e[z0>>2]|0,q0=((y+320|0)+(T<<5)|0)+(U0<<2)|0,r1=e[q0>>2]|0,H0=(r1|0)>-1,H0&&(e1=_3+A6|0,D0=R6+(e1<<2)|0,i1=e[D0>>2]|0,c1=(t0+(r1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(r1*56|0)|0,s1=Th(l1,i1,t)|0,a1=e[e3>>2]|0,n1=a1+s1|0,e[e3>>2]=n1)),o1=_3+1|0,B6=(o1|0)==(G|0),!B6;)_3=o1;if(Z0=G+A6|0,I1=D3+1|0,h1=e[y>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,A6=Z0;else break}if(E1=e[a>>2]|0,p1=y+832|0,B1=e[p1>>2]|0,Q1=r5(B1,E1)|0,L1=n+28|0,x1=e[L1>>2]|0,w1=A3+(x1<<2)|0,b1=e[w1>>2]|0,R1=(b1|0)/2&-1,F1=e[h2>>2]|0,v1=(F1|0)>1,v1)for(e6=0,t3=1,Q6=0,I6=Q1;;){if(V1=(A+260|0)+(t3<<2)|0,O1=e[V1>>2]|0,q1=a+(O1<<2)|0,H1=e[q1>>2]|0,Y1=H1&32767,n2=(Y1|0)==(H1|0),n2)if(W1=e[p1>>2]|0,P1=r5(W1,H1)|0,c2=(y+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,u2=P1-I6|0,o2=z1-Q6|0,Z3=(u2|0)>-1,G6=0-u2|0,E2=Z3?u2:G6,A2=(u2|0)/(o2|0)&-1,K1=u2>>31,i2=K1|1,l2=r5(A2,o2)|0,b6=(l2|0)>-1,e9=0-l2|0,r2=b6?l2:e9,a2=E2-r2|0,X1=(R1|0)>(z1|0),z6=X1?z1:R1,s2=(z6|0)>(Q6|0),s2&&(f2=g+(Q6<<2)|0,e[f2>>2]=I6),t2=Q6+1|0,y2=(t2|0)<(z6|0),y2)for(d2=t2,S6=0,y6=I6;;)if(k2=S6+a2|0,C2=(k2|0)<(o2|0),F2=C2?0:i2,D2=C2?0:o2,p6=k2-D2|0,p=y6+A2|0,F6=p+F2|0,N2=g+(d2<<2)|0,e[N2>>2]=F6,K2=d2+1|0,c6=(K2|0)==(z6|0),c6){t6=z1,x6=z1,J6=P1;break}else d2=K2,S6=p6,y6=F6;else t6=z1,x6=z1,J6=P1;else t6=e6,x6=Q6,J6=I6;if(G2=t3+1|0,H2=e[h2>>2]|0,M2=(G2|0)<(H2|0),M2)e6=t6,t3=G2,Q6=x6,I6=J6;else{b3=t6,K6=J6;break}}else b3=0,K6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,_1=(b3|0)<(N1|0),_1)O6=b3;else return E=1,C=M6,E|0;for(;;)if(P2=g+(O6<<2)|0,e[P2>>2]=K6,o5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(o5|0)<(T1|0),X2)O6=o5;else{E=1;break}return C=M6,E|0}function dp(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,B=e[t>>2]|0,p=n+-1|0,r0=(t+(p*56|0)|0)+4|0,C0=e[r0>>2]|0,T0=(n|0)>0,T0)for(z0=g+1108|0,g1=+s[z0>>2],i2=0,X1=0,f2=0,w2=0,N2=0,H2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,v1=e[E1>>2]|0,n2=(t+(X1*56|0)|0)+28|0,S=e[n2>>2]|0,T=S+v1|0,q=+(T|0),X=q*g1,U=S+1|0,l0=+(U|0),Z=X/l0,K=Z,$0=K+1,s0=(t+(X1*56|0)|0)+32|0,n0=e[s0>>2]|0,V=+(n0|0),h0=(t+(X1*56|0)|0)+8|0,o0=e[h0>>2]|0,g0=+(o0|0),j=g0*$0,c0=V+w2,u0=c0+j,I0=(t+(X1*56|0)|0)+36|0,w0=e[I0>>2]|0,v0=+(w0|0),d0=(t+(X1*56|0)|0)+12|0,p0=e[d0>>2]|0,B0=+(p0|0),E0=B0*$0,b0=v0+H2,K0=b0+E0,L0=(t+(X1*56|0)|0)+40|0,Q0=e[L0>>2]|0,M0=+(Q0|0),G0=(t+(X1*56|0)|0)+16|0,P0=e[G0>>2]|0,y0=+(P0|0),Y0=y0*$0,F0=M0+f2,_0=F0+Y0,N0=(t+(X1*56|0)|0)+48|0,V0=e[N0>>2]|0,J0=+(V0|0),O0=(t+(X1*56|0)|0)+24|0,U0=e[O0>>2]|0,q0=+(U0|0),r1=q0*$0,H0=J0+N2,e1=H0+r1,D0=+(v1|0),i1=+(S|0),c1=$0*i1,$1=D0+i2,u1=$1+c1,l1=X1+1|0,a2=(l1|0)==(n|0),a2){$2=u1,s2=_0,k2=u0,D2=e1,G2=K0;break}else i2=u1,X1=l1,f2=_0,w2=u0,N2=e1,H2=K0;else $2=0,s2=0,k2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(n1=+(B|0),o1=k2+n1,Z0=+(s1|0),I1=Z0+G2,h1=r5(B,B)|0,m1=+(h1|0),d1=s2+m1,p1=r5(s1,B)|0,B1=+(p1|0),Q1=B1+D2,L1=$2+1,l2=L1,t2=d1,C2=o1,d2=Q1,M2=I1):(l2=$2,t2=s2,C2=k2,d2=D2,M2=G2),x1=e[a>>2]|0,w1=(x1|0)>-1,w1?(b1=+(C0|0),R1=C2+b1,F1=+(x1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=t2+Z1,_1=r5(x1,C0)|0,V1=+(_1|0),O1=V1+d2,q1=l2+1,r2=q1,y2=N1,F2=R1,K2=O1,P2=G1):(r2=l2,y2=t2,F2=C2,K2=d2,P2=M2),H1=y2*r2,Y1=F2*F2,j1=H1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*K2,z1=P1-c2,u2=z1/j1,o2=K2*r2,E2=F2*P2,A2=o2-E2,K1=A2/j1,h2=+(B|0),b=K1*h2,v=b+u2,w=+Hi(v),D=~~w,e[A>>2]=D,y=+(C0|0),_=K1*y,x=_+u2,L=+Hi(x),F=~~L,e[a>>2]=F,M=e[A>>2]|0,N=(M|0)>1023,N?(e[A>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=F,W=M),O=(G|0)>1023,O?(e[a>>2]=1023,I=e[A>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[A>>2]=0,m=e[a>>2]|0,t0=m):t0=e0,J=(t0|0)<0,J?(e[a>>2]=0,f=0,f|0):(f=0,f|0)):(e[A>>2]=0,e[a>>2]=0,f=1,f|0)}function mS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0;if(D0=C,E=t+836|0,I=t+840|0,x=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),r0=e[t>>2]|0,C0=(r0|0)>0,C0){for(T0=t+4|0,V0=0,H0=-1;;)if(p=T0+(V0<<2)|0,S=e[p>>2]|0,U2(n,S,4),b=e[p>>2]|0,v=(H0|0)<(b|0),A=v?b:H0,w=V0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)V0=w,H0=A;else{a=A;break}if(P0=(a|0)>-1,P0)for(y0=t+128|0,Y0=t+192|0,m=t+256|0,B=t+320|0,J0=0;;){if(_=y0+(J0<<2)|0,L=e[_>>2]|0,F=L+-1|0,U2(n,F,3),M=Y0+(J0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(z0=0,e1=8):(O=m+(J0<<2)|0,z=e[O>>2]|0,U2(n,z,8),g=e[M>>2]|0,Y=(g|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(B+(J0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),q=z0+1|0,X=e[M>>2]|0,U=1<>2]|0,s0=$0+-1|0,U2(n,s0,2),n0=x+-1|0,V=Nt(n0)|0,U2(n,V,4),h0=Nt(n0)|0,o0=e[t>>2]|0,g0=(o0|0)>0,!!g0)for(j=t+4|0,c0=t+128|0,G0=o0,F0=0,O0=0,U0=0;;){if(u0=j+(O0<<2)|0,I0=e[u0>>2]|0,w0=c0+(I0<<2)|0,v0=e[w0>>2]|0,d0=v0+F0|0,p0=(U0|0)<(d0|0),p0){for(r1=U0;B0=r1+2|0,E0=E+(B0<<2)|0,b0=e[E0>>2]|0,U2(n,b0,h0),K0=r1+1|0,_0=(K0|0)==(d0|0),!_0;)r1=K0;f=e[t>>2]|0,M0=f,q0=d0}else M0=G0,q0=U0;if(L0=O0+1|0,Q0=(L0|0)<(M0|0),Q0)G0=M0,F0=d0,O0=L0,U0=q0;else break}}function CS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,D=t+28|0,y=e[D>>2]|0,Y=n4(1,1120)|0,$0=j4(n,5)|0,e[Y>>2]=$0,I0=($0|0)>0;e:do if(I0){for(Q0=Y+4|0,Z1=0,n2=-1;;){if(L=j4(n,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=L,M=(L|0)<0,M)break e;if(T=(n2|0)<(L|0),g=T?L:n2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,n2=g;else{f=g;break}}if(J0=(f|0)>-1,J0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=y+24|0,x=Y+320|0,N1=0;;){if(z=j4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=j4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,q=(W|0)<0,q||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=j4(n,8)|0,l0=F1+(N1<<2)|0,e[l0>>2]=U,Z=U),K=(Z|0)<0,K)||(s0=e[_>>2]|0,r0=(Z|0)<(s0|0),!r0))break e;if(n0=e[e0>>2]|0,V=(n0|0)==31,!V)for(q1=0;;){if(c0=j4(n,8)|0,u0=c0+-1|0,w0=(x+(N1<<5)|0)+(q1<<2)|0,e[w0>>2]=u0,C0=(c0|0)<0,C0||(v0=e[_>>2]|0,d0=(c0|0)>(v0|0),g0=q1+1|0,d0))break e;if(h0=e[e0>>2]|0,o0=1<>2]=b0,L0=j4(n,4)|0,M0=(L0|0)<0,!M0)){if(T0=e[Y>>2]|0,G0=(T0|0)>0,G0)for(P0=Y+4|0,y0=Y+128|0,Y0=Y+836|0,F0=1<>2]|0,V0=y0+(N0<<2)|0,O0=e[V0>>2]|0,z0=O0+U1|0,U0=(z0|0)>63,U0)break e;if(q0=(H1|0)<(z0|0),q0){for(j1=H1;;){if(r1=j4(n,L0)|0,H0=j1+2|0,e1=Y0+(H0<<2)|0,e[e1>>2]=r1,D0=(r1|0)>-1,i1=(r1|0)<(F0|0),W1=D0&i1,!W1)break e;if(c1=j1+1|0,u1=(c1|0)<(z0|0),u1)j1=c1;else{a=c1;break}}p=e[Y>>2]|0,s1=p,Y1=a}else s1=G1,Y1=H1;if(g1=_1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=z0,_1=g1,H1=Y1;else{m=Y0,B=F0,v1=z0;break}}else v=Y+836|0,w=1<>2]=0,a1=Y+840|0,e[a1>>2]=B,n1=v1+2|0,o1=(v1|0)>-2,o1)for(V1=0;Z0=m+(V1<<2)|0,I1=P1+(V1<<2)|0,e[I1>>2]=Z0,h1=V1+1|0,d1=(h1|0)<(n1|0),d1;)V1=h1;Gh(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(S=e[P1>>2]|0,b=e[S>>2]|0,w1=b,O1=1;Q1=P1+(O1<<2)|0,L1=e[Q1>>2]|0,x1=e[L1>>2]|0,b1=(w1|0)==(x1|0),p1=O1+1|0,!b1;)if(B1=(p1|0)<(n1|0),B1)w1=x1,O1=p1;else break t;if(R1=(Y|0)==0,R1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function pS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0;if(R1=C,C=C+272|0,w1=R1,a=n4(1,1312)|0,g=a+1296|0,e[g>>2]=n,D=n+836|0,z=n+840|0,K=e[z>>2]|0,u0=a+1288|0,e[u0>>2]=K,L0=e[n>>2]|0,V0=(L0|0)>0,V0){for(H0=n+4|0,f=n+128|0,g1=0,Q1=0;;)if(E=H0+(g1<<2)|0,I=e[E>>2]|0,m=f+(I<<2)|0,B=e[m>>2]|0,p=B+Q1|0,S=g1+1|0,b=(S|0)<(L0|0),b)g1=S,Q1=p;else{A=p;break}v=A+2|0,w=a+1284|0,e[w>>2]=v,y=(A|0)>-2,y?(M=v,B1=A,b1=7):(Gh(w1,v,4,8),p1=A)}else r1=a+1284|0,e[r1>>2]=2,M=2,B1=0,b1=7;if((b1|0)==7){for(l1=0;_=D+(l1<<2)|0,x=w1+(l1<<2)|0,e[x>>2]=_,L=l1+1|0,F=(L|0)<(M|0),F;)l1=L;for(Gh(w1,M,4,8),T=D,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,q=N+(s1<<2)|0,e[q>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,$0=e[Z>>2]|0,s0=O+($0<<2)|0,e[s0>>2]=a1,r0=a1+1|0,n0=(r0|0)<(M|0),n0;)a1=r0;for(l0=a+260|0,n1=0;;)if(V=l0+(n1<<2)|0,h0=e[V>>2]|0,o0=D+(h0<<2)|0,g0=e[o0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=g0,c0=n1+1|0,I0=(c0|0)<(M|0),I0)n1=c0;else{p1=B1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(B0=a+1292|0,e[B0>>2]=64):(C0|0)==2?(d0=a+1292|0,e[d0>>2]=128):(C0|0)==1?(v0=a+1292|0,e[v0>>2]=256):(C0|0)==3&&(p0=a+1292|0,e[p0>>2]=86),E0=(p1|0)>0,!E0)return C=R1,a|0;for(b0=a+1032|0,K0=a+780|0,o1=0;;){for(Q0=o1+2|0,M0=D+(Q0<<2)|0,T0=e[M0>>2]|0,G0=e[u0>>2]|0,D0=1,$1=G0,Z0=0,I1=0,d1=0;;)if(P0=D+(Z0<<2)|0,y0=e[P0>>2]|0,Y0=(y0|0)>(d1|0),F0=(y0|0)<(T0|0),L1=Y0&F0,h1=L1?Z0:I1,E1=L1?y0:d1,_0=(y0|0)<($1|0),N0=(y0|0)>(T0|0),x1=_0&N0,i1=x1?Z0:D0,u1=x1?y0:$1,J0=Z0+1|0,O0=(J0|0)<(Q0|0),O0)D0=i1,$1=u1,Z0=J0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(z0=b0+(o1<<2)|0,e[z0>>2]=m1,U0=K0+(o1<<2)|0,e[U0>>2]=c1,q0=o1+1|0,e1=(q0|0)==(p1|0),e1)break;o1=q0}return C=R1,a|0}function BS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function QS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function yS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0;if(w2=C,f=n+1296|0,E=e[f>>2]|0,n0=t+64|0,v0=e[n0>>2]|0,G0=v0+4|0,U0=e[G0>>2]|0,l1=U0+28|0,p1=e[l1>>2]|0,U1=p1+2848|0,W1=e[U1>>2]|0,I=t+4|0,x=j4(I,1)|0,J=(x|0)==1,!J)return A=0,A|0;U=n+1284|0,l0=e[U>>2]|0,Z=l0<<2,K=qt(t,Z)|0,$0=n+1292|0,s0=e[$0>>2]|0,r0=s0+-1|0,V=Nt(r0)|0,h0=j4(I,V)|0,e[K>>2]=h0,o0=e[$0>>2]|0,g0=o0+-1|0,j=Nt(g0)|0,c0=j4(I,j)|0,u0=K+4|0,e[u0>>2]=c0,I0=e[E>>2]|0,w0=(I0|0)>0;e:do if(w0){r2=0,s2=2;t:for(;;){if(E0=(E+4|0)+(r2<<2)|0,b0=e[E0>>2]|0,K0=(E+128|0)+(b0<<2)|0,L0=e[K0>>2]|0,Q0=(E+192|0)+(b0<<2)|0,M0=e[Q0>>2]|0,T0=1<>2]|0,F0=W1+(Y0*56|0)|0,_0=rC(F0,I)|0,N0=(_0|0)==-1,N0){A=0,k2=25;break}else i2=_0;if(V0=(L0|0)>0,V0)for(J0=T0+-1|0,l2=i2,f2=0;;){if(O0=l2&J0,z0=((E+320|0)+(b0<<5)|0)+(O0<<2)|0,q0=e[z0>>2]|0,r1=l2>>M0,H0=(q0|0)>-1,H0){if(e1=W1+(q0*56|0)|0,D0=rC(e1,I)|0,i1=f2+s2|0,c1=K+(i1<<2)|0,e[c1>>2]=D0,$1=(D0|0)==-1,$1){A=0,k2=25;break t}}else u1=f2+s2|0,g1=K+(u1<<2)|0,e[g1>>2]=0;if(s1=f2+1|0,a1=(s1|0)<(L0|0),a1)l2=r1,f2=s1;else break}if(n1=L0+s2|0,o1=r2+1|0,Z0=e[E>>2]|0,I1=(o1|0)<(Z0|0),I1)r2=o1,s2=n1;else break e}if((k2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,d0=(C0|0)>2,!d0)return A=K,A|0;for(p0=n+1032|0,B0=n+780|0,a2=2;;){if(h1=a2+-2|0,m1=p0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,B1=e[E1>>2]|0,Q1=B0+(h1<<2)|0,L1=e[Q1>>2]|0,x1=(E+836|0)+(L1<<2)|0,w1=e[x1>>2]|0,b1=K+(d1<<2)|0,R1=e[b1>>2]|0,F1=K+(L1<<2)|0,G1=e[F1>>2]|0,v1=(E+836|0)+(a2<<2)|0,Z1=e[v1>>2]|0,N1=R1&32767,_1=G1&32767,V1=_1-N1|0,O1=w1-B1|0,X1=(V1|0)>-1,t2=0-V1|0,q1=X1?V1:t2,H1=Z1-B1|0,Y1=r5(q1,H1)|0,j1=(Y1|0)/(O1|0)&-1,n2=(V1|0)<0,P1=0-j1|0,g=n2?P1:j1,a=g+N1|0,c2=e[$0>>2]|0,z1=c2-a|0,u2=K+(a2<<2)|0,o2=e[u2>>2]|0,E2=(o2|0)==0,E2)W=a|32768,e[u2>>2]=W;else{A2=(z1|0)<(a|0),K1=A2?z1:a,h2=K1<<1,$2=(o2|0)<(h2|0);do if($2)if(b=o2&1,v=(b|0)==0,v){_=o2>>1,y2=_;break}else{w=o2+1|0,D=w>>1,y=0-D|0,y2=y;break}else if(m=(z1|0)>(a|0),m){B=o2-a|0,y2=B;break}else{p=o2-z1|0,S=p^-1,y2=S;break}while(!1);L=y2+a|0,F=L&32767,e[u2>>2]=F,M=e[m1>>2]|0,T=K+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=K+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=a2+1|0,q=e[U>>2]|0,X=(e0|0)<(q|0),X)a2=e0;else{A=K;break}}return A|0}function wS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0;if(v1=C,E=n+1296|0,I=e[E>>2]|0,x=t+64|0,J=e[x>>2]|0,r0=J+4|0,C0=e[r0>>2]|0,T0=C0+28|0,z0=e[T0>>2]|0,$1=t+28|0,u1=e[$1>>2]|0,m=z0+(u1<<2)|0,B=e[m>>2]|0,p=(B|0)/2&-1,S=(A|0)==0,S)return c1=p<<2,ae(a|0,0,c1|0)|0,g=0,g|0;if(b=e[A>>2]|0,v=I+832|0,w=e[v>>2]|0,D=r5(w,b)|0,y=(D|0)<0,_=(D|0)>255,L=_?255:D,F=y?0:L,M=n+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=n+260|0,o1=0,m1=1,E1=0,Q1=F;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=A+(W<<2)|0,q=e[e0>>2]|0,X=q&32767,U=(X|0)==(q|0),U)if(l0=(I+836|0)+(W<<2)|0,Z=e[l0>>2]|0,K=r5(w,q)|0,$0=(K|0)<0,s0=(K|0)>255,n0=s0?255:K,V=$0?0:n0,h0=V-Q1|0,o0=Z-E1|0,I1=(h0|0)>-1,x1=0-h0|0,g0=I1?h0:x1,j=(h0|0)/(o0|0)&-1,c0=h0>>31,u0=c0|1,I0=r5(j,o0)|0,h1=(I0|0)>-1,w1=0-I0|0,w0=h1?I0:w1,v0=g0-w0|0,d0=(p|0)>(Z|0),b1=d0?Z:p,p0=(b1|0)>(E1|0),p0&&(B0=1768+(Q1<<2)|0,E0=+s[B0>>2],b0=a+(E1<<2)|0,K0=+s[b0>>2],L0=K0*E0,s[b0>>2]=L0),Q0=E1+1|0,M0=(Q0|0)<(b1|0),M0)for(V0=Q0,g1=0,R1=Q1;;)if(G0=g1+v0|0,P0=(G0|0)<(o0|0),y0=P0?0:u0,Y0=P0?0:o0,l1=G0-Y0|0,f=R1+j|0,F1=f+y0|0,F0=1768+(F1<<2)|0,_0=+s[F0>>2],N0=a+(V0<<2)|0,J0=+s[N0>>2],O0=J0*_0,s[N0>>2]=O0,U0=V0+1|0,a1=(U0|0)==(b1|0),a1){Z0=Z,p1=Z,L1=V;break}else V0=U0,g1=l1,R1=F1;else Z0=Z,p1=Z,L1=V;else Z0=o1,p1=E1,L1=Q1;if(q0=m1+1|0,r1=(q0|0)<(T|0),r1)o1=Z0,m1=q0,E1=p1,Q1=L1;else{n1=Z0,B1=L1;break}}else n1=0,B1=F;if(O=(n1|0)<(p|0),!O)return g=1,g|0;for(z=1768+(B1<<2)|0,Y=+s[z>>2],d1=n1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],D0=e1*Y,s[H0>>2]=D0,i1=d1+1|0,s1=(i1|0)==(p|0),s1){g=1;break}else d1=i1;return g|0}function vS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,g=e[n>>2]|0,f=e[g>>2]|0,E=a-f|0,E|0}function kS(t){t=t|0;var n=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function SS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0;$0=C,g=tl(n|0)|0,f=tl(A|0)|0,y=g+2|0,Y=y+f|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,pp(J|0,n|0)|0,Z=tl(J|0)|0,l0=J+Z|0,d[l0>>0]=61,d[l0+1>>0]=0,_Q(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,q=e[e0>>2]|0,X=q<<2,U=X+8|0,E=Yi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,B=e[e0>>2]|0,p=B<<2,S=p+8|0,b=Yi(m,S)|0,e[I>>2]=b,v=tl(J|0)|0,w=e[e0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,_=v+1|0,x=S9(_)|0,L=e[t>>2]|0,F=L+(w<<2)|0,e[F>>2]=x,M=e[t>>2]|0,T=M+(w<<2)|0,N=e[T>>2]|0,pp(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=$0}function bS(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;if(Y=C,g=(t|0)==0,!g){if(f=e[t>>2]|0,y=(f|0)==0,!y){if(x=t+8|0,L=e[x>>2]|0,F=(L|0)>0,F){for(_=L,T=f,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),A=e[x>>2]|0,m=A),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,B=a}else B=f;I2(B)}p=t+4|0,S=e[p>>2]|0,b=(S|0)==0,b||I2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||I2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function DS(t){t=t|0;var n=0,A=0,a=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,n=n4(1,3664)|0,A=t+28|0,e[A>>2]=n}function Ip(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;if(p1=C,f=t+28|0,E=e[f>>2]|0,_=(E|0)==0,_){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(t0=E+8|0,s0=e[t0>>2]|0,w0=(s0|0)>0,w0)for(g1=s0,o1=0;n1=(E+32|0)+(o1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?S=g1:(I2(I),n=e[t0>>2]|0,S=n),B=o1+1|0,p=(B|0)<(S|0),p;)g1=S,o1=B;if(M0=E+12|0,O0=e[M0>>2]|0,u1=(O0|0)>0,u1)for(l1=O0,Z0=0;D=(E+544|0)+(Z0<<2)|0,y=e[D>>2]|0,x=(y|0)==0,x?Y=l1:(L=(E+288|0)+(Z0<<2)|0,F=e[L>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,to[G&7](y),A=e[M0>>2]|0,Y=A),O=Z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,Z0=O;if(b=E+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(s1=v,I1=0;q=(E+1056|0)+(I1<<2)|0,X=e[q>>2]|0,U=(X|0)==0,U?o0=s1:(l0=(E+800|0)+(I1<<2)|0,Z=e[l0>>2]|0,K=25640+(Z<<2)|0,$0=e[K>>2]|0,r0=$0+12|0,n0=e[r0>>2]|0,to[n0&7](X),a=e[b>>2]|0,o0=a),V=I1+1|0,h0=(V|0)<(o0|0),h0;)s1=o0,I1=V;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;I0=(E+1568|0)+(h1<<2)|0,C0=e[I0>>2]|0,v0=(C0|0)==0,v0?T0=a1:(d0=(E+1312|0)+(h1<<2)|0,p0=e[d0>>2]|0,B0=25648+(p0<<2)|0,E0=e[B0>>2]|0,b0=E0+12|0,K0=e[b0>>2]|0,to[K0&7](C0),g=e[J>>2]|0,T0=g),L0=h1+1|0,Q0=(L0|0)<(T0|0),Q0;)a1=T0,h1=L0;if(g0=E+24|0,j=e[g0>>2]|0,c0=(j|0)>0,u0=E+2848|0,c0)for(m1=0;G0=(E+1824|0)+(m1<<2)|0,P0=e[G0>>2]|0,y0=(P0|0)==0,y0||Cp(P0),Y0=e[u0>>2]|0,F0=(Y0|0)==0,F0||(_0=Y0+(m1*56|0)|0,ab(_0)),N0=m1+1|0,V0=e[g0>>2]|0,J0=(N0|0)<(V0|0),J0;)m1=N0;if(z0=e[u0>>2]|0,U0=(z0|0)==0,U0||I2(z0),q0=E+28|0,r1=e[q0>>2]|0,H0=(r1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,D0=e[e1>>2]|0,PS(D0),i1=d1+1|0,c1=e[q0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function _S(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,B=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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,f=-129,C=W2,f|0;if(c2=B+4|0,r2=e[c2>>2]|0,D2=(r2|0)<1,D2)S5=-129,a5=27;else if(gp(M1),T1=B+28|0,m5=e[T1>>2]|0,p=(m5|0)==0,p)S5=-130,a5=27;else if(M=e[m5>>2]|0,q=(M|0)<64,q)S5=-130,a5=27;else if(h0=m5+4|0,p0=e[h0>>2]|0,y0=(p0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=B+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=B+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),o1=B+16|0,Z0=e[o1>>2]|0,U2(M1,Z0,32),I1=B+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Nt(d1)|0,U2(M1,E1,4),p1=e[h0>>2]|0,B1=p1+-1|0,L1=Nt(B1)|0,U2(M1,L1,4),U2(M1,1,1),x1=Q1+64|0,w1=e[x1>>2]|0,b1=(w1|0)==0,b1||I2(w1),R1=wt(M1)|0,F1=S9(R1)|0,e[x1>>2]=F1,G1=M1+8|0,v1=e[G1>>2]|0,U1=wt(M1)|0,s4(F1|0,v1|0,U1|0)|0,Z1=e[x1>>2]|0,e[A>>2]=Z1,_1=wt(M1)|0,V1=A+4|0,e[V1>>2]=_1,O1=A+8|0,e[O1>>2]=1,q1=A+12|0,e[q1>>2]=0,e[q1+4>>2]=0,e[q1+8>>2]=0,e[q1+12>>2]=0,e[q1+16>>2]=0,u7(M1),LS(M1,n),H1=Q1+68|0,Y1=e[H1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),n2=wt(M1)|0,W1=S9(n2)|0,e[H1>>2]=W1,P1=e[G1>>2]|0,z1=wt(M1)|0,s4(W1|0,P1|0,z1|0)|0,u2=e[H1>>2]|0,e[a>>2]=u2,o2=wt(M1)|0,E2=a+4|0,e[E2>>2]=o2,A2=a+8|0,K1=a+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=K1,$2=h2,e[$2>>2]=1,i2=h2+4|0,l2=i2,e[l2>>2]=0,u7(M1),a2=e[T1>>2]|0,X1=(a2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),s2=a2+24|0,f2=e[s2>>2]|0,t2=f2+-1|0,U2(M1,t2,8),y2=e[s2>>2]|0,k2=(y2|0)>0,k2)for(q2=0;;){if(N2=(a2+1824|0)+(q2<<2)|0,d2=e[N2>>2]|0,K2=aS(d2,M1)|0,G2=(K2|0)==0,C2=q2+1|0,!G2)break e;if(w2=e[s2>>2]|0,F2=(C2|0)<(w2|0),F2)q2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),H2=a2+16|0,M2=e[H2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[H2>>2]|0,o5=(z2|0)>0,o5)for(I5=0;;){if(O2=(a2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),x5=e[O2>>2]|0,e5=25640+(x5<<2)|0,b5=e[e5>>2]|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5)break e;if(k5=(a2+1056|0)+(I5<<2)|0,P5=e[k5>>2]|0,wp[Z2&3](P5,M1),l5=I5+1|0,v2=e[H2>>2]|0,n5=(l5|0)<(v2|0),n5)I5=l5;else break}if(L2=a2+20|0,_2=e[L2>>2]|0,p2=_2+-1|0,U2(M1,p2,6),C5=e[L2>>2]|0,R5=(C5|0)>0,R5)for(A5=0;d5=(a2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,S=e[_5>>2]|0,b=e[S>>2]|0,v=(a2+1568|0)+(A5<<2)|0,w=e[v>>2]|0,wp[b&3](w,M1),D=A5+1|0,y=e[L2>>2]|0,_=(D|0)<(y|0),_;)A5=D;if(x=a2+12|0,L=e[x>>2]|0,F=L+-1|0,U2(M1,F,6),T=e[x>>2]|0,N=(T|0)>0,N)for(c5=0;G=(a2+288|0)+(c5<<2)|0,O=e[G>>2]|0,U2(M1,O,16),z=e[G>>2]|0,Y=25664+(z<<2)|0,t0=e[Y>>2]|0,J=e[t0>>2]|0,W=(a2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,TQ[J&1](B,e0,M1),X=c5+1|0,U=e[x>>2]|0,l0=(X|0)<(U|0),l0;)c5=X;if(Z=a2+8|0,K=e[Z>>2]|0,$0=K+-1|0,U2(M1,$0,6),s0=e[Z>>2]|0,r0=(s0|0)>0,r0)for(p5=0;n0=(a2+32|0)+(p5<<2)|0,V=e[n0>>2]|0,o0=e[V>>2]|0,U2(M1,o0,1),g0=e[n0>>2]|0,j=g0+4|0,c0=e[j>>2]|0,U2(M1,c0,16),u0=e[n0>>2]|0,I0=u0+8|0,w0=e[I0>>2]|0,U2(M1,w0,16),C0=e[n0>>2]|0,v0=C0+12|0,d0=e[v0>>2]|0,U2(M1,d0,8),B0=p5+1|0,E0=e[Z>>2]|0,b0=(B0|0)<(E0|0),b0;)p5=B0;return U2(M1,1,1),K0=Q1+72|0,L0=e[K0>>2]|0,Q0=(L0|0)==0,Q0||I2(L0),M0=wt(M1)|0,T0=S9(M0)|0,e[K0>>2]=T0,G0=e[G1>>2]|0,P0=wt(M1)|0,s4(T0|0,G0|0,P0|0)|0,Y0=e[K0>>2]|0,e[g>>2]=Y0,F0=wt(M1)|0,_0=g+4|0,e[_0>>2]=F0,N0=g+8|0,V0=g+24|0,e[N0>>2]=0,e[N0+4>>2]=0,e[N0+8>>2]=0,e[N0+12>>2]=0,J0=V0,O0=J0,e[O0>>2]=2,z0=J0+4|0,U0=z0,e[U0>>2]=0,hp(M1),f=0,C=W2,f|0}while(!1);e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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=x1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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,E=Q1+64|0,I=E,g5=S5),hp(M1),q0=e[I>>2]|0,H0=(q0|0)==0,H0||I2(q0),e1=Q1+68|0,D0=e[e1>>2]|0,i1=(D0|0)==0,i1||I2(D0),c1=Q1+72|0,$1=e[c1>>2]|0,u1=($1|0)==0,u1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,f=g5,C=W2,f|0}function LS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0;for(r0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,g=44;E=g+-1|0,I=A+1|0,x=d[A>>0]|0,J=x<<24>>24,U2(t,J,8),q=(E|0)==0,!q;)A=I,g=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),l0=e[X>>2]|0,Z=(l0|0)>0,!Z){U2(t,1,1);return}for(K=n+4|0,$0=0;;){if(m=e[n>>2]|0,B=m+($0<<2)|0,p=e[B>>2]|0,S=(p|0)==0,S)U2(t,0,32);else if(b=e[K>>2]|0,v=b+($0<<2)|0,w=e[v>>2]|0,U2(t,w,32),D=e[K>>2]|0,y=D+($0<<2)|0,_=e[y>>2]|0,L=(_|0)==0,!L)for(F=e[n>>2]|0,M=F+($0<<2)|0,T=e[M>>2]|0,a=T,f=_;N=f+-1|0,G=a+1|0,O=d[a>>0]|0,z=O<<24>>24,U2(t,z,8),Y=(N|0)==0,!Y;)a=G,f=N;if(t0=$0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)$0=t0;else break}U2(t,1,1)}function lQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0;if(Y1=C,m=a+1|0,B=m<<3,g=B,F=C,C=C+((1*g|0)+15&-16)|0,e0=a<<3,f=e0,V=C,C=C+((1*f|0)+15&-16)|0,d0=(m|0)==0,d0)N=0;else{for(P0=a;;){if(q0=(P0|0)<(A|0),q0)for(m1=0,R1=P0;;)if(s1=t+(R1<<2)|0,I1=+s[s1>>2],p=I1,S=R1-P0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*p,y=D+m1,_=R1+1|0,b1=(_|0)==(A|0),b1){h1=y;break}else m1=y,R1=_;else h1=0;if(x=F+(P0<<3)|0,A1[x>>3]=h1,L=P0+-1|0,M=(P0|0)==0,M)break;P0=L}I=+A1[F>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,Z0=Q1,C=Y1,+Z0;for(;;){if(v1=F1+1|0,Y=E1>3],U=-X,l0=(F1|0)>0,l0){for(U1=0,O1=U;;)if($0=V+(U1<<3)|0,s0=+A1[$0>>3],r0=F1-U1|0,n0=F+(r0<<3)|0,h0=+A1[n0>>3],o0=h0*s0,g0=O1-o0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=g0;break}else U1=j,O1=g0;if(c0=E/E1,u0=V+(F1<<3)|0,A1[u0>>3]=c0,I0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,v0=(I0|0)>1,N1=0;p0=V+(N1<<3)|0,B0=+A1[p0>>3],E0=C0-N1|0,b0=V+(E0<<3)|0,K0=+A1[b0>>3],L0=K0*c0,Q0=L0+B0,A1[p0>>3]=Q0,M0=B0*c0,T0=+A1[b0>>3],G0=T0+M0,A1[b0>>3]=G0,y0=N1+1|0,Y0=(y0|0)<(I0|0),Y0;)N1=y0;q1=v0?I0:1,O0=c0,Z1=q1}else O0=c0,Z1=0}else Z=U/E1,K=V+(F1<<3)|0,A1[K>>3]=Z,O0=Z,Z1=0;if(F0=F1&1,_0=(F0|0)==0,_0||(N0=V+(Z1<<3)|0,V0=+A1[N0>>3],J0=V0*O0,z0=J0+V0,A1[N0>>3]=z0),U0=O0*O0,r1=1-U0,H0=r1*E1,e1=(v1|0)<(a|0),e1)E1=H0,F1=v1;else{B1=H0;break}}if((H1|0)==8&&(t0=V+(G1<<3)|0,J=a-G1|0,W=J<<3,ae(t0|0,0,W|0)|0,B1=p1),z)d1=.99,_1=0;else return Q1=B1,Z0=Q1,C=Y1,+Z0;for(;D0=V+(_1<<3)|0,i1=+A1[D0>>3],c1=i1*d1,A1[D0>>3]=c1,$1=d1*.99,u1=_1+1|0,x1=(u1|0)==(a|0),!x1;)d1=$1,_1=u1;if(z)V1=0;else return Q1=B1,Z0=Q1,C=Y1,+Z0;for(;;)if(g1=V+(V1<<3)|0,l1=+A1[g1>>3],a1=l1,n1=n+(V1<<2)|0,s[n1>>2]=a1,o1=V1+1|0,L1=(o1|0)==(a|0),L1){Q1=B1;break}else V1=o1;return Z0=Q1,C=Y1,+Z0}function cQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0;if(K=C,I=g+A|0,m=I<<2,f=m,L=C,C=C+((1*f|0)+15&-16)|0,M=(n|0)==0,T=(A|0)>0,M?T&&(G=A<<2,ae(L|0,0,G|0)|0):T&&(N=A<<2,s4(L|0,n|0,N|0)|0),O=(g|0)>0,!O){C=K;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=g<<2,ae(L|0,0,Y|0)|0,ae(a|0,0,Y|0)|0,C=K;return}for(;;){for(X=W,U=A,l0=0;;)if(b=X+1|0,v=L+(X<<2)|0,w=+s[v>>2],D=U+-1|0,y=t+(D<<2)|0,_=+s[y>>2],x=_*w,F=l0-x,t0=(b|0)==(e0|0),t0){E=F;break}else X=b,U=D,l0=F;if(B=L+(e0<<2)|0,s[B>>2]=E,p=a+(W<<2)|0,s[p>>2]=E,S=W+1|0,q=e0+1|0,J=(S|0)==(g|0),J)break;W=S,e0=q}C=K}function xS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0;if(b0=C,g=e[n>>2]|0,f=(g|0)>1,f?(U2(A,1,1),y=e[n>>2]|0,Y=y+-1|0,U2(A,Y,4)):U2(A,0,1),$0=n+1156|0,u0=e[$0>>2]|0,I0=(u0|0)>0,I0){if(U2(A,1,1),w0=e[$0>>2]|0,C0=w0+-1|0,U2(A,C0,8),v0=e[$0>>2]|0,E=(v0|0)>0,E)for(I=n+1160|0,m=t+4|0,B=n+2184|0,d0=0;p=I+(d0<<2)|0,S=e[p>>2]|0,b=e[m>>2]|0,v=b+-1|0,w=Nt(v)|0,U2(A,S,w),D=B+(d0<<2)|0,_=e[D>>2]|0,x=e[m>>2]|0,L=x+-1|0,F=Nt(L)|0,U2(A,_,F),M=d0+1|0,T=e[$0>>2]|0,N=(M|0)<(T|0),N;)d0=M}else U2(A,0,1);if(U2(A,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,p0=0;l0=W+(p0<<2)|0,Z=e[l0>>2]|0,U2(A,Z,4),K=p0+1|0,s0=e[z>>2]|0,r0=(K|0)<(s0|0),r0;)p0=K;a=e[n>>2]|0,e0=a,E0=13}}else e0=G,E0=13;if(!((E0|0)==13&&(q=(e0|0)>0,!q)))for(X=n+1028|0,U=n+1092|0,B0=0;U2(A,0,8),n0=X+(B0<<2)|0,V=e[n0>>2]|0,U2(A,V,8),h0=U+(B0<<2)|0,o0=e[h0>>2]|0,U2(A,o0,8),g0=B0+1|0,j=e[n>>2]|0,c0=(g0|0)<(j|0),c0;)B0=g0}function RS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,g=n4(1,3208)|0,f=t+28|0,y=e[f>>2]|0,ae(g|0,0,3208)|0,Y=t+4|0,$0=e[Y>>2]|0,I0=($0|0)<1;e:do if(I0)a1=24;else if(Q0=j4(n,1)|0,J0=(Q0|0)<0,J0)a1=24;else{if(H0=(Q0|0)==0,H0)e[g>>2]=1;else if(e1=j4(n,4)|0,E=e1+1|0,e[g>>2]=E,I=(e1|0)<0,I)break;if(m=j4(n,1)|0,B=(m|0)<0,!B){if(p=(m|0)==0,!p){if(S=j4(n,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,_=g+2184|0,a=e[Y>>2]|0,T=a,D0=0;;){if(M=T+-1|0,N=Nt(M)|0,G=j4(n,N)|0,O=D+(D0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Nt(t0)|0,W=j4(n,J)|0,e0=_+(D0<<2)|0,e[e0>>2]=W,q=W|G,X=(q|0)<0,U=(G|0)==(W|0),$1=U|X,$1||(l0=e[Y>>2]|0,Z=(G|0)<(l0|0),K=(W|0)<(l0|0),u1=Z&K,L=D0+1|0,!u1))break e;if(x=e[v>>2]|0,F=(L|0)<(x|0),F)T=l0,D0=L;else break}}if(s0=j4(n,2)|0,r0=(s0|0)==0,r0){if(n0=e[g>>2]|0,V=(n0|0)>1,V){if(h0=e[Y>>2]|0,o0=(h0|0)>0,o0)for(g0=g+4|0,i1=0;;){if(E0=j4(n,4)|0,b0=g0+(i1<<2)|0,e[b0>>2]=E0,K0=e[g>>2]|0,L0=(E0|0)>=(K0|0),M0=(E0|0)<0,g1=M0|L0,p0=i1+1|0,g1)break e;if(d0=e[Y>>2]|0,B0=(p0|0)<(d0|0),B0)i1=p0;else{j=K0,a1=17;break}}}else j=n0,a1=17;if((a1|0)==17&&(c0=(j|0)>0,!c0))return A=g,A|0;for(u0=g+1028|0,w0=y+16|0,C0=g+1092|0,v0=y+20|0,c1=0;;){if(j4(n,8)|0,y0=j4(n,8)|0,Y0=u0+(c1<<2)|0,e[Y0>>2]=y0,F0=e[w0>>2]|0,_0=(y0|0)>=(F0|0),N0=(y0|0)<0,l1=N0|_0,l1||(V0=j4(n,8)|0,O0=C0+(c1<<2)|0,e[O0>>2]=V0,z0=e[v0>>2]|0,U0=(V0|0)>=(z0|0),q0=(V0|0)<0,s1=q0|U0,G0=c1+1|0,s1))break e;if(T0=e[g>>2]|0,P0=(G0|0)<(T0|0),P0)c1=G0;else{A=g;break}}return A|0}}}while(!1);return(a1|0)==24&&(r1=(g|0)==0,r1)?(A=0,A|0):(I2(g),A=0,A|0)}function FS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function MS(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,ee=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,f8=0,H8=0,Y8=0,et=0,tt=0,d8=0,Pe=0,xe=0,i8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,r8=0,q4=0,Re=0,n8=0,I8=0,_8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,nt=0,H4=0,I3=0,He=0,p8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,a8=0,$8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,l8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,B8=0,mt=0,Ft=0,jr=0,Cr=0,io=0,qn=0,ro=0,Hn=0,no=0,so=0,Yn=0,oo=0,Xr=0,Ao=0,ao=0,$o=0,Jn=0,lo=0,Vn=0,Kn=0,co=0,en=0,zn=0,tn=0,Zn=0,Wn=0,go=0,ho=0,uo=0,rn=0,jn=0,fo=0,pr=0,nn=0,Io=0,Eo=0,sn=0,ui=0,Xn=0,mo=0,Co=0,es=0,ts=0,is=0,po=0,fi=0,on=0,Bo=0,rs=0,Qo=0,yo=0,wo=0,ns=0,vo=0,ko=0,So=0,bo=0,ss=0,Do=0,_o=0,An=0,Br=0,an=0,Lo=0,er=0,xo=0,os=0,$n=0,As=0,ln=0,Ro=0,as=0,$s=0,Fo=0,ls=0,cs=0,Mo=0,Qr=0,gs=0,di=0,cn=0,yr=0,tr=0,wr=0,Ji=0,vr=0,hs=0,Vi=0,vi=0,ki=0,j7=0,Si=0,kr=0,ir=0,rr=0,Sr=0,Ii=0,To=0,l7=0,rl=0,gn=0,hn=0;if(gn=C,_=t+64|0,x=e[_>>2]|0,i2=x+4|0,O3=e[i2>>2]|0,_4=O3+28|0,Y4=e[_4>>2]|0,Io=x+104|0,fi=e[Io>>2]|0,bo=t+104|0,$n=e[bo>>2]|0,L=t+36|0,W=e[L>>2]|0,n0=O3+4|0,v0=e[n0>>2]|0,G0=v0<<2,a=G0,U0=C,C=C+((1*a|0)+15&-16)|0,l1=qt(t,G0)|0,p1=e[n0>>2]|0,U1=p1<<2,W1=qt(t,U1)|0,l2=e[n0>>2]|0,F2=l2<<2,O2=qt(t,F2)|0,v2=$n+4|0,_5=+s[v2>>2],g2=e[n0>>2]|0,x2=g2<<2,g=x2,F5=C,C=C+((1*g|0)+15&-16)|0,x3=$n+8|0,M5=e[x3>>2]|0,K5=t+28|0,c6=e[K5>>2]|0,Y3=(Y4+544|0)+(c6<<2)|0,n6=e[Y3>>2]|0,R6=fi+56|0,u9=e[R6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,D=A4+M5|0,a4=u9+(D*52|0)|0,P4=t+40|0,e[P4>>2]=c6,le=(g2|0)>0,le)for(l4=+(W|0),J3=4/l4,ut=(s[B2>>2]=J3,e[B2>>2]|0),k8=(W|0)/2&-1,b8=k8<<2,D8=ut&2147483647,o8=+(D8>>>0),Q4=o8*7177114298428933e-22,Ye=Q4+-764.6162109375,at=Ye,oe=at+.345,r7=oe,n7=fi+4|0,Y7=t+24|0,hi=t+32|0,Ot=r7+-764.6162109375,jr=W+-1|0,Ao=(jr|0)>1,Zn=r7+-382.30810546875,vr=_5,Vi=0;;){if(Eo=e[t>>2]|0,sn=Eo+(Vi<<2)|0,ui=e[sn>>2]|0,Xn=qt(t,b8)|0,mo=W1+(Vi<<2)|0,e[mo>>2]=Xn,Co=qt(t,b8)|0,es=l1+(Vi<<2)|0,e[es>>2]=Co,ts=e[Y7>>2]|0,is=e[K5>>2]|0,po=e[hi>>2]|0,db(ui,n7,Y4,ts,is,po),on=e[K5>>2]|0,Bo=(fi+12|0)+(on<<2)|0,rs=e[Bo>>2]|0,Qo=e[rs>>2]|0,yo=e[es>>2]|0,gQ(Qo,ui,yo),wo=e[K5>>2]|0,ns=(fi+20|0)+(wo*12|0)|0,cb(ns,ui),vo=e[ui>>2]|0,ko=vo&2147483647,So=+(ko>>>0),ss=So*7177114298428933e-22,Do=Ot+ss,_o=Do,An=_o+.345,Br=An,s[ui>>2]=Br,an=F5+(Vi<<2)|0,s[an>>2]=Br,Ao)for(O=Br,kr=1;;)if(Lo=ui+(kr<<2)|0,er=+s[Lo>>2],xo=er*er,os=kr+1|0,As=ui+(os<<2)|0,ln=+s[As>>2],Ro=ln*ln,as=Ro+xo,$s=(s[B2>>2]=as,e[B2>>2]|0),Fo=$s&2147483647,ls=+(Fo>>>0),cs=ls*35885571492144663e-23,Mo=Zn+cs,Qr=Mo,F=Qr+.345,M=F,T=os>>1,N=ui+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[an>>2]=M,pr=M):pr=O,z=kr+2|0,Y=(z|0)<(jr|0),Y)O=pr,kr=z;else{J=pr;break}else J=Br;if(t0=J>0,t0?(s[an>>2]=0,q=0):q=J,e0=q>vr,hs=e0?q:vr,X=Vi+1|0,U=e[n0>>2]|0,l0=(X|0)<(U|0),l0)vr=hs,Vi=X;else{B=b8,S=k8,Ji=hs;break}}else b=(W|0)/2&-1,v=b<<2,B=v,S=b,Ji=_5;Z=qt(t,B)|0,K=qt(t,B)|0,$0=e[n0>>2]|0,s0=($0|0)>0;e:do if(s0){if(r0=(W|0)>1,V=fi+48|0,r0)ki=0;else{for(vi=0;;){t6=(n6+4|0)+(vi<<2)|0,f6=e[t6>>2]|0,H3=l1+(vi<<2)|0,D3=e[H3>>2]|0,Z3=e[t>>2]|0,b6=Z3+(vi<<2)|0,A6=e[b6>>2]|0,t3=A6+(S<<2)|0,e[P4>>2]=c6,O6=qt(t,60)|0,s3=O2+(vi<<2)|0,e[s3>>2]=O6,l7=O6,hn=l7+60|0;do e[l7>>2]=0,l7=l7+4|0;while((l7|0)<(hn|0));if(dQ(a4,t3,Z),a6=F5+(vi<<2)|0,d6=+s[a6>>2],IQ(a4,A6,K,Ji,d6),el(a4,Z,K,1,A6,D3,t3),_3=(n6+1028|0)+(f6<<2)|0,N6=e[_3>>2]|0,Q6=(Y4+800|0)+(N6<<2)|0,x6=e[Q6>>2]|0,K6=(x6|0)==1,!K6){A=-1;break}if(I6=e[V>>2]|0,J6=I6+(N6<<2)|0,F3=e[J6>>2]|0,j6=X$(t,F3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=j6,s9=Mh(t)|0,U6=(s9|0)==0,U6||(D6=e[s3>>2]|0,z6=D6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(el(a4,Z,K,2,A6,D3,t3),M3=e[_3>>2]|0,M6=e[V>>2]|0,t9=M6+(M3<<2)|0,A9=e[t9>>2]|0,X6=X$(t,A9,t3,A6)|0,f9=e[s3>>2]|0,d9=f9+56|0,e[d9>>2]=X6,el(a4,Z,K,0,A6,D3,t3),a9=e[_3>>2]|0,$9=e[V>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=X$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[_3>>2]|0,I9=e[V>>2]|0,o4=I9+(N9<<2)|0,h4=e[o4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,b9=G9+28|0,E9=e[b9>>2]|0,q6=M8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=q6,S4=e[_3>>2]|0,y9=e[V>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,x4=e[s3>>2]|0,T4=e[x4>>2]|0,X4=x4+28|0,C4=e[X4>>2]|0,N4=M8(t,D4,T4,C4,18724)|0,U9=e[s3>>2]|0,G4=U9+8|0,e[G4>>2]=N4,R4=e[_3>>2]|0,u4=e[V>>2]|0,Ce=u4+(R4<<2)|0,q9=e[Ce>>2]|0,m9=e[s3>>2]|0,pe=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,U4=M8(t,q9,pe,Xe,28086)|0,Ge=e[s3>>2]|0,ee=Ge+12|0,e[ee>>2]=U4,be=e[_3>>2]|0,e8=e[V>>2]|0,Z9=e8+(be<<2)|0,$e=e[Z9>>2]|0,f4=e[s3>>2]|0,_6=e[f4>>2]|0,O4=f4+28|0,R9=e[O4>>2]|0,$4=M8(t,$e,_6,R9,37449)|0,W9=e[s3>>2]|0,ce=W9+16|0,e[ce>>2]=$4,ge=e[_3>>2]|0,p4=e[V>>2]|0,te=p4+(ge<<2)|0,F4=e[te>>2]|0,he=e[s3>>2]|0,C9=e[he>>2]|0,g6=he+28|0,Ue=e[g6>>2]|0,Be=M8(t,F4,C9,Ue,46811)|0,B4=e[s3>>2]|0,c4=B4+20|0,e[c4>>2]=Be,P6=e[_3>>2]|0,De=e[V>>2]|0,_e=De+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,v4=e[g4>>2]|0,u8=g4+28|0,w9=e[u8>>2]|0,p9=M8(t,t8,v4,w9,56173)|0,M4=e[s3>>2]|0,ie=M4+24|0,e[ie>>2]=p9,ct=e[_3>>2]|0,Le=e[V>>2]|0,gt=Le+(ct<<2)|0,vt=e[gt>>2]|0,W8=e[s3>>2]|0,ht=W8+28|0,T8=e[ht>>2]|0,N8=W8+56|0,G8=e[N8>>2]|0,U8=M8(t,vt,T8,G8,9362)|0,j8=e[s3>>2]|0,X8=j8+32|0,e[X8>>2]=U8,kt=e[_3>>2]|0,P8=e[V>>2]|0,O8=P8+(kt<<2)|0,q8=e[O8>>2]|0,S8=e[s3>>2]|0,f8=S8+28|0,H8=e[f8>>2]|0,Y8=S8+56|0,et=e[Y8>>2]|0,tt=M8(t,q8,H8,et,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=tt,xe=e[_3>>2]|0,i8=e[V>>2]|0,v9=i8+(xe<<2)|0,ft=e[v9>>2]|0,Qe=e[s3>>2]|0,dt=Qe+28|0,St=e[dt>>2]|0,it=Qe+56|0,bt=e[it>>2]|0,re=M8(t,ft,St,bt,28086)|0,rt=e[s3>>2]|0,J8=rt+40|0,e[J8>>2]=re,r8=e[_3>>2]|0,q4=e[V>>2]|0,Re=q4+(r8<<2)|0,n8=e[Re>>2]|0,I8=e[s3>>2]|0,_8=I8+28|0,ue=e[_8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=M8(t,n8,ue,s8,37449)|0,m8=e[s3>>2]|0,fe=m8+44|0,e[fe>>2]=E8,ye=e[_3>>2]|0,Oe=e[V>>2]|0,qe=Oe+(ye<<2)|0,X9=e[qe>>2]|0,Fe=e[s3>>2]|0,de=Fe+28|0,A8=e[de>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,nt=M8(t,X9,A8,C8,46811)|0,H4=e[s3>>2]|0,I3=H4+48|0,e[I3>>2]=nt,He=e[_3>>2]|0,p8=e[V>>2]|0,ne=p8+(He<<2)|0,H9=e[ne>>2]|0,se=e[s3>>2]|0,D9=se+28|0,V8=e[D9>>2]|0,It=se+56|0,st=e[It>>2]|0,ot=M8(t,H9,V8,st,56173)|0,K8=e[s3>>2]|0,At=K8+52|0,e[At>>2]=ot)),z8=vi+1|0,a8=e[n0>>2]|0,$8=(z8|0)<(a8|0),$8)vi=z8;else{p=V,x8=a8;break e}}return C=gn,A|0}for(;;){L6=(n6+4|0)+(ki<<2)|0,I0=e[L6>>2]|0,Y6=l1+(ki<<2)|0,c0=e[Y6>>2]|0,C6=e[t>>2]|0,b3=C6+(ki<<2)|0,j=e[b3>>2]|0,h0=j+(S<<2)|0,e[P4>>2]=c6,e6=qt(t,60)|0,Q0=O2+(ki<<2)|0,e[Q0>>2]=e6,l7=e6,hn=l7+60|0;do e[l7>>2]=0,l7=l7+4|0;while((l7|0)<(hn|0));for(ir=0;j3=c0+(ir<<2)|0,S3=e[j3>>2]|0,g3=S3&2147483647,q3=+(g3>>>0),l6=q3*7177114298428933e-22,d3=l6+-764.6162109375,v6=d3,k6=v6+.345,S6=k6,y=ir+S|0,p6=j+(y<<2)|0,s[p6>>2]=S6,X3=ir+1|0,B6=(X3|0)<(S|0),B6;)ir=X3;if(dQ(a4,h0,Z),o0=F5+(ki<<2)|0,g0=+s[o0>>2],IQ(a4,j,K,Ji,g0),el(a4,Z,K,1,j,c0,h0),u0=(n6+1028|0)+(I0<<2)|0,w0=e[u0>>2]|0,C0=(Y4+800|0)+(w0<<2)|0,d0=e[C0>>2]|0,p0=(d0|0)==1,!p0){A=-1;break}if(B0=e[V>>2]|0,E0=B0+(w0<<2)|0,b0=e[E0>>2]|0,K0=X$(t,b0,h0,j)|0,L0=e[Q0>>2]|0,M0=L0+28|0,e[M0>>2]=K0,T0=Mh(t)|0,P0=(T0|0)==0,P0||(y0=e[Q0>>2]|0,Y0=y0+28|0,F0=e[Y0>>2]|0,_0=(F0|0)==0,_0||(el(a4,Z,K,2,j,c0,h0),N0=e[u0>>2]|0,V0=e[V>>2]|0,J0=V0+(N0<<2)|0,O0=e[J0>>2]|0,z0=X$(t,O0,h0,j)|0,q0=e[Q0>>2]|0,r1=q0+56|0,e[r1>>2]=z0,el(a4,Z,K,0,j,c0,h0),H0=e[u0>>2]|0,e1=e[V>>2]|0,D0=e1+(H0<<2)|0,i1=e[D0>>2]|0,c1=X$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,u1=e[u0>>2]|0,g1=e[V>>2]|0,s1=g1+(u1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,o1=e[n1>>2]|0,Z0=n1+28|0,I1=e[Z0>>2]|0,h1=M8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[u0>>2]|0,B1=e[V>>2]|0,Q1=B1+(E1<<2)|0,L1=e[Q1>>2]|0,x1=e[Q0>>2]|0,w1=e[x1>>2]|0,b1=x1+28|0,R1=e[b1>>2]|0,F1=M8(t,L1,w1,R1,18724)|0,G1=e[Q0>>2]|0,v1=G1+8|0,e[v1>>2]=F1,Z1=e[u0>>2]|0,N1=e[V>>2]|0,_1=N1+(Z1<<2)|0,V1=e[_1>>2]|0,O1=e[Q0>>2]|0,q1=e[O1>>2]|0,H1=O1+28|0,Y1=e[H1>>2]|0,j1=M8(t,V1,q1,Y1,28086)|0,n2=e[Q0>>2]|0,P1=n2+12|0,e[P1>>2]=j1,c2=e[u0>>2]|0,z1=e[V>>2]|0,u2=z1+(c2<<2)|0,o2=e[u2>>2]|0,E2=e[Q0>>2]|0,A2=e[E2>>2]|0,K1=E2+28|0,h2=e[K1>>2]|0,$2=M8(t,o2,A2,h2,37449)|0,r2=e[Q0>>2]|0,a2=r2+16|0,e[a2>>2]=$2,X1=e[u0>>2]|0,s2=e[V>>2]|0,f2=s2+(X1<<2)|0,t2=e[f2>>2]|0,y2=e[Q0>>2]|0,k2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=M8(t,t2,k2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,K2=e[u0>>2]|0,G2=e[V>>2]|0,H2=G2+(K2<<2)|0,M2=e[H2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=M8(t,M2,z2,T1,56173)|0,x5=e[Q0>>2]|0,e5=x5+24|0,e[e5>>2]=X2,b5=e[u0>>2]|0,Z2=e[V>>2]|0,f5=Z2+(b5<<2)|0,k5=e[f5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,L2=e[n5>>2]|0,_2=M8(t,k5,m5,L2,9362)|0,p2=e[Q0>>2]|0,C5=p2+32|0,e[C5>>2]=_2,R5=e[u0>>2]|0,d5=e[V>>2]|0,D5=d5+(R5<<2)|0,G5=e[D5>>2]|0,q2=e[Q0>>2]|0,I5=q2+28|0,A5=e[I5>>2]|0,c5=q2+56|0,p5=e[c5>>2]|0,M1=M8(t,G5,A5,p5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[u0>>2]|0,W2=e[V>>2]|0,B5=W2+(a5<<2)|0,t5=e[B5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,u5=s5+56|0,i5=e[u5>>2]|0,L5=M8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=L5,Q5=e[u0>>2]|0,q5=e[V>>2]|0,j5=q5+(Q5<<2)|0,E5=e[j5>>2]|0,f3=e[Q0>>2]|0,h3=f3+28|0,J5=e[h3>>2]|0,X5=f3+56|0,n3=e[X5>>2]|0,m3=M8(t,E5,J5,n3,37449)|0,V5=e[Q0>>2]|0,v3=V5+44|0,e[v3>>2]=m3,u3=e[u0>>2]|0,B3=e[V>>2]|0,z3=B3+(u3<<2)|0,G3=e[z3>>2]|0,z5=e[Q0>>2]|0,w3=z5+28|0,W5=e[w3>>2]|0,i6=z5+56|0,U3=e[i6>>2]|0,a3=M8(t,G3,W5,U3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[u0>>2]|0,H5=e[V>>2]|0,U5=H5+(C3<<2)|0,O5=e[U5>>2]|0,v5=e[Q0>>2]|0,P3=v5+28|0,o6=e[P3>>2]|0,e3=v5+56|0,A3=e[e3>>2]|0,R3=M8(t,O5,o6,A3,56173)|0,u6=e[Q0>>2]|0,Q3=u6+52|0,e[Q3>>2]=R3)),k3=ki+1|0,y3=e[n0>>2]|0,r6=(k3|0)<(y3|0),r6)ki=k3;else{p=V,x8=y3;break e}}return C=gn,A|0}else w=fi+48|0,p=w,x8=$0;while(!1);for(s[v2>>2]=Ji,L8=x8<<2,f=L8,Je=C,C=C+((1*f|0)+15&-16)|0,E=L8,B9=C,C=C+((1*E|0)+15&-16)|0,$t=Mh(t)|0,Ve=($t|0)!=0,Gt=Ve?0:7,Ht=fi+44|0,Dt=t+24|0,lt=t+32|0,_t=Y4+2868|0,Ut=fi+52|0,Ii=Gt;;){if(Yt=($n+12|0)+(Ii<<2)|0,l8=e[Yt>>2]|0,U2(l8,0,1),R8=e[Ht>>2]|0,U2(l8,c6,R8),Lt=e[K5>>2]|0,Z8=(Lt|0)==0,Z8||(Me=e[Dt>>2]|0,U2(l8,Me,1),Ie=e[lt>>2]|0,U2(l8,Ie,1)),e4=e[n0>>2]|0,xt=(e4|0)>0,xt)for(j7=0;;)if(G7=(n6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Jt=(n6+1028|0)+(U7<<2)|0,I7=e[Jt>>2]|0,Vt=e[p>>2]|0,E7=Vt+(I7<<2)|0,Kt=e[E7>>2]|0,m7=O2+(j7<<2)|0,$i=e[m7>>2]|0,O7=$i+(Ii<<2)|0,C7=e[O7>>2]|0,p7=ES(l8,t,Kt,C7,d7)|0,li=U0+(j7<<2)|0,e[li>>2]=p7,B7=j7+1|0,s7=e[n0>>2]|0,ci=(B7|0)<(s7|0),ci)j7=B7;else{I=s7;break}else I=e4;if(q7=e[K5>>2]|0,H7=((Y4+3240|0)+(q7*60|0)|0)+(Ii<<2)|0,J7=e[H7>>2]|0,HS(Ii,_t,a4,n6,l1,W1,U0,J7,I),o7=e[n6>>2]|0,Q7=(o7|0)>0,Q7)for(Si=0;;){if(V7=(n6+1092|0)+(Si<<2)|0,zt=e[V7>>2]|0,A7=e[n0>>2]|0,Pt=(A7|0)>0,Pt)for(nn=A7,di=0,rr=0;;)if(Zt=(n6+4|0)+(rr<<2)|0,gi=e[Zt>>2]|0,K7=(gi|0)==(Si|0),K7?(y7=B9+(di<<2)|0,z7=U0+(rr<<2)|0,w7=e[z7>>2]|0,To=(w7|0)!=0,n=To&1,e[y7>>2]=n,v7=W1+(rr<<2)|0,Z7=e[v7>>2]|0,k7=di+1|0,Wt=Je+(di<<2)|0,e[Wt>>2]=Z7,m=e[n0>>2]|0,a7=m,cn=k7):(a7=nn,cn=di),S7=rr+1|0,W7=(S7|0)<(a7|0),W7)nn=a7,di=cn,rr=S7;else{gs=cn;break}else gs=0;if(b7=(Y4+1312|0)+(zt<<2)|0,ve=e[b7>>2]|0,D7=25648+(ve<<2)|0,Rt=e[D7>>2]|0,$7=Rt+20|0,n9=e[$7>>2]|0,Et=e[Ut>>2]|0,B8=Et+(zt<<2)|0,mt=e[B8>>2]|0,Ft=vp[n9&7](t,mt,Je,B9,gs)|0,Cr=e[n0>>2]|0,io=(Cr|0)>0,io)for(tr=0,Sr=0;;)if(qn=(n6+4|0)+(Sr<<2)|0,ro=e[qn>>2]|0,Hn=(ro|0)==(Si|0),Hn?(no=W1+(Sr<<2)|0,so=e[no>>2]|0,Yn=tr+1|0,oo=Je+(tr<<2)|0,e[oo>>2]=so,wr=Yn):wr=tr,Xr=Sr+1|0,ao=(Xr|0)<(Cr|0),ao)tr=wr,Sr=Xr;else{yr=wr;break}else yr=0;if($o=e[b7>>2]|0,Jn=25648+($o<<2)|0,lo=e[Jn>>2]|0,Vn=lo+24|0,Kn=e[Vn>>2]|0,co=e[Ut>>2]|0,en=co+(zt<<2)|0,zn=e[en>>2]|0,NQ[Kn&3](l8,t,zn,Je,B9,yr,Ft,Si)|0,tn=Si+1|0,Wn=e[n6>>2]|0,go=(tn|0)<(Wn|0),go)Si=tn;else break}if(ho=Ii+1|0,uo=Mh(t)|0,rn=(uo|0)!=0,jn=rn?14:7,fo=(Ii|0)<(jn|0),fo)Ii=ho;else{A=0;break}}return C=gn,A|0}function TS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0;if(x2=C,b=t+64|0,v=e[b>>2]|0,m1=v+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,y2=v+104|0,M2=e[y2>>2]|0,f5=t+28|0,R5=e[f5>>2]|0,w=K1+(R5<<2)|0,O=e[w>>2]|0,Z=t+36|0,e[Z>>2]=O,c0=F1+4|0,K0=e[c0>>2]|0,N0=K0<<2,g=N0,i1=C,C=C+((1*g|0)+15&-16)|0,f=N0,Z0=C,C=C+((1*f|0)+15&-16)|0,E=N0,I1=C,C=C+((1*E|0)+15&-16)|0,I=N0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[c0>>2]|0,E1=(d1|0)>0,E1)for(p1=n+4|0,B1=n+1028|0,Q1=M2+48|0,L1=O<<1,x1=L1&2147483646,W2=0;;)if(U1=p1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=B1+(Z1<<2)|0,_1=e[N1>>2]|0,V1=(K1+800|0)+(_1<<2)|0,O1=e[V1>>2]|0,q1=25640+(O1<<2)|0,H1=e[q1>>2]|0,j1=H1+20|0,n2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(_1<<2)|0,c2=e[P1>>2]|0,z1=f7[n2&15](t,c2)|0,u2=h1+(W2<<2)|0,e[u2>>2]=z1,o2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[o2>>2]=A,E2=e[t>>2]|0,A2=E2+(W2<<2)|0,h2=e[A2>>2]|0,ae(h2|0,0,x1|0)|0,$2=W2+1|0,i2=e[c0>>2]|0,l2=($2|0)<(i2|0),l2)W2=$2;else{n1=i2;break}else n1=d1;if(w1=n+1156|0,b1=e[w1>>2]|0,R1=(b1|0)>0,R1)for(G1=n+1160|0,v1=n+2184|0,g2=0;t2=G1+(g2<<2)|0,k2=e[t2>>2]|0,w2=I1+(k2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=v1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,K2=e[d2>>2]|0,G2=(K2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,H2=I1+(N2<<2)|0,e[H2>>2]=1),P2=g2+1|0,z2=(P2|0)<(b1|0),z2;)g2=P2;if(r2=e[n>>2]|0,a2=(r2|0)>0,a2){for(X1=n+1092|0,s2=M2+52|0,f2=n+4|0,o5=n1,B5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,u5=0;;)if(T1=f2+(u5<<2)|0,X2=e[T1>>2]|0,x5=(X2|0)==(B5|0),x5?(e5=I1+(u5<<2)|0,b5=e[e5>>2]|0,Z2=Z0+(g5<<2)|0,L5=(b5|0)!=0,a=L5&1,e[Z2>>2]=a,k5=e[t>>2]|0,P5=k5+(u5<<2)|0,l5=e[P5>>2]|0,v2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,p=e[c0>>2]|0,_2=p,a5=v2):(_2=o1,a5=g5),n5=u5+1|0,L2=(n5|0)<(_2|0),L2)o1=_2,g5=a5,u5=n5;else{S5=a5;break}else S5=0;if(p2=X1+(B5<<2)|0,C5=e[p2>>2]|0,d5=(K1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,q2=_5+28|0,I5=e[q2>>2]|0,A5=e[s2>>2]|0,c5=A5+(C5<<2)|0,p5=e[c5>>2]|0,vp[I5&7](t,p5,i1,Z0,S5)|0,M1=B5+1|0,D=e[n>>2]|0,y=(M1|0)<(D|0),!y)break;B=e[c0>>2]|0,o5=B,B5=M1}S=e[w1>>2]|0,_=S}else _=b1;if(x=(_|0)>0,x)for(L=n+1160|0,F=e[t>>2]|0,M=n+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=L+(t5<<2)|0,q=e[e0>>2]|0,X=F+(q<<2)|0,U=e[X>>2]|0,l0=M+(t5<<2)|0,K=e[l0>>2]|0,$0=F+(K<<2)|0,s0=e[$0>>2]|0,N)for(i5=0;;){r0=U+(i5<<2)|0,n0=+s[r0>>2],V=s0+(i5<<2)|0,h0=+s[V>>2],o0=n0>0,g0=h0>0;do if(o0)if(g0){s[r0>>2]=n0,j=n0-h0,s[V>>2]=j;break}else{s[V>>2]=n0,u0=h0+n0,s[r0>>2]=u0;break}else if(g0){s[r0>>2]=n0,I0=h0+n0,s[V>>2]=I0;break}else{s[V>>2]=n0,w0=n0-h0,s[r0>>2]=w0;break}while(!1);if(C0=i5+1|0,v0=(C0|0)<(T|0),v0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[c0>>2]|0,Y=(z|0)>0,!Y)return C=x2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(p0=e[t>>2]|0,B0=p0+(h5<<2)|0,E0=e[B0>>2]|0,b0=t0+(h5<<2)|0,L0=e[b0>>2]|0,Q0=J+(L0<<2)|0,M0=e[Q0>>2]|0,T0=(K1+800|0)+(M0<<2)|0,G0=e[T0>>2]|0,P0=25640+(G0<<2)|0,y0=e[P0>>2]|0,Y0=y0+24|0,F0=e[Y0>>2]|0,_0=e[W>>2]|0,V0=_0+(M0<<2)|0,J0=e[V0>>2]|0,O0=h1+(h5<<2)|0,z0=e[O0>>2]|0,yp[F0&3](t,J0,z0,E0)|0,U0=h5+1|0,q0=e[c0>>2]|0,r1=(U0|0)<(q0|0),r1)h5=U0;else{m=q0;break}if(d0=(m|0)>0,!d0)return C=x2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,D0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,u1=e[$1>>2]|0,g1=e[u1>>2]|0,NS(g1,D0,D0),l1=J2+1|0,s1=e[c0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=x2,0}function Ep(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0;if(w1=C,A=(n|0)/4&-1,a=A<<2,w=S9(a)|0,O=A+n|0,Z=O<<2,c0=S9(Z)|0,K0=n>>1,N0=+(n|0),i1=N0,I1=+Zr(+i1),g=I1*1.4426950408889634,f=+Hi(g),E=~~f,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=c0,B=t+12|0,e[B>>2]=w,p=(n|0)>3,!p){Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0;return}for(S=+(n|0),b=3.141592653589793/S,v=n<<1,D=+(v|0),y=3.141592653589793/D,p1=0;M=p1<<2,T=+(M|0),N=b*T,G=+jA(+N),z=G,Y=p1<<1,t0=c0+(Y<<2)|0,s[t0>>2]=z,J=+Pn(+N),W=J,e0=-W,q=Y|1,X=c0+(q<<2)|0,s[X>>2]=e0,U=+(q|0),l0=y*U,K=+jA(+l0),$0=K,s0=Y+K0|0,r0=c0+(s0<<2)|0,s[r0>>2]=$0,n0=+Pn(+l0),V=n0,h0=s0+1|0,o0=c0+(h0<<2)|0,s[o0>>2]=V,g0=p1+1|0,j=(g0|0)<(A|0),j;)p1=g0;if(_=(n|0)/8&-1,x=(n|0)>7,!x){Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0;return}for(L=+(n|0),F=3.141592653589793/L,B1=0;u0=B1<<2,I0=u0|2,w0=+(I0|0),C0=F*w0,v0=+jA(+C0),d0=v0*.5,p0=d0,B0=B1<<1,E0=B0+n|0,b0=c0+(E0<<2)|0,s[b0>>2]=p0,L0=+Pn(+C0),Q0=L0*-.5,M0=Q0,T0=E0+1|0,G0=c0+(T0<<2)|0,s[G0>>2]=M0,P0=B1+1|0,y0=(P0|0)<(_|0),y0;)B1=P0;if(Y0=E+-1|0,F0=1<>2]=Z0;return}for(;;){for(z0=J0,m1=0,L1=0;;)if(O0=z0&Q1,U0=(O0|0)==0,q0=1<>H0,D0=(e1|0)==0,D0){E1=d1;break}else z0=e1,m1=d1,L1=H0;if(c1=E1^-1,$1=_0&c1,u1=$1+-1|0,g1=Q1<<1,l1=w+(g1<<2)|0,e[l1>>2]=u1,s1=g1|1,a1=w+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,o1=(n1|0)<(_|0),o1)Q1=n1;else break}Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0}function mp(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0;B=C,n=(t|0)==0,!n&&(A=t+8|0,a=e[A>>2]|0,g=(a|0)==0,g||I2(a),f=t+12|0,E=e[f>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function NS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0;for(q3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,K2=n+(a<<2)|0,g=I+W1|0,e5=A+(g<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=K2,k3=e5;E5=k3+-16|0,B3=U5+8|0,m=+s[B3>>2],L=c3+12|0,W=+s[L>>2],n0=m*W,v0=-n0,G0=+s[U5>>2],U0=c3+8|0,l1=+s[U0>>2],p1=l1*G0,U1=v0-p1,s[E5>>2]=U1,P1=+s[U5>>2],l2=+s[L>>2],y2=l2*P1,k2=+s[B3>>2],w2=+s[U0>>2],C2=w2*k2,F2=y2-C2,D2=k3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,H2=+s[G2>>2],M2=d2*H2,P2=-M2,z2=U5+16|0,o5=+s[z2>>2],O2=+s[c3>>2],T1=O2*o5,X2=P2-T1,x5=k3+-8|0,s[x5>>2]=X2,b5=+s[z2>>2],Z2=+s[G2>>2],f5=Z2*b5,k5=+s[N2>>2],P5=+s[c3>>2],l5=P5*k5,v2=f5-l5,m5=k3+-4|0,s[m5>>2]=v2,n5=U5+-32|0,L2=c3+16|0,p2=n5>>>0>>0,!p2;)c3=L2,U5=n5,k3=E5;for(C5=A+(I<<2)|0,f=I+-8|0,R5=n+(f<<2)|0,C3=h5,O5=R5,y3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,q2=+s[_5>>2],I5=q2*G5,A5=O5+24|0,p5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*p5,a5=g5+I5,s[y3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],B5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,u5=B5-J2,i5=y3+4|0,s[i5>>2]=u5,L5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],x2=$5*L5,Q5=O5+8|0,q5=+s[Q5>>2],j5=+s[d5>>2],f3=j5*q5,h3=f3+x2,J5=y3+8|0,s[J5>>2]=h3,X5=+s[O5>>2],n3=+s[d5>>2],m3=n3*X5,F5=+s[Q5>>2],V5=+s[j2>>2],v3=V5*F5,u3=m3-v3,z3=y3+12|0,s[z3>>2]=u3,G3=O5+-32|0,z5=y3+16|0,w3=G3>>>0>>0,!w3;)C3=d5,O5=G3,y3=z5;for(o6=t+4|0,e3=e[o6>>2]|0,hQ(e3,c5,C5,I),A3=e[t>>2]|0,R3=e[_2>>2]|0,u6=t+12|0,Q3=e[u6>>2]|0,uQ(A3,R3,Q3,A),W5=e[_2>>2]|0,i6=W5+(I<<2)|0,H5=i6,v5=A,r6=e5,K5=e5;x3=r6+-16|0,U3=+s[v5>>2],a3=H5+4|0,l3=+s[a3>>2],B=l3*U3,p=v5+4|0,S=+s[p>>2],b=+s[H5>>2],v=b*S,w=B-v,D=r6+-4|0,s[D>>2]=w,y=+s[v5>>2],_=+s[H5>>2],x=_*y,F=+s[p>>2],M=+s[a3>>2],T=M*F,N=x+T,G=-N,s[K5>>2]=G,O=v5+8|0,z=+s[O>>2],Y=H5+12|0,t0=+s[Y>>2],J=t0*z,e0=v5+12|0,q=+s[e0>>2],X=H5+8|0,U=+s[X>>2],l0=U*q,Z=J-l0,K=r6+-8|0,s[K>>2]=Z,$0=+s[O>>2],s0=+s[X>>2],r0=s0*$0,V=+s[e0>>2],h0=+s[Y>>2],o0=h0*V,g0=r0+o0,j=-g0,c0=K5+4|0,s[c0>>2]=j,u0=v5+16|0,I0=+s[u0>>2],w0=H5+20|0,C0=+s[w0>>2],d0=C0*I0,p0=v5+20|0,B0=+s[p0>>2],E0=H5+16|0,b0=+s[E0>>2],K0=b0*B0,L0=d0-K0,Q0=r6+-12|0,s[Q0>>2]=L0,M0=+s[u0>>2],T0=+s[E0>>2],P0=T0*M0,y0=+s[p0>>2],Y0=+s[w0>>2],F0=Y0*y0,_0=P0+F0,N0=-_0,V0=K5+8|0,s[V0>>2]=N0,J0=v5+24|0,O0=+s[J0>>2],z0=H5+28|0,q0=+s[z0>>2],r1=q0*O0,H0=v5+28|0,e1=+s[H0>>2],D0=H5+24|0,i1=+s[D0>>2],c1=i1*e1,$1=r1-c1,s[x3>>2]=$1,u1=+s[J0>>2],g1=+s[D0>>2],s1=g1*u1,a1=+s[H0>>2],n1=+s[z0>>2],o1=n1*a1,Z0=s1+o1,I1=-Z0,h1=K5+12|0,s[h1>>2]=I1,m1=K5+16|0,d1=v5+32|0,E1=H5+32|0,B1=d1>>>0>>0,B1;)H5=E1,v5=d1,r6=x3,K5=m1;for(Q1=A+(W1<<2)|0,P3=e5,j3=Q1,S3=Q1;;)if(L1=j3+-16|0,x1=P3+-16|0,w1=P3+-4|0,b1=+s[w1>>2],R1=j3+-4|0,s[R1>>2]=b1,F1=-b1,s[S3>>2]=F1,G1=P3+-8|0,v1=+s[G1>>2],Z1=j3+-8|0,s[Z1>>2]=v1,N1=-v1,_1=S3+4|0,s[_1>>2]=N1,V1=P3+-12|0,O1=+s[V1>>2],q1=j3+-12|0,s[q1>>2]=O1,H1=-O1,Y1=S3+8|0,s[Y1>>2]=H1,j1=+s[x1>>2],s[L1>>2]=j1,n2=-j1,c2=S3+12|0,s[c2>>2]=n2,z1=S3+16|0,u2=z1>>>0>>0,u2)P3=x1,j3=L1,S3=z1;else{M5=e5,O3=e5;break}for(;o2=O3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[o2>>2]=A2,K1=M5+8|0,h2=e[K1>>2]|0,$2=O3+-12|0,e[$2>>2]=h2,i2=M5+4|0,r2=e[i2>>2]|0,a2=O3+-8|0,e[a2>>2]=r2,X1=e[M5>>2]|0,s2=O3+-4|0,e[s2>>2]=X1,f2=M5+16|0,t2=o2>>>0>C5>>>0,t2;)M5=f2,O3=o2}function gQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0;if(q5=C,v=e[t>>2]|0,w=v>>1,r1=v>>2,a1=v>>3,Q1=v<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(w<<2)|0,g=w+r1|0,r2=n+(g<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,D=T1+(w<<2)|0,z=(a1|0)>0,z){for(f=g+1|0,K=n+(f<<2)|0,u0=a1+-1|0,L0=u0>>>1,V0=L0<<1,O0=w+-2|0,z0=O0-V0|0,U0=g+-4|0,q0=L0<<2,H0=U0-q0|0,n5=D,D5=0,h5=r2,L5=K;e1=h5+-16|0,D0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[L5>>2],u1=$1+c1,g1=+s[e1>>2],l1=L5+8|0,s1=+s[l1>>2],n1=s1+g1,o1=n5+-4|0,Z0=+s[o1>>2],I1=n1*Z0,h1=+s[D0>>2],m1=h1*u1,d1=m1+I1,S=D5+w|0,E1=N1+(S<<2)|0,s[E1>>2]=d1,p1=+s[D0>>2],B1=p1*n1,L1=+s[o1>>2],x1=L1*u1,w1=B1-x1,b1=D5|1,b=b1+w|0,R1=N1+(b<<2)|0,s[R1>>2]=w1,F1=L5+16|0,G1=D5+2|0,v1=(G1|0)<(a1|0),v1;)n5=D0,D5=G1,h5=e1,L5=F1;U1=V0+2|0,g2=T1+(z0<<2)|0,B5=n+(H0<<2)|0,O2=z0,m5=g2,d5=U1,s5=B5}else O2=w,m5=D,d5=0,s5=r2;if(Z1=n+4|0,_1=w-a1|0,V1=(d5|0)<(_1|0),V1){for(O1=w+-1|0,q1=O1-d5|0,H1=q1-a1|0,Y1=H1>>>1,j1=Y1<<1,n2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;u2=_2+-8|0,o2=J2+-16|0,E2=J2+-8|0,A2=+s[E2>>2],K1=+s[$5>>2],h2=A2-K1,$2=+s[o2>>2],i2=$5+8|0,l2=+s[i2>>2],a2=$2-l2,X1=_2+-4|0,s2=+s[X1>>2],f2=a2*s2,t2=+s[u2>>2],y2=t2*h2,k2=y2+f2,m=_5+w|0,w2=N1+(m<<2)|0,s[w2>>2]=k2,C2=+s[u2>>2],F2=C2*a2,N2=+s[X1>>2],d2=N2*h2,K2=F2-d2,G2=_5|1,B=G2+w|0,H2=N1+(B<<2)|0,s[H2>>2]=K2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(_1|0),z2;)_2=u2,_5=P2,J2=o2,$5=M2;o5=n2+2|0,a5=n+(P1<<2)|0,p=O2+z1|0,W2=T1+(p<<2)|0,L2=W2,G5=o5,j2=a5}else L2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(w|0),X2)for(x5=n+(v<<2)|0,p2=L2,q2=G5,u5=x5,x2=j2;e5=p2+-8|0,b5=u5+-16|0,Z2=u5+-8|0,f5=+s[Z2>>2],k5=-f5,P5=+s[x2>>2],l5=k5-P5,v2=+s[b5>>2],y=-v2,_=x2+8|0,x=+s[_>>2],L=y-x,F=p2+-4|0,M=+s[F>>2],T=L*M,N=+s[e5>>2],G=N*l5,O=G+T,E=q2+w|0,Y=N1+(E<<2)|0,s[Y>>2]=O,t0=+s[e5>>2],J=t0*L,W=+s[F>>2],e0=W*l5,q=J-e0,X=q2|1,I=X+w|0,U=N1+(I<<2)|0,s[U>>2]=q,l0=x2+16|0,Z=q2+2|0,$0=(Z|0)<(w|0),$0;)p2=e5,q2=Z,u5=b5,x2=l0;if(A5=t+4|0,c5=e[A5>>2]|0,hQ(c5,T1,c2,w),g5=e[t>>2]|0,p5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,uQ(g5,p5,S5,N1),s0=(r1|0)>0,!s0){C=q5;return}for(r0=A+(w<<2)|0,n0=e[D2>>2]|0,V=n0+(w<<2)|0,h0=t+16|0,C5=V,I5=0,t5=N1,i5=r0;o0=i5+-4|0,g0=+s[t5>>2],j=+s[C5>>2],c0=j*g0,I0=t5+4|0,w0=+s[I0>>2],C0=C5+4|0,v0=+s[C0>>2],d0=v0*w0,p0=d0+c0,B0=+s[h0>>2],E0=p0*B0,b0=A+(I5<<2)|0,s[b0>>2]=E0,K0=+s[t5>>2],Q0=+s[C0>>2],M0=Q0*K0,T0=+s[I0>>2],G0=+s[C5>>2],P0=G0*T0,y0=M0-P0,Y0=+s[h0>>2],F0=y0*Y0,s[o0>>2]=F0,_0=t5+8|0,N0=C5+8|0,J0=I5+1|0,R5=(J0|0)==(r1|0),!R5;)C5=N0,I5=J0,t5=_0,i5=o0;C=q5}function hQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,ee=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,f8=0,H8=0,Y8=0,et=0,tt=0,d8=0,Pe=0,xe=0,i8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,r8=0,q4=0,Re=0,n8=0,I8=0,_8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,nt=0,H4=0,I3=0,He=0,p8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,a8=0,$8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,l8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,B8=0,mt=0,Ft=0,jr=0,Cr=0;if(Cr=C,I0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,_3=a>>1,p=_3+-8|0,W8=A+(p<<2)|0,g=n,Et=P5,mt=W8;l8=Et+24|0,P7=+s[l8>>2],C7=mt+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=Et+28|0,T0=+s[C0>>2],z0=mt+28|0,g1=+s[z0>>2],E1=T0-g1,v1=Q7+P7,s[l8>>2]=v1,n2=+s[z0>>2],$2=n2+T0,s[C0>>2]=$2,w2=g+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[g>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[g>>2],i6=m3*E1,P3=+s[w2>>2],j3=P3*w7,p6=i6-j3,s[z0>>2]=p6,H3=Et+16|0,N6=+s[H3>>2],s9=mt+16|0,X6=+s[s9>>2],I9=N6-X6,S4=Et+20|0,G4=+s[S4>>2],Ge=mt+20|0,$4=+s[Ge>>2],g6=G4-$4,v4=X6+N6,s[H3>>2]=v4,ht=+s[Ge>>2],q8=ht+G4,s[S4>>2]=q8,i8=g+20|0,J8=+s[i8>>2],E8=J8*g6,we=g+16|0,D9=+s[we>>2],L8=D9*I9,lt=L8+E8,s[s9>>2]=lt,Yt=+s[we>>2],R8=Yt*g6,Lt=+s[i8>>2],Z8=Lt*I9,Me=R8-Z8,s[Ge>>2]=Me,Ie=Et+8|0,e4=+s[Ie>>2],xt=mt+8|0,r7=+s[xt>>2],G7=e4-r7,U7=Et+12|0,d7=+s[U7>>2],Jt=mt+12|0,I7=+s[Jt>>2],Vt=d7-I7,E7=r7+e4,s[Ie>>2]=E7,Kt=+s[Jt>>2],m7=Kt+d7,s[U7>>2]=m7,n7=g+36|0,$i=+s[n7>>2],O7=$i*Vt,p7=g+32|0,li=+s[p7>>2],B7=li*G7,s7=B7+O7,s[xt>>2]=s7,ci=+s[p7>>2],q7=ci*Vt,H7=+s[n7>>2],Y7=H7*G7,J7=q7-Y7,s[Jt>>2]=J7,o7=+s[Et>>2],V7=+s[mt>>2],zt=o7-V7,A7=Et+4|0,Pt=+s[A7>>2],Zt=mt+4|0,gi=+s[Zt>>2],K7=Pt-gi,hi=V7+o7,s[Et>>2]=hi,y7=+s[Zt>>2],z7=y7+Pt,s[A7>>2]=z7,v7=g+52|0,Z7=+s[v7>>2],k7=Z7*K7,Wt=g+48|0,S7=+s[Wt>>2],W7=S7*zt,a7=W7+k7,s[mt>>2]=a7,Ot=+s[Wt>>2],b7=Ot*K7,ve=+s[v7>>2],v0=ve*zt,d0=b7-v0,s[Zt>>2]=d0,p0=Et+-32|0,B0=mt+-32|0,E0=g+64|0,b0=B0>>>0>>0,!b0;)g=E0,Et=p0,mt=B0;if(K0=(I0|0)>1,K0)for(Rt=1;;){if(L0=1<>Rt,G0=4<>1,S=P0+-8|0,N=G0+1|0,l0=G0<<1,r0=l0|1,h0=G0*3|0,g0=h0+1|0,c0=G0<<2,$7=0;;){for(Y0=r5($7,M0)|0,F0=A+(Y0<<2)|0,E=m+Y0|0,_0=A+(E<<2)|0,$0=S+Y0|0,N0=A+($0<<2)|0,f=n,B8=_0,Ft=N0;V0=B8+24|0,J0=+s[V0>>2],O0=Ft+24|0,U0=+s[O0>>2],q0=J0-U0,r1=B8+28|0,H0=+s[r1>>2],e1=Ft+28|0,D0=+s[e1>>2],i1=H0-D0,c1=U0+J0,s[V0>>2]=c1,$1=+s[e1>>2],u1=$1+H0,s[r1>>2]=u1,l1=f+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[f>>2],o1=n1*q0,Z0=o1+a1,s[O0>>2]=Z0,I1=+s[f>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*q0,p1=h1-d1,s[e1>>2]=p1,B1=f+(G0<<2)|0,Q1=B8+16|0,L1=+s[Q1>>2],x1=Ft+16|0,w1=+s[x1>>2],b1=L1-w1,R1=B8+20|0,F1=+s[R1>>2],G1=Ft+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+L1,s[Q1>>2]=N1,_1=+s[G1>>2],V1=_1+F1,s[R1>>2]=V1,O1=f+(N<<2)|0,q1=+s[O1>>2],H1=q1*Z1,Y1=+s[B1>>2],j1=Y1*b1,W1=j1+H1,s[x1>>2]=W1,P1=+s[B1>>2],c2=P1*Z1,z1=+s[O1>>2],u2=z1*b1,o2=c2-u2,s[G1>>2]=o2,E2=f+(l0<<2)|0,A2=B8+8|0,K1=+s[A2>>2],h2=Ft+8|0,i2=+s[h2>>2],l2=K1-i2,r2=B8+12|0,a2=+s[r2>>2],X1=Ft+12|0,s2=+s[X1>>2],f2=a2-s2,t2=i2+K1,s[A2>>2]=t2,y2=+s[X1>>2],k2=y2+a2,s[r2>>2]=k2,C2=f+(r0<<2)|0,F2=+s[C2>>2],D2=F2*f2,N2=+s[E2>>2],d2=N2*l2,K2=d2+D2,s[h2>>2]=K2,G2=+s[E2>>2],H2=G2*f2,M2=+s[C2>>2],P2=M2*l2,o5=H2-P2,s[X1>>2]=o5,O2=f+(h0<<2)|0,T1=+s[B8>>2],X2=+s[Ft>>2],x5=T1-X2,e5=B8+4|0,b5=+s[e5>>2],Z2=Ft+4|0,f5=+s[Z2>>2],k5=b5-f5,v2=X2+T1,s[B8>>2]=v2,m5=+s[Z2>>2],n5=m5+b5,s[e5>>2]=n5,L2=f+(g0<<2)|0,_2=+s[L2>>2],p2=_2*k5,C5=+s[O2>>2],R5=C5*x5,d5=R5+p2,s[Ft>>2]=d5,D5=+s[O2>>2],_5=D5*k5,q2=+s[L2>>2],I5=q2*x5,A5=_5-I5,s[Z2>>2]=A5,c5=f+(c0<<2)|0,p5=B8+-32|0,M1=Ft+-32|0,S5=M1>>>0>>0,!S5;)f=c5,B8=p5,Ft=M1;if(g5=$7+1|0,a5=(g5|0)<(L0|0),a5)$7=g5;else break}if(g2=Rt+1|0,D7=(g2|0)==(I0|0),D7)break;Rt=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;B5=A+(n9<<2)|0,B=n9|30,t5=A+(B<<2)|0,s5=+s[t5>>2],T=n9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],u5=s5-J2,U=n9|31,i5=A+(U<<2)|0,L5=+s[i5>>2],s0=n9|15,j2=A+(s0<<2)|0,x2=+s[j2>>2],Q5=L5-x2,q5=J2+s5,s[t5>>2]=q5,j5=x2+L5,s[i5>>2]=j5,s[h5>>2]=u5,s[j2>>2]=Q5,n0=n9|28,E5=A+(n0<<2)|0,f3=+s[E5>>2],V=n9|12,h3=A+(V<<2)|0,J5=+s[h3>>2],X5=f3-J5,o0=n9|29,n3=A+(o0<<2)|0,F5=+s[n3>>2],j=n9|13,V5=A+(j<<2)|0,v3=+s[V5>>2],u3=F5-v3,B3=J5+f3,s[E5>>2]=B3,z3=v3+F5,s[n3>>2]=z3,G3=X5*.9238795042037964,z5=u3*.3826834261417389,w3=G3-z5,s[h3>>2]=w3,W5=X5*.3826834261417389,x3=u3*.9238795042037964,U3=x3+W5,s[V5>>2]=U3,u0=n9|26,a3=A+(u0<<2)|0,l3=+s[a3>>2],b=n9|10,c3=A+(b<<2)|0,C3=+s[c3>>2],H5=l3-C3,v=n9|27,U5=A+(v<<2)|0,O5=+s[U5>>2],w=n9|11,v5=A+(w<<2)|0,M5=+s[v5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,R3=H5-o6,u6=R3*.7071067690849304,s[c3>>2]=u6,Q3=o6+H5,k3=Q3*.7071067690849304,s[v5>>2]=k3,D=n9|24,y3=A+(D<<2)|0,r6=+s[y3>>2],y=n9|8,O3=A+(y<<2)|0,K5=+s[O3>>2],S3=r6-K5,_=n9|25,g3=A+(_<<2)|0,q3=+s[g3>>2],x=n9|9,l6=A+(x<<2)|0,d3=+s[l6>>2],v6=q3-d3,k6=K5+r6,s[y3>>2]=k6,S6=d3+q3,s[g3>>2]=S6,X3=S3*.3826834261417389,c6=v6*.9238795042037964,B6=X3-c6,L6=v6*.3826834261417389,Y6=S3*.9238795042037964,C6=L6+Y6,L=n9|22,b3=A+(L<<2)|0,e6=+s[b3>>2],F=n9|6,t6=A+(F<<2)|0,f6=+s[t6>>2],D3=e6-f6,M=n9|7,Y3=A+(M<<2)|0,Z3=+s[Y3>>2],G=n9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=Z3-A6,O6=f6+e6,s[b3>>2]=O6,s3=A6+Z3,s[b6>>2]=s3,s[t6>>2]=t3,s[Y3>>2]=D3,O=n9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=A+(z<<2)|0,Q6=+s[n6>>2],x6=d6-Q6,Y=n9|5,K6=A+(Y<<2)|0,I6=+s[K6>>2],t0=n9|21,J6=A+(t0<<2)|0,F3=+s[J6>>2],j6=I6-F3,G6=Q6+d6,s[n6>>2]=G6,e9=F3+I6,s[J6>>2]=e9,R6=j6*.9238795042037964,U6=x6*.3826834261417389,D6=R6+U6,z6=j6*.3826834261417389,y6=x6*.9238795042037964,F6=z6-y6,J=n9|2,M3=A+(J<<2)|0,M6=+s[M3>>2],W=n9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],u9=M6-A9,e0=n9|3,f9=A+(e0<<2)|0,d9=+s[f9>>2],q=n9|19,a9=A+(q<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=A9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+u9,N9=i9*.7071067690849304,E4=T9-u9,o4=E4*.7071067690849304,h4=+s[B5>>2],X=n9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=n9|1,E9=A+(Z<<2)|0,q6=+s[E9>>2],K=n9|17,r9=A+(K<<2)|0,m4=+s[r9>>2],A4=q6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+q6,s[r9>>2]=b4,D4=A4*.3826834261417389,x4=b9*.9238795042037964,T4=D4+x4,X4=A4*.9238795042037964,C4=b9*.3826834261417389,N4=X4-C4,U9=N4-C6,a4=T4-B6,R4=T4+B6,u4=N4+C6,Ce=a4+U9,q9=U9-a4,m9=+s[v5>>2],pe=o4-m9,Ne=+s[c3>>2],Xe=Ne-N9,U4=Ne+N9,P4=m9+o4,ee=+s[h3>>2],be=ee-D6,e8=+s[V5>>2],Z9=e8-F6,$e=ee+D6,f4=e8+F6,_6=be-Z9,O4=Z9+be,R9=+s[h5>>2],_4=R9-t3,le=+s[j2>>2],W9=le-D3,ce=t3+R9,ge=D3+le,p4=_4+pe,te=_4-pe,F4=_6+Ce,he=F4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=he+p4,s[t6>>2]=l4,Be=p4-he,s[a6>>2]=Be,B4=O4-q9,c4=B4*.7071067690849304,P6=W9-Xe,De=c4+te,s[B5>>2]=De,_e=te-c4,s[M3>>2]=_e,t8=O4+q9,g4=t8*.7071067690849304,u8=W9+Xe,J3=P6+Ue,s[f9>>2]=J3,w9=P6-Ue,s[E9>>2]=w9,p9=u8+g4,s[Y3>>2]=p9,M4=u8-g4,s[K6>>2]=M4,ie=ce+U4,ct=ce-U4,Le=R4+$e,gt=$e-R4,vt=ie+Le,s[h5>>2]=vt,ut=ie-Le,s[h3>>2]=ut,T8=f4-u4,N8=ge-P4,G8=ct+T8,s[O3>>2]=G8,U8=ct-T8,s[c3>>2]=U8,j8=f4+u4,X8=ge+P4,kt=N8+gt,s[v5>>2]=kt,P8=N8-gt,s[l6>>2]=P8,O8=X8+j8,s[j2>>2]=O8,k8=X8-j8,s[V5>>2]=k8,S8=+s[g3>>2],f8=b4-S8,H8=+s[y3>>2],Y8=y9-H8,et=H8+y9,tt=S8+b4,d8=Y8+f8,Pe=f8-Y8,xe=+s[a9>>2],b8=+s[U5>>2],v9=xe-b8,ft=+s[a3>>2],Qe=+s[t9>>2],dt=ft-Qe,St=Qe+ft,it=b8+xe,bt=+s[E5>>2],re=+s[n6>>2],rt=bt-re,D8=+s[n3>>2],r8=+s[J6>>2],q4=D8-r8,Re=re+bt,n8=r8+D8,I8=rt-q4,_8=q4+rt,ue=+s[t5>>2],j9=+s[b3>>2],s8=ue-j9,o8=+s[i5>>2],m8=+s[b6>>2],fe=o8-m8,ye=j9+ue,Oe=m8+o8,qe=s8+v9,X9=s8-v9,Fe=I8+d8,de=Fe*.7071067690849304,A8=I8-d8,Q4=A8*.7071067690849304,C8=de+qe,s[b3>>2]=C8,nt=qe-de,s[n6>>2]=nt,H4=_8-Pe,I3=H4*.7071067690849304,He=fe-dt,p8=I3+X9,s[G9>>2]=p8,ne=X9-I3,s[t9>>2]=ne,H9=_8+Pe,se=H9*.7071067690849304,Ye=fe+dt,V8=He+Q4,s[a9>>2]=V8,It=He-Q4,s[r9>>2]=It,st=Ye+se,s[b6>>2]=st,ot=Ye-se,s[J6>>2]=ot,K8=ye+St,At=ye-St,z8=Re+et,a8=Re-et,$8=K8+z8,s[t5>>2]=$8,Y4=K8-z8,s[E5>>2]=Y4,at=n8-tt,x8=Oe-it,Je=At+at,s[y3>>2]=Je,B9=At-at,s[a3>>2]=B9,$t=n8+tt,Ve=Oe+it,Gt=x8+a8,s[U5>>2]=Gt,Ht=x8-a8,s[g3>>2]=Ht,Dt=Ve+$t,s[i5>>2]=Dt,_t=Ve-$t,s[n3>>2]=_t,oe=n9+32|0,Ut=(oe|0)<(a|0),Ut;)n9=oe}function uQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0;for(m1=C,b=t>>1,v=a+(b<<2)|0,G=n+(t<<2)|0,n1=G,o1=A,Z0=a,I1=v;l0=e[o1>>2]|0,g=l0+b|0,j=a+(g<<2)|0,b0=o1+4|0,_0=e[b0>>2]|0,f=_0+b|0,D0=a+(f<<2)|0,E=g+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=f+1|0,w=a+(I<<2)|0,D=+s[w>>2],y=a1-D,_=+s[j>>2],x=+s[D0>>2],L=x+_,F=+s[n1>>2],M=L*F,T=n1+4|0,N=+s[T>>2],O=N*y,z=O+M,Y=N*L,t0=F*y,J=Y-t0,W=I1+-16|0,e0=D+a1,q=e0*.5,X=_-x,U=X*.5,Z=z+q,s[Z0>>2]=Z,K=q-z,$0=I1+-8|0,s[$0>>2]=K,s0=J+U,r0=Z0+4|0,s[r0>>2]=s0,n0=J-U,V=I1+-4|0,s[V>>2]=n0,h0=o1+8|0,o0=e[h0>>2]|0,m=o0+b|0,g0=a+(m<<2)|0,c0=o1+12|0,u0=e[c0>>2]|0,B=u0+b|0,I0=a+(B<<2)|0,p=m+1|0,w0=a+(p<<2)|0,C0=+s[w0>>2],S=B+1|0,v0=a+(S<<2)|0,d0=+s[v0>>2],p0=C0-d0,B0=+s[g0>>2],E0=+s[I0>>2],K0=E0+B0,L0=n1+8|0,Q0=+s[L0>>2],M0=K0*Q0,T0=n1+12|0,G0=+s[T0>>2],P0=G0*p0,y0=P0+M0,Y0=G0*K0,F0=Q0*p0,N0=Y0-F0,V0=d0+C0,J0=V0*.5,O0=B0-E0,z0=O0*.5,U0=y0+J0,q0=Z0+8|0,s[q0>>2]=U0,r1=J0-y0,s[W>>2]=r1,H0=N0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=N0-z0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,u1=o1+16|0,g1=Z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,o1=u1,Z0=g1,I1=W}function GS(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0;return p=C,n=t+28|0,A=e[n>>2]|0,a=A+2868|0,g=n4(1,36)|0,f=t+4|0,E=e[f>>2]|0,I=g+4|0,e[I>>2]=E,s[g>>2]=-9999,m=g+8|0,e[m>>2]=a,g|0}function US(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function PS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function OS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,x=t+36|0,e[x>>2]=_,i2=+(_|0),j5=i2*8,u3=j5,l3=+Zr(+u3),A3=l3*1.4426950408889634,g3=+Hi(A3),L6=g3+-1,b6=~~L6,L=t+32|0,e[L>>2]=b6,W=+(g|0),n0=W*.25,v0=n0,G0=v0*.5,U0=+(a|0),l1=G0/U0,p1=+Zr(+l1),U1=p1*1.4426950216293335,W1=U1+-5.965784072875977,l2=b6+1|0,F2=1<>2]=$5,Q5=+(a|0),q5=Q5+.25,E5=q5*W,f3=E5,h3=f3*.5,J5=h3/U0,X5=+Zr(+J5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,V5=F5+.5,v3=~~V5,B3=1-$5|0,z3=B3+v3|0,G3=t+40|0,e[G3>>2]=z3,z5=a<<2,w3=S9(z5)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(z5)|0,x3=t+20|0,e[x3>>2]=i6,U3=S9(z5)|0,a3=t+24|0,e[a3>>2]=U3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=g,H5=t+48|0,s[H5>>2]=1,U5=(g|0)<26e3;do if(U5)s[H5>>2]=0;else{if(O5=(g|0)<38e3,O5){s[H5>>2]=.9399999976158142;break}v5=(g|0)>46e3,v5&&(s[H5>>2]=1.274999976158142)}while(!1);P3=U0*2,M5=+(g|0),o6=(a|0)>0,Q3=o6,z6=0,X6=0;e:for(;;){for(B=Q3^1,y6=z6;;){if(y3=y6+1|0,r6=+(y3|0),j3=r6*.08664337545633316,O3=j3+2.7488713472395148,K5=+On(+O3),S3=P3*K5,q3=S3/M5,l6=+Hi(q3),d3=~~l6,m=(d3|0)<=(X6|0),K6=m|B,!K6){E=y3,I=d3,F6=y6;break}if(v6=(y3|0)<87,v6)y6=y3;else{A9=X6;break e}}for(k6=1272+(F6<<2)|0,S6=+s[k6>>2],p6=1272+(E<<2)|0,X3=+s[p6>>2],c6=X3-S6,B6=I-X6|0,Y6=+(B6|0),C6=c6/Y6,b3=X6-I|0,e6=X6-a|0,t6=b3>>>0>e6>>>0,T9=t6?b3:e6,e3=X6-T9|0,x6=S6,u9=X6;f6=x6+100,H3=w3+(u9<<2)|0,s[H3>>2]=f6,D3=x6+C6,Y3=u9+1|0,G6=(Y3|0)==(e3|0),!G6;)x6=D3,u9=Y3;if(R3=(e3|0)<(a|0),u6=(E|0)<87,u6)Q3=R3,z6=E,X6=e3;else{A9=e3;break}}if(k3=(A9|0)<(a|0),k3)for(f9=A9;N6=f9+-1|0,n6=w3+(N6<<2)|0,Q6=e[n6>>2]|0,F=w3+(f9<<2)|0,e[F>>2]=Q6,M=f9+1|0,j6=(M|0)==(a|0),!j6;)f9=M;if(Z3=(a|0)>0,Z3){for(A6=a<<1,t3=(g|0)/(A6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,_3=n+112|0,R6=1,M3=0,d9=-99;;){Y=r5(t3,M3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,q=+Zs(+e0),X=q*13.100000381469727,U=r5(Y,Y)|0,l0=+(U|0),Z=l0*18499999754340024e-24,K=Z,$0=+Zs(+K),s0=$0*2.240000009536743,r0=s0+X,V=t0*9999999747378752e-20,h0=V,o0=r0+h0,g0=o0,j=s3+d9|0,c0=(j|0)<(M3|0);e:do if(c0)for(u0=+s[_3>>2],I0=g0-u0,w0=I0,$9=d9;;){if(C0=r5($9,t3)|0,d0=+(C0|0),p0=d0*.0007399999885819852,B0=p0,E0=+Zs(+B0),b0=E0*13.100000381469727,K0=r5(C0,C0)|0,L0=+(K0|0),Q0=L0*18499999754340024e-24,M0=Q0,T0=+Zs(+M0),P0=T0*2.240000009536743,y0=d0*9999999747378752e-20,Y0=y0,F0=b0+Y0,_0=F0+P0,N0=_0(a|0);e:do if(V0)U6=R6;else for(J0=e[a6>>2]|0,O0=J0+M3|0,D6=R6;;){if(H0=(D6|0)<(O0|0),!H0&&(e1=r5(D6,t3)|0,D0=+(e1|0),i1=D0*.0007399999885819852,c1=i1,$1=+Zs(+c1),u1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,o1=+Zs(+n1),Z0=o1*2.240000009536743,I1=D0*9999999747378752e-20,h1=I1,m1=u1+h1,d1=m1+Z0,E1=+s[d6>>2],B1=E1+g0,Q1=B1,L1=d1>2]=F1,v1=M3+1|0,F3=(v1|0)==(a|0),F3)break;R6=U6,M3=v1,d9=a9}if(Z3)for(T=M5*.5,N=e[L>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){v=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(y=M5*.5,v=y),u2=n+36|0,o2=v/U0,E2=o2,A2=n+24|0,K1=+s[A2>>2],h2=n+28|0,$2=+s[h2>>2],r2=YS(u2,E2,a,K1,$2)|0,a2=t+8|0,e[a2>>2]=r2,X1=S9(12)|0,s2=t+12|0,e[s2>>2]=X1,f2=S9(z5)|0,e[X1>>2]=f2,t2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=t2,k2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=k2,!!Z3)for(C2=e[c3>>2]|0,b=e[X1>>2]|0,p=X1+4|0,w=e[p>>2]|0,S=X1+8|0,D=e[S>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,K2=d2/P3,G2=+Zr(+K2),H2=G2*2.885390043258667,M2=H2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,f=e9>=16,s9=f?16:e9,o5=~~s9,T1=+(o5|0),X2=s9-T1,x5=X2,e5=1-x5,b5=o5+1|0,Z2=(C2+132|0)+(o5<<2)|0,f5=+s[Z2>>2],k5=f5,P5=k5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],n5=m5*X2,L2=n5,_2=L2+P5,p2=_2,C5=b+(t9<<2)|0,s[C5>>2]=p2,R5=(C2+200|0)+(o5<<2)|0,d5=+s[R5>>2],D5=d5,G5=D5*e5,q2=(C2+200|0)+(b5<<2)|0,I5=+s[q2>>2],A5=I5*X2,c5=A5,p5=c5+G5,M1=p5,S5=w+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,B5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,u5=J2+B5,i5=u5,L5=D+(t9<<2)|0,s[L5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function fQ(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;if(U0=C,A=(t|0)==0,!A){if(a=t+16|0,w=e[a>>2]|0,O=(w|0)==0,O||I2(w),Z=t+20|0,c0=e[Z>>2]|0,K0=(c0|0)==0,K0||I2(c0),F0=t+24|0,_0=e[F0>>2]|0,N0=(_0|0)==0,N0||I2(_0),g=t+8|0,f=e[g>>2]|0,E=(f|0)==0,!E){for(m=f,J0=0;I=m+(J0<<2)|0,B=e[I>>2]|0,p=e[B>>2]|0,I2(p),S=e[g>>2]|0,b=S+(J0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,I2(y),_=e[g>>2]|0,x=_+(J0<<2)|0,L=e[x>>2]|0,F=L+8|0,M=e[F>>2]|0,I2(M),T=e[g>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[g>>2]|0,J=t0+(J0<<2)|0,W=e[J>>2]|0,e0=W+16|0,q=e[e0>>2]|0,I2(q),X=e[g>>2]|0,U=X+(J0<<2)|0,l0=e[U>>2]|0,K=l0+20|0,$0=e[K>>2]|0,I2($0),s0=e[g>>2]|0,r0=s0+(J0<<2)|0,n0=e[r0>>2]|0,V=n0+24|0,h0=e[V>>2]|0,I2(h0),o0=e[g>>2]|0,g0=o0+(J0<<2)|0,j=e[g0>>2]|0,u0=j+28|0,I0=e[u0>>2]|0,I2(I0),w0=e[g>>2]|0,C0=w0+(J0<<2)|0,v0=e[C0>>2]|0,I2(v0),d0=J0+1|0,V0=(d0|0)==17,!V0;)n=e[g>>2]|0,m=n,J0=d0;p0=e[g>>2]|0,I2(p0)}B0=t+12|0,E0=e[B0>>2]|0,b0=(E0|0)==0,b0||(L0=e[E0>>2]|0,I2(L0),Q0=e[B0>>2]|0,M0=Q0+4|0,T0=e[M0>>2]|0,I2(T0),G0=e[B0>>2]|0,P0=G0+8|0,y0=e[P0>>2]|0,I2(y0),Y0=e[B0>>2]|0,I2(Y0)),O0=t,q0=O0+52|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(q0|0))}}function dQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,f=I,x=C,C=C+((1*f|0)+15&-16)|0,J=t+24|0,$0=e[J>>2]|0,EQ(E,$0,n,A,140,-1),s0=(E|0)>0,s0)for(c0=0;r0=n+(c0<<2)|0,n0=+s[r0>>2],V=A+(c0<<2)|0,h0=+s[V>>2],m=n0-h0,B=x+(c0<<2)|0,s[B>>2]=m,p=c0+1|0,g0=(p|0)==(E|0),!g0;)c0=p;if(S=e[J>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,EQ(E,S,x,A,0,D),s0)u0=0;else{C=C0;return}for(;_=n+(u0<<2)|0,L=+s[_>>2],F=x+(u0<<2)|0,M=+s[F>>2],T=L-M,s[F>>2]=T,N=u0+1|0,j=(N|0)==(E|0),!j;)u0=N;if(!s0){C=C0;return}for(y=e[b>>2]|0,I0=0;G=A+(I0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,g=e0?0:a,q=x+(I0<<2)|0,X=+s[q>>2],U=(y+336|0)+(g<<2)|0,l0=+s[U>>2],Z=l0+X,s[G>>2]=Z,K=I0+1|0,o0=(K|0)==(E|0),!o0;)I0=K;C=C0}function IQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=+a,g=+g;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,p1=l1<<2,I=p1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,i2=e[W1>>2]|0,C2=i2+4|0,o5=+s[C2>>2],l5=o5+g,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,g0=A5+1|0,E0=(g0|0)<(l1|0),E0;)A5=g0;if(F0=i2+8|0,e1=+s[F0>>2],c1=l50,$1){for(u1=t+16|0,g1=e[u1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=n1,Z0=g5+1|0,q2=(Z0|0)==(M|0),!q2;)g5=Z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=i2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(B1=t+20|0,Q1=e[B1>>2]|0,L1=t+32|0,x1=t+36|0,w1=t+28|0,c5=0;;){b1=n+(c5<<2)|0,R1=+s[b1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=R1;e:for(;;)for(p5=S5;;){if(v1=p5+1|0,Z1=(v1|0)<(M|0),!Z1){S=0,v=v1,M1=p5,h5=s5;break e}if(N1=Q1+(v1<<2)|0,_1=e[N1>>2]|0,V1=(_1|0)==(G1|0),!V1){S=1,v=v1,M1=p5,h5=s5;break e}if(O1=n+(v1<<2)|0,q1=+s[O1>>2],H1=q1>s5,H1){S5=v1,s5=q1;continue e}else p5=v1}if(Y1=h5+6,j1=A+(M1<<2)|0,n2=+s[j1>>2],P1=Y1>n2,P1&&(c2=e[L1>>2]|0,z1=G1>>c2,u2=(z1|0)>16,E=u2?16:z1,o2=(E|0)<0,f=o2?0:E,E2=h1+(f<<2)|0,A2=e[E2>>2]|0,K1=e[x1>>2]|0,h2=E1+h5,$2=h2,l2=$2+-30,r2=l2*.10000000149011612,a2=~~r2,X1=(a2|0)<0,s2=X1?0:a2,f2=(s2|0)>7,t2=f2?7:s2,y2=A2+(t2<<2)|0,k2=e[y2>>2]|0,w2=k2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[k2>>2],d2=~~N2,K2=(d2|0)<(D2|0),K2))for(G2=Q1+(M1<<2)|0,H2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=H2-M2|0,z2=+(P2|0),O2=K1>>1,T1=+(O2|0),X2=N2+-16,x5=+(K1|0),e5=X2*x5,b5=e5-T1,Z2=b5+z2,f5=~~Z2,I5=d2,q5=f5;k5=(q5|0)>0,k5&&(F=I5+2|0,P5=k2+(F<<2)|0,v2=+s[P5>>2],m5=v2+h5,n5=U1+(q5<<2)|0,L2=+s[n5>>2],_2=L2>2]=m5)),p2=q5+K1|0,C5=(p2|0)<(l1|0),R5=I5+1|0,d5=(R5|0)<(D2|0),$5=d5&C5,$5;)I5=R5,q5=p2;if(S)c5=v;else{x=x1;break}}else j5=7}else j5=7;(j5|0)==7&&(y=t+36|0,x=y),D5=e[x>>2]|0,JS(U1,D5,l1),G=e[t>>2]|0,O=(G|0)>1;e:do if(O)for(z=t+20|0,Y=t+28|0,t0=e[z>>2]|0,J=e[t0>>2]|0,W=D5>>1,e0=J-W|0,q=e[Y>>2]|0,X=e0-q|0,l0=e[W1>>2]|0,Z=l0+32|0,V=1,j=J,W2=0,x2=X;;){s0=U1+(x2<<2)|0,r0=+s[s0>>2],n0=t0+(V<<2)|0,h0=e[n0>>2]|0,o0=h0+j|0,c0=o0>>1,u0=c0-q|0,I0=+s[Z>>2],w0=r0>I0,J2=w0?I0:r0,C0=(x2|0)<(u0|0);t:do if(C0)for(m=x2,i5=J2;;){for(v0=i5==-9999,B=m;;){if(d0=B+1|0,p0=U1+(d0<<2)|0,B0=+s[p0>>2],b0=B0>-9999,b0){if(K0=B0=(G|0),G0=(j|0)>(M0|0),L5=T0|G0;t:do if(L5)g2=W2;else for(B5=W2;;){if(P0=A+(B5<<2)|0,y0=+s[P0>>2],Y0=y0>2]=u5),_0=B5+1|0,N0=(_0|0)<(G|0),!N0){g2=_0;break t}if(D=t0+(_0<<2)|0,L=e[D>>2]|0,V0=(L|0)>(M0|0),V0){g2=_0;break}else B5=_0}while(!1);if(K=g2+1|0,$0=(K|0)<(G|0),!$0){a5=g2;break e}w=t0+(g2<<2)|0,_=e[w>>2]|0,V=K,j=_,W2=g2,x2=Q5}else a5=0;while(!1);if(J0=e[T>>2]|0,O0=J0+-1|0,z0=U1+(O0<<2)|0,U0=+s[z0>>2],q0=(a5|0)<(G|0),q0)t5=a5;else{C=E5;return}for(;r1=A+(t5<<2)|0,H0=+s[r1>>2],D0=H0>2]=U0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function el(t,n,A,a,g,f,E){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0,E=E|0;var I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0;if(L0=C,m=e[t>>2]|0,B=t+4|0,F=e[B>>2]|0,e0=(F+12|0)+(a<<2)|0,V=+s[e0>>2],I0=(m|0)>0,!!I0)for(w0=t+48|0,C0=+s[w0>>2],v0=t+12|0,d0=e[v0>>2]|0,p=d0+(a<<2)|0,S=e[p>>2]|0,b=F+108|0,v=(a|0)==1,w=C0,D=w*.005,y=w*3e-4,E0=0;_=n+(E0<<2)|0,x=+s[_>>2],L=S+(E0<<2)|0,M=+s[L>>2],T=M+x,N=+s[b>>2],G=T>N,b0=G?N:T,O=A+(E0<<2)|0,z=+s[O>>2],Y=z+V,t0=b0>2]=I,v&&(W=E+(E0<<2)|0,q=+s[W>>2],X=b0-q,U=X>-17.200000762939453,l0=X+17.200000762939453,Z=l0,U?(K=D*Z,$0=1-K,s0=$0,r0=s0<0,r0?p0=9999999747378752e-20:p0=s0):(n0=y*Z,h0=1-n0,o0=h0,p0=o0),g0=f+(E0<<2)|0,j=+s[g0>>2],c0=j*p0,s[g0>>2]=c0),u0=E0+1|0,B0=(u0|0)==(m|0),!B0;)E0=u0}function qS(t,n){t=+t,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0;return N=C,a=n+4|0,g=e[a>>2]|0,w=g+28|0,D=e[w>>2]|0,y=n+40|0,_=e[y>>2]|0,x=D+(_<<2)|0,L=e[x>>2]|0,F=(L|0)/2&-1,M=+(F|0),f=g+8|0,E=e[f>>2]|0,I=+(E|0),m=M/I,B=D+2936|0,p=+s[B>>2],S=p*m,b=S+t,v=b<-9999,A=v?-9999:b,+A}function HS(t,n,A,a,g,f,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0,E=E|0,I=I|0,m=m|0;var B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0;if(G4=C,s0=e[A>>2]|0,r0=A+4|0,o5=e[r0>>2]|0,z3=o5+500|0,C3=e[z3>>2]|0,u6=(C3|0)==0,u6?V5=16:(l6=o5+508|0,C6=e[l6>>2]|0,V5=C6),t3=e[o5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,n0=e[I6>>2]|0,v0=(n+252|0)+(t<<2)|0,G0=e[v0>>2]|0,U0=1624+(G0<<3)|0,l1=+A1[U0>>3],p1=(n+312|0)+(t<<2)|0,U1=e[p1>>2]|0,W1=m<<2,S=W1,i2=C,C=C+((1*S|0)+15&-16)|0,b=W1,C2=C,C=C+((1*b|0)+15&-16)|0,y=W1,O2=C,C=C+((1*y|0)+15&-16)|0,_=W1,v2=C,C=C+((1*_|0)+15&-16)|0,x=W1,_5=C,C=C+((1*x|0)+15&-16)|0,g2=a+1156|0,x2=(s0|0)>1e3,N4=x2?1696:1624,T4=N4+(U1<<3)|0,x4=+A1[T4>>3],F5=r5(W1,V5)|0,L=F5,v3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=v3,v=F5,u3=C,C=C+((1*v|0)+15&-16)|0,e[C2>>2]=u3,w=F5,B3=C,C=C+((1*w|0)+15&-16)|0,e[O2>>2]=B3,D=F5,G3=C,C=C+((1*D|0)+15&-16)|0,e[v2>>2]=G3,z5=(m|0)>1,z5&&(w3=v3+(V5<<2)|0,W5=i2+4|0,e[W5>>2]=w3,i6=u3+(V5<<2)|0,x3=C2+4|0,e[x3>>2]=i6,U3=B3+(V5<<2)|0,a3=O2+4|0,e[a3>>2]=U3,l3=G3+(V5<<2)|0,c3=v2+4|0,e[c3>>2]=l3,u9=(m|0)==2,!u9))for(v5=2;M=e[i2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[v2>>2]|0,O5=r5(v5,V5)|0,P3=M+(O5<<2)|0,M5=i2+(v5<<2)|0,e[M5>>2]=P3,o6=G+(O5<<2)|0,e3=C2+(v5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,R3=O2+(v5<<2)|0,e[R3>>2]=A3,Q3=z+(O5<<2)|0,k3=v2+(v5<<2)|0,e[k3>>2]=Q3,y3=v5+1|0,X6=(y3|0)==(m|0),!X6;)v5=y3;if(H5=e[g2>>2]|0,U5=(s0|0)>0,U5)for(r6=e[v2>>2]|0,j3=(m|0)>0,O3=s0^-1,K5=V5^-1,T6=0,I9=O3;;){if(q3=(I9|0)>(K5|0),X4=q3?I9:K5,d3=X4^-1,v6=s0-T6|0,k6=(V5|0)>(v6|0),B=k6?v6:V5,s4(_5|0,E|0,W1|0)|0,ae(r6|0,0,F5|0)|0,j3)for(S6=(B|0)>0,p6=n0-T6|0,r9=0;;){if(b3=f+(r9<<2)|0,e6=e[b3>>2]|0,t6=e6+(T6<<2)|0,f6=_5+(r9<<2)|0,H3=e[f6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(b6=O2+(r9<<2)|0,A6=e[b6>>2]|0,O6=i2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,_3=v2+(r9<<2)|0,N6=e[_3>>2]|0,E9=0;N0=A6+(E9<<2)|0,s[N0>>2]=1000000013351432e-25,V0=s3+(E9<<2)|0,s[V0>>2]=0,J0=d6+(E9<<2)|0,s[J0>>2]=0,O0=N6+(E9<<2)|0,e[O0>>2]=0,U=E9+T6|0,z0=e6+(U<<2)|0,e[z0>>2]=0,q0=E9+1|0,M6=(q0|0)==(d3|0),!M6;)E9=q0}else{if(Y3=O2+(r9<<2)|0,Z3=e[Y3>>2]|0,S6){for(z9=0;l0=z9+T6|0,n6=e6+(l0<<2)|0,Q6=e[n6>>2]|0,x6=1768+(Q6<<2)|0,K6=e[x6>>2]|0,J6=Z3+(z9<<2)|0,e[J6>>2]=K6,F3=z9+1|0,y6=(F3|0)==(d3|0),!y6;)z9=F3;if(j6=g+(r9<<2)|0,G6=e[j6>>2]|0,e9=v2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;R6=(G9|0)>=(p6|0),$0=R6?x4:l1,U6=$0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+ji(+z6),V=Z3+(G9<<2)|0,h0=+s[V>>2],o0=d9/h0,g0=s9+(G9<<2)|0,y9=!(o0>2]=p,j=G9+1|0,F6=(j|0)==(B|0),!F6;)G9=j;if(S6)for(c0=i2+(r9<<2)|0,u0=e[c0>>2]|0,I0=C2+(r9<<2)|0,w0=e[I0>>2]|0,b9=0;;)if(C0=b9+T6|0,d0=G6+(C0<<2)|0,p0=+s[d0>>2],B0=p0*p0,E0=u0+(b9<<2)|0,s[E0>>2]=B0,b0=w0+(b9<<2)|0,s[b0>>2]=B0,K0=+s[d0>>2],L0=K0<0,L0&&(Q0=+s[E0>>2],M0=-Q0,s[E0>>2]=M0),T0=Z3+(b9<<2)|0,P0=+s[T0>>2],y0=P0*P0,s[T0>>2]=y0,Y0=b9+1|0,M3=(Y0|0)==(d3|0),M3){T=I0,_0=u0;break}else b9=Y0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=i2+(r9<<2)|0,Y=e[F>>2]|0,q=C2+(r9<<2)|0,T=q,_0=Y),F0=e[T>>2]|0,b4=e[r0>>2]|0,+mQ(b4,n0,_0,F0,Z3,0,T6,B,t6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(X3=e[g2>>2]|0,c6=(X3|0)>0,c6)for(B6=(B|0)>0,L6=I-T6|0,Y6=n0-T6|0,m3=X3,C4=0;;){if(H0=(a+1160|0)+(C4<<2)|0,e1=e[H0>>2]|0,D0=(a+2184|0)+(C4<<2)|0,i1=e[D0>>2]|0,c1=f+(e1<<2)|0,$1=e[c1>>2]|0,u1=$1+(T6<<2)|0,g1=f+(i1<<2)|0,s1=e[g1>>2]|0,a1=i2+(e1<<2)|0,n1=e[a1>>2]|0,o1=i2+(i1<<2)|0,Z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,B1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,L1=e[Q1>>2]|0,x1=v2+(e1<<2)|0,w1=e[x1>>2]|0,b1=v2+(i1<<2)|0,R1=e[b1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,v1=(G1|0)==0,Z1=_5+(i1<<2)|0,v1?(N1=e[Z1>>2]|0,_1=(N1|0)==0,_1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,B6)for(q6=0;;){V1=(q6|0)<(L6|0);do if(V1){if(O1=w1+(q6<<2)|0,q1=e[O1>>2]|0,H1=(q1|0)==0,Y1=R1+(q6<<2)|0,H1&&(j1=e[Y1>>2]|0,n2=(j1|0)==0,n2)){e5=(q6|0)<(Y6|0);do if(e5)b5=Z0+(q6<<2)|0,Z2=+s[b5>>2],f5=n1+(q6<<2)|0,k5=+s[f5>>2],P5=k5+Z2,s[f5>>2]=P5,$9=+ji(+P5),l5=h1+(q6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=n1+(q6<<2)|0,n5=+s[m5>>2],L2=Z0+(q6<<2)|0,_2=+s[L2>>2],p2=_2+n5,C5=p2<0,f9=+ji(+n5),a9=+ji(+_2),R5=a9+f9,d5=h1+(q6<<2)|0,s[d5>>2]=R5,C5){D5=-R5,s[m5>>2]=D5,N=L2;break}else{s[m5>>2]=R5,N=L2;break}while(!1);G5=d1+(q6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=q6+T6|0,q2=s1+(X<<2)|0,e[q2>>2]=0;break}P1=n1+(q6<<2)|0,c2=+s[P1>>2],T9=+ji(+c2),z1=Z0+(q6<<2)|0,u2=+s[z1>>2],E6=+ji(+u2),o2=E6+T9,s[P1>>2]=o2,E2=h1+(q6<<2)|0,A2=+s[E2>>2],K1=d1+(q6<<2)|0,h2=+s[K1>>2],$2=h2+A2,s[E2>>2]=$2,e[Y1>>2]=1,e[O1>>2]=1,K=q6+T6|0,l2=$1+(K<<2)|0,r2=e[l2>>2]|0,a2=s1+(K<<2)|0,X1=e[a2>>2]|0,E4=(r2|0)>-1,m4=0-r2|0,s2=E4?r2:m4,o4=(X1|0)>-1,A4=0-X1|0,f2=o4?X1:A4,t2=(s2|0)>(f2|0),t2?(y2=(r2|0)>0,k2=r2-X1|0,w2=X1-r2|0,F2=y2?k2:w2,e[a2>>2]=F2,J=e[l2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=r2-X1|0,d2=X1-r2|0,K2=D2?N2:d2,e[a2>>2]=K2,e[l2>>2]=X1,t0=e[a2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,H2=h4?G2:S4,M2=H2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[a2>>2]=T1,X2=e[l2>>2]|0,x5=0-X2|0,e[l2>>2]=x5)}while(!1);if(I5=B1+(q6<<2)|0,A5=+s[I5>>2],c5=L1+(q6<<2)|0,p5=+s[c5>>2],M1=p5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=q6+1|0,A9=(S5|0)==(d3|0),A9)break;q6=S5}D4=e[r0>>2]|0,+mQ(D4,n0,n1,h1,B1,w1,T6,B,u1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=X3;if(B5=T6+V5|0,t5=(s0|0)>(B5|0),N9=I9+V5|0,t5)T6=B5,I9=N9;else{S3=n3;break}}else S3=H5;if(g3=(S3|0)>0,g3)X5=S3,i9=0;else{C=G4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,u5=e[J2>>2]|0,i5=(u5|0)==0,L5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[L5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,q5=(Q5|0)==0,q5?J5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[L5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,J5=e0),f3=i9+1|0,h3=(f3|0)<(J5|0),h3;)X5=J5,i9=f3;C=G4}function YS(t,n,A,a,g){t=t|0,n=+n,A=A|0,a=+a,g=+g;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,ee=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,f8=0,H8=0,Y8=0,et=0,tt=0,d8=0,Pe=0,xe=0,i8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,r8=0,q4=0,Re=0,n8=0,I8=0,_8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,nt=0,H4=0,I3=0,He=0,p8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,a8=0,$8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0;for(Ve=C,C=C+32480|0,J3=Ve+32256|0,B9=Ve+1792|0,w9=Ve,L=A<<2,b=L,F=C,C=C+((1*b|0)+15&-16)|0,r2=S9(68)|0,ae(B9|0,0,30464)|0,S3=a>0,o4=a<0,v9=0;;){for(le=v9<<2,re=0;n5=re+le|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,q5=+s[t5>>2],H9=q5):H9=-30,v3=n5+1|0,a3=(v3|0)<88,a3?(R6=1272+(v3<<2)|0,U6=+s[R6>>2],z6=H9>U6,z6?se=U6:se=H9):(s9=H9>-30,s9?se=-30:se=H9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=se>t9,A9?D9=t9:D9=se):(M3=se>-30,M3?D9=-30:D9=se),X6=n5+3|0,u9=(X6|0)<88,u9?(a9=1272+(X6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(f9=D9>-30,f9?Ye=-30:Ye=D9),E6=J3+(re<<2)|0,s[E6>>2]=Ye,T6=re+1|0,G8=(T6|0)==56,!G8;)re=T6;if(l4=(B9+(v9*1792|0)|0)+448|0,M=2792+(v9*1344|0)|0,s4(l4|0,M|0,224)|0,q=(B9+(v9*1792|0)|0)+672|0,h0=(2792+(v9*1344|0)|0)+224|0,s4(q|0,h0|0,224)|0,p0=(B9+(v9*1792|0)|0)+896|0,y0=(2792+(v9*1344|0)|0)+448|0,s4(p0|0,y0|0,224)|0,r1=(B9+(v9*1792|0)|0)+1120|0,a1=(2792+(v9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(B9+(v9*1792|0)|0)+1344|0,N1=(2792+(v9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(B9+(v9*1792|0)|0)+1568|0,a2=(2792+(v9*1344|0)|0)+1120|0,s4(c2|0,a2|0,224)|0,N2=B9+(v9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(B9+(v9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,S3)for(r8=0;;){if(o4)for(E8=0;h4=16-E8|0,St=(h4|0)>-1,ot=0-h4|0,G9=St?h4:ot,z9=+(G9|0),b9=z9*g,E9=b9+a,q6=E9<0,I=q6?0:E9,r9=I>0,f=r9?0:I,m4=((B9+(v9*1792|0)|0)+(r8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],A4=S4+f,s[m4>>2]=A4,b4=E8+1|0,q8=(b4|0)==56,!q8;)E8=b4;else for(o8=0;g3=16-o8|0,it=(g3|0)>-1,K8=0-g3|0,L6=it?g3:K8,b6=+(L6|0),x6=b6*g,D6=x6+a,d9=D6<0,m=d9?0:D6,i9=((B9+(v9*1792|0)|0)+(r8*224|0)|0)+(o8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=o8+1|0,O8=(E4|0)==56,!O8;)o8=E4;if(e3=r8+1|0,k8=(e3|0)==8,k8)break;r8=e3}else for(D8=0;;){if(o4)for(m8=0;X4=16-m8|0,bt=(X4|0)>-1,At=0-X4|0,C4=bt?X4:At,N4=+(C4|0),U9=N4*g,G4=U9+a,a4=G4>0,E=a4?0:G4,u4=((B9+(v9*1792|0)|0)+(D8*224|0)|0)+(m8<<2)|0,Ce=+s[u4>>2],q9=Ce+E,s[u4>>2]=q9,m9=m8+1|0,j8=(m9|0)==56,!j8;)m8=m9;else for(s8=0;pe=16-s8|0,dt=(pe|0)>-1,st=0-pe|0,Ne=dt?pe:st,Xe=+(Ne|0),U4=Xe*g,Ge=U4+a,P4=((B9+(v9*1792|0)|0)+(D8*224|0)|0)+(s8<<2)|0,be=+s[P4>>2],e8=be+Ge,s[P4>>2]=e8,Z9=s8+1|0,U8=(Z9|0)==56,!U8;)s8=Z9;if($e=D8+1|0,X8=($e|0)==8,X8)break;D8=$e}for(D4=t+(v9<<2)|0,x4=+s[D4>>2],T4=x4,q4=0;;){for(f4=(q4|0)<2,_6=+(q4|0),v=_6*10,w=70-v,O4=f4?50:w,R9=O4+T4,$4=R9,d8=0;_4=((B9+(v9*1792|0)|0)+(q4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],ce=W9+$4,s[_4>>2]=ce,ge=d8+1|0,M4=(ge|0)==56,!M4;)d8=ge;for(p4=w9+(q4*224|0)|0,s4(p4|0,J3|0,224)|0,te=+(q4|0),F4=te*10,he=70-F4,b8=0;;)if(C9=(w9+(q4*224|0)|0)+(b8<<2)|0,g6=+s[C9>>2],Ue=he+g6,s[C9>>2]=Ue,Be=b8+1|0,gt=(Be|0)==56,gt){i8=0;break}else b8=Be;for(;B4=((B9+(v9*1792|0)|0)+(q4*224|0)|0)+(i8<<2)|0,c4=+s[B4>>2],P6=(w9+(q4*224|0)|0)+(i8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),t8=i8+1|0,Le=(t8|0)==56,!Le;)i8=t8;if(g4=q4+1|0,kt=(g4|0)==8,kt){Re=1;break}else q4=g4}for(;;){for(v4=Re+-1|0,xe=0;;)if(u8=(w9+(v4*224|0)|0)+(xe<<2)|0,T=+s[u8>>2],N=(w9+(Re*224|0)|0)+(xe<<2)|0,G=+s[N>>2],O=T>2]=T),z=xe+1|0,ct=(z|0)==56,ct){Pe=0;break}else xe=z;for(;Y=(w9+(Re*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((B9+(v9*1792|0)|0)+(Re*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,ie=(X|0)==56,!ie;)Pe=X;if(U=Re+1|0,P8=(U|0)==8,P8)break;Re=U}if(l0=v9+1|0,S8=(l0|0)==17,S8)break;v9=l0}for(y9=n,R4=(A|0)>0,ee=A^-1,Qe=0;;){for(Z=S9(32)|0,K=r2+(Qe<<2)|0,e[K>>2]=Z,$0=+(Qe|0),s0=$0*.5,r0=$0*.34657350182533264,n0=r0+4.135165354540845,V=+On(+n0),o0=V/y9,g0=+WA(+o0),j=~~g0,c0=+(j|0),u0=c0*n,I0=u0+1,w0=I0,C0=+Zr(+w0),v0=C0*2.885390043258667,d0=v0+-11.931568145751953,B0=+cp(+d0),E0=~~B0,b0=j+1|0,K0=+(b0|0),L0=K0*n,Q0=L0,M0=+Zr(+Q0),T0=M0*2.885390043258667,G0=T0+-11.931568145751953,P0=+WA(+G0),Y0=~~P0,F0=(E0|0)>(Qe|0),ft=F0?Qe:E0,_0=(ft|0)<0,p8=_0?0:ft,N0=(Y0|0)>16,B=N0?16:Y0,V0=(p8|0)>(B|0),J0=Qe+1|0,O0=(J0|0)<17,z0=s0+3.9657840728759766,ne=0;;){if(U0=S9(232)|0,q0=Z+(ne<<2)|0,e[q0>>2]=U0,R4)for(n8=0;H0=F+(n8<<2)|0,s[H0>>2]=999,e1=n8+1|0,p9=(e1|0)==(A|0),!p9;)n8=e1;if(!V0)for(fe=p8;;){for(D0=+(fe|0),i1=D0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,o1=n1*.6931470036506653,Z0=+On(+o1),I1=Z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+On(+d1),p1=E1/y9,B1=p1+1,L1=~~B1,x1=(h1|0)<0,p=x1?0:h1,w1=(p|0)>(A|0),nt=w1?A:p,b1=(nt|0)<(ye|0),H4=b1?nt:ye,R1=(L1|0)<0,et=R1?0:L1,F1=(et|0)>(A|0),V8=F1?A:et,G1=(H4|0)<(V8|0),v1=(H4|0)<(A|0),z8=G1&v1,z8)for(U1=((B9+(fe*1792|0)|0)+(ne*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],_1=(ye|0)<(A|0),V1=_1?ye:A,O1=V1^-1,q1=(h1|0)>0,_=h1^-1,H1=q1?_:-1,Y1=(H1|0)<(O1|0),Y4=Y1?O1:H1,j1=Y4^-1,n2=(L1|0)>0,x=L1^-1,W1=n2?x:-1,P1=(W1|0)<(ee|0),at=P1?ee:W1,z1=at-Y4|0,u2=Y4+A|0,o2=u2^-1,E2=z1>>>0>o2>>>0,x8=E2?z1:o2,A2=j1-x8|0,X9=H4;;)if(K1=F+(X9<<2)|0,h2=+s[K1>>2],$2=h2>Z1,$2&&(s[K1>>2]=Z1),i2=X9+1|0,f8=(i2|0)==(A2|0),f8){Oe=A2;break}else X9=i2;else Oe=H4;if(l2=I8+1|0,H8=(l2|0)==56,H8){qe=Oe;break}else I8=l2,ye=Oe}if(c1=(qe|0)<(A|0),c1)for($1=((B9+(fe*1792|0)|0)+(ne*224|0)|0)+220|0,u1=+s[$1>>2],Fe=qe;X1=F+(Fe<<2)|0,s2=+s[X1>>2],f2=s2>u1,f2&&(s[X1>>2]=u1),t2=Fe+1|0,Y8=(t2|0)==(A|0),!Y8;)Fe=t2;if(y2=fe+1|0,k2=(fe|0)<(B|0),k2)fe=y2;else break}if(O0){for(_8=0,de=0;;){if(G2=+(_8|0),H2=G2*.125,M2=H2+s0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+On(+z2),O2=o5/y9,T1=~~O2,x5=M2+4.028284072875977,e5=x5*.6931470036506653,b5=+On(+e5),Z2=b5/y9,f5=Z2+1,k5=~~f5,P5=(T1|0)<0,S=P5?0:T1,l5=(S|0)>(A|0),I3=l5?A:S,v2=(I3|0)<(de|0),He=v2?I3:de,m5=(k5|0)<0,tt=m5?0:k5,L2=(tt|0)>(A|0),It=L2?A:tt,_2=(He|0)<(It|0),p2=(He|0)<(A|0),a8=_2&p2,a8)for(C5=((B9+(J0*1792|0)|0)+(ne*224|0)|0)+(_8<<2)|0,R5=+s[C5>>2],d5=(de|0)<(A|0),D5=d5?de:A,G5=D5^-1,_5=(T1|0)>0,D=T1^-1,q2=_5?D:-1,A5=(q2|0)<(G5|0),$8=A5?G5:q2,c5=$8^-1,p5=(k5|0)>0,y=k5^-1,M1=p5?y:-1,S5=(M1|0)<(ee|0),L8=S5?ee:M1,g5=L8-$8|0,a5=$8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,B5=c5-Je|0,Q4=He;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>R5,J2&&(s[s5>>2]=R5),u5=Q4+1|0,vt=(u5|0)==(B5|0),vt){A8=B5;break}else Q4=u5;else A8=He;if(i5=_8+1|0,W8=(i5|0)==56,W8){we=A8;break}else _8=i5,de=A8}if(D2=(we|0)<(A|0),D2)for(d2=((B9+(J0*1792|0)|0)+(ne*224|0)|0)+220|0,K2=+s[d2>>2],C8=we;L5=F+(C8<<2)|0,j2=+s[L5>>2],$5=j2>K2,$5&&(s[L5>>2]=K2),x2=C8+1|0,ht=(x2|0)==(A|0),!ht;)C8=x2}for(w2=Z+(ne<<2)|0,C2=Z+(ne<<2)|0,F2=Z+(ne<<2)|0,ue=0;;){f3=+(ue|0),h3=f3*.125,J5=z0+h3,X5=J5*.6931470036506653,n3=+On(+X5),m3=n3/y9,F5=~~m3,V5=(F5|0)<0;do if(V5)u3=ue+2|0,B3=e[w2>>2]|0,z3=B3+(u3<<2)|0,s[z3>>2]=-999;else if(G3=(F5|0)<(A|0),G3){i6=F+(F5<<2)|0,x3=e[i6>>2]|0,U3=ue+2|0,l3=e[C2>>2]|0,c3=l3+(U3<<2)|0,e[c3>>2]=x3;break}else{z5=ue+2|0,w3=e[F2>>2]|0,W5=w3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(C3=ue+1|0,ut=(C3|0)==56,ut)break;ue=C3}Q5=U0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(H5=U0+12|0,U5=+s[H5>>2],O5=U5>-200,O5)j9=1;else if(y3=U0+16|0,r6=+s[y3>>2],j3=r6>-200,j3)j9=2;else if(O3=U0+20|0,K5=+s[O3>>2],q3=K5>-200,q3)j9=3;else if(l6=U0+24|0,d3=+s[l6>>2],v6=d3>-200,v6)j9=4;else if(k6=U0+28|0,S6=+s[k6>>2],p6=S6>-200,p6)j9=5;else if(X3=U0+32|0,c6=+s[X3>>2],B6=c6>-200,B6)j9=6;else if(Y6=U0+36|0,C6=+s[Y6>>2],b3=C6>-200,b3)j9=7;else if(e6=U0+40|0,t6=+s[e6>>2],f6=t6>-200,f6)j9=8;else if(H3=U0+44|0,D3=+s[H3>>2],Y3=D3>-200,Y3)j9=9;else if(Z3=U0+48|0,A6=+s[Z3>>2],t3=A6>-200,t3)j9=10;else if(O6=U0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=U0+56|0,_3=+s[d6>>2],N6=_3>-200,N6)j9=12;else if(n6=U0+60|0,Q6=+s[n6>>2],K6=Q6>-200,K6)j9=13;else{if(I6=U0+64|0,J6=+s[I6>>2],F3=J6>-200,F3){j9=14;break}if(j6=U0+68|0,G6=+s[j6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[U0>>2]=j9,J8=55;;){if(v5=J8+2|0,P3=U0+(v5<<2)|0,M5=+s[P3>>2],o6=M5>-200,o6){rt=J8;break}if(A3=J8+-1|0,R3=(A3|0)>17,R3)J8=A3;else{rt=A3;break}}if(u6=+(rt|0),Q3=U0+4|0,s[Q3>>2]=u6,k3=ne+1|0,T8=(k3|0)==8,T8)break;ne=k3}if(N8=(J0|0)==17,N8)break;Qe=J0}return C=Ve,r2|0}function EQ(t,n,A,a,g,f){t=t|0,n=n|0,A=A|0,a=a|0,g=+g,f=f|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,v=t<<2,E=v,w=C,C=C+((1*E|0)+15&-16)|0,I=v,A2=C,C=C+((1*I|0)+15&-16)|0,m=v,j2=C,C=C+((1*m|0)+15&-16)|0,B=v,n3=C,C=C+((1*B|0)+15&-16)|0,p=v,W5=C,C=C+((1*p|0)+15&-16)|0,v5=+s[A>>2],r6=v5+g,S6=r6<1,A4=S6?1:r6,f6=A4*A4,D=f6*.5,z=D*A4,s[w>>2]=D,s[A2>>2]=D,s[j2>>2]=0,s[n3>>2]=z,s[W5>>2]=0,K=(t|0)>1,K)for(M3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=A+(M3<<2)|0,h1=+s[c1>>2],R1=h1+g,H1=R1<1,y9=H1?1:R1,K1=y9*y9,y2=K1+E6,M2=K1*E4,f5=M2+T6,R5=M2*E4,S5=R5+i9,J2=K1*y9,u5=J2+I9,i5=M2*y9,L5=i5+N9,$5=w+(M3<<2)|0,s[$5>>2]=y2,x2=A2+(M3<<2)|0,s[x2>>2]=f5,Q5=j2+(M3<<2)|0,s[Q5>>2]=S5,q5=n3+(M3<<2)|0,s[q5>>2]=u5,j5=W5+(M3<<2)|0,s[j5>>2]=L5,E5=M3+1|0,f3=E4+1,F6=(E5|0)==(t|0),!F6;)M3=E5,E6=y2,T6=f5,i9=S5,N9=L5,I9=u5,E4=f3;if(u0=e[n>>2]|0,L0=u0>>16,V0=(L0|0)>-1,V0)J5=u0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=u0,B3=L0,t9=0,h4=0;;)if(m3=F5&65535,V5=w+(m3<<2)|0,v3=+s[V5>>2],u3=0-B3|0,z3=w+(u3<<2)|0,G3=+s[z3>>2],z5=G3+v3,w3=A2+(m3<<2)|0,i6=+s[w3>>2],x3=A2+(u3<<2)|0,U3=+s[x3>>2],a3=i6-U3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(u3<<2)|0,H5=+s[C3>>2],U5=H5+c3,O5=n3+(m3<<2)|0,P3=+s[O5>>2],M5=n3+(u3<<2)|0,o6=+s[M5>>2],e3=o6+P3,A3=W5+(m3<<2)|0,R3=+s[A3>>2],u6=W5+(u3<<2)|0,Q3=+s[u6>>2],k3=R3-Q3,y3=e3*U5,j3=k3*a3,O3=y3-j3,K5=k3*z5,S3=e3*a3,g3=K5-S3,q3=U5*z5,l6=a3*a3,d3=q3-l6,v6=g3*h4,k6=v6+O3,p6=k6/d3,X3=p6<0,e9=X3?0:p6,c6=e9-g,B6=a+(t9<<2)|0,s[B6>>2]=c6,L6=t9+1|0,Y6=h4+1,C6=n+(L6<<2)|0,b3=e[C6>>2]|0,e6=b3>>16,t6=(e6|0)>-1,t6){J5=b3,d6=O3,Q6=g3,J6=d3,M6=L6,o4=Y6;break}else F5=b3,B3=e6,t9=L6,h4=Y6;if(h3=J5&65535,X5=(h3|0)<(t|0),X5)for(S=J5,Z3=h3,X6=M6,z9=o4;;)if(D3=S>>16,Y3=w+(Z3<<2)|0,b6=+s[Y3>>2],A6=w+(D3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=A2+(Z3<<2)|0,a6=+s[s3>>2],y=A2+(D3<<2)|0,_=+s[y>>2],x=a6-_,L=j2+(Z3<<2)|0,F=+s[L>>2],M=j2+(D3<<2)|0,T=+s[M>>2],N=F-T,G=n3+(Z3<<2)|0,O=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=O-t0,W=W5+(Z3<<2)|0,e0=+s[W>>2],q=W5+(D3<<2)|0,X=+s[q>>2],U=e0-X,l0=J*N,Z=U*x,$0=l0-Z,s0=U*O6,r0=J*x,n0=s0-r0,V=N*O6,h0=x*x,o0=V-h0,g0=n0*z9,j=g0+$0,c0=j/o0,I0=c0<0,s9=I0?0:c0,w0=s9-g,C0=a+(X6<<2)|0,s[C0>>2]=w0,v0=X6+1|0,d0=z9+1,p0=n+(v0<<2)|0,B0=e[p0>>2]|0,E0=B0&65535,b0=(E0|0)<(t|0),b0)S=B0,Z3=E0,X6=v0,z9=d0;else{_3=$0,x6=n0,F3=o0,A9=v0,G9=d0;break}else _3=d6,x6=Q6,F3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(u9=A9,b9=G9;K0=b9*x6,Q0=K0+_3,M0=Q0/F3,T0=M0<0,R6=T0?0:M0,G0=R6-g,P0=a+(u9<<2)|0,s[P0>>2]=G0,y0=u9+1|0,Y0=b9+1,y6=(y0|0)==(t|0),!y6;)u9=y0,b9=Y0;if(F0=(f|0)<1,F0){C=D4;return}if(_0=(f|0)/2&-1,N0=_0-f|0,J0=(N0|0)>-1,J0)N6=_3,K6=x6,j6=F3,f9=0,E9=0;else for(O0=f-_0|0,H0=_0,i1=N0,d9=0,q6=0;;)if(r1=w+(H0<<2)|0,e1=+s[r1>>2],D0=0-i1|0,$1=w+(D0<<2)|0,u1=+s[$1>>2],g1=u1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(D0<<2)|0,n1=+s[a1>>2],o1=s1-n1,Z0=j2+(H0<<2)|0,I1=+s[Z0>>2],m1=j2+(D0<<2)|0,d1=+s[m1>>2],E1=d1+I1,p1=n3+(H0<<2)|0,B1=+s[p1>>2],Q1=n3+(D0<<2)|0,L1=+s[Q1>>2],x1=L1+B1,w1=W5+(H0<<2)|0,b1=+s[w1>>2],F1=W5+(D0<<2)|0,G1=+s[F1>>2],v1=b1-G1,U1=x1*E1,Z1=v1*o1,N1=U1-Z1,_1=v1*g1,V1=x1*o1,O1=_1-V1,q1=E1*g1,Y1=o1*o1,j1=q1-Y1,n2=O1*q6,W1=n2+N1,P1=W1/j1,c2=P1-g,z1=a+(d9<<2)|0,u2=+s[z1>>2],o2=c2>2]=c2),E2=d9+1|0,h2=q6+1,$2=_0+E2|0,i2=$2-f|0,z6=(E2|0)==(O0|0),z6){N6=N1,K6=O1,j6=j1,f9=O0,E9=h2;break}else H0=$2,i1=i2,d9=E2,q6=h2;if(z0=f9+_0|0,U0=(z0|0)<(t|0),U0)for(q0=t-_0|0,b=z0,$9=f9,m4=E9;;)if(r2=b-f|0,a2=w+(b<<2)|0,X1=+s[a2>>2],s2=w+(r2<<2)|0,f2=+s[s2>>2],t2=X1-f2,k2=A2+(b<<2)|0,w2=+s[k2>>2],C2=A2+(r2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(b<<2)|0,d2=+s[N2>>2],K2=j2+(r2<<2)|0,G2=+s[K2>>2],H2=d2-G2,P2=n3+(b<<2)|0,z2=+s[P2>>2],o5=n3+(r2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=W5+(b<<2)|0,x5=+s[X2>>2],e5=W5+(r2<<2)|0,b5=+s[e5>>2],Z2=x5-b5,k5=T1*H2,P5=Z2*D2,l5=k5-P5,v2=Z2*t2,m5=T1*D2,n5=v2-m5,L2=H2*t2,_2=D2*D2,p2=L2-_2,C5=n5*m4,d5=C5+l5,D5=d5/p2,G5=D5-g,_5=a+($9<<2)|0,q2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,p5=A5+_0|0,D6=(A5|0)==(q0|0),D6){n6=l5,I6=n5,G6=p2,a9=q0,r9=c5;break}else b=p5,$9=A5,m4=c5;else n6=N6,I6=K6,G6=j6,a9=f9,r9=E9;if(l2=(a9|0)<(t|0),l2)T9=a9,S4=r9;else{C=D4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-g,g2=a+(T9<<2)|0,B5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function JS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;if(c1=C,f=A<<2,a=f,E=C,C=C+((1*a|0)+15&-16)|0,g=f,_=C,C=C+((1*g|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,O0=0;else{C=c1;return}for(;;){b0=(O0|0)<2;do if(b0)Q0=E+(O0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,B=_+(O0<<2)|0,e[B>>2]=m,H0=O0;else{for(K0=t+(y0<<2)|0,L0=+s[K0>>2],z0=O0;;){if(p=z0+-1|0,S=_+(p<<2)|0,b=+s[S>>2],v=L0>2]|0,L=x+n|0,F=(y0|0)<(L|0),M=(z0|0)>1,_0=M&F,!_0){q0=z0,i1=12;break}if(T=z0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(b<=G),O){q0=z0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)z0=p;else{q0=z0,i1=12;break}}if((i1|0)==8){i1=0,w=E+(U0<<2)|0,e[w>>2]=y0,D=_+(U0<<2)|0,s[D>>2]=L0,H0=U0;break}else if((i1|0)==12){i1=0,e0=E+(q0<<2)|0,e[e0>>2]=y0,q=_+(q0<<2)|0,s[q>>2]=L0,H0=q0;break}}while(!1);if(r1=H0+1|0,X=y0+1|0,P0=(X|0)==(A|0),P0){e1=H0,D0=r1;break}else y0=X,O0=r1}if(s0=(e1|0)>-1,!s0){C=c1;return}for(w0=n+1|0,Y0=0,N0=0;;){if(U=(Y0|0)<(e1|0),U?(l0=Y0+1|0,Z=_+(l0<<2)|0,K=+s[Z>>2],$0=_+(Y0<<2)|0,r0=+s[$0>>2],n0=K>r0,n0?(V=E+(l0<<2)|0,h0=e[V>>2]|0,M0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,o0=E+(Y0<<2)|0,g0=e[o0>>2]|0,j=w0+g0|0,M0=j),c0=(M0|0)>(A|0),F0=c0?A:M0,u0=(N0|0)<(F0|0),u0)for(I0=_+(Y0<<2)|0,C0=e[I0>>2]|0,v0=(M0|0)<(A|0),d0=v0?M0:A,J0=N0;;)if(p0=t+(J0<<2)|0,e[p0>>2]=C0,B0=J0+1|0,T0=(B0|0)==(d0|0),T0){V0=d0;break}else J0=B0;else V0=N0;if(E0=Y0+1|0,G0=(E0|0)==(D0|0),G0)break;Y0=E0,N0=V0}C=c1}function mQ(t,n,A,a,g,f,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0,E=E|0,I=I|0,m=m|0;var B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0;if(c2=C,L=I<<2,D=L,F=C,C=C+((1*D|0)+15&-16)|0,e0=t+500|0,V=e[e0>>2]|0,d0=(V|0)==0,d0?B1=I:(P0=t+504|0,q0=e[P0>>2]|0,s1=q0-E|0,B1=s1),F1=(B1|0)>(I|0),Y1=F1?I:B1,M=(Y1|0)>0,M)for(T=(f|0)==0,N=(B1|0)<(I|0),G=N?B1:I,O1=0;;){T?P1=9:(t0=f+(O1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(P1=9));do if((P1|0)==9)if(P1=0,q=a+(O1<<2)|0,X=+s[q>>2],U=g+(O1<<2)|0,l0=+s[U>>2],Z=X/l0,K=A+(O1<<2)|0,$0=+s[K>>2],s0=$0<0,r0=Z,n0=+Un(+r0),h0=+Hi(n0),s0){o0=-h0,g0=~~o0,j=m+(O1<<2)|0,e[j>>2]=g0;break}else{c0=~~h0,u0=m+(O1<<2)|0,e[u0>>2]=c0;break}while(!1);if(I0=O1+1|0,_1=(I0|0)==(G|0),_1){V1=G;break}else O1=I0}else V1=0;if(O=(V1|0)<(I|0),!O)return w=0,C=c2,+w;for(z=(f|0)!=0,Y=n-E|0,B=0,G1=0,q1=V1;;){z?(w0=f+(q1<<2)|0,C0=e[w0>>2]|0,v0=(C0|0)==0,v0?P1=15:(p=B,v1=G1)):P1=15;do if((P1|0)==15)if(P1=0,p0=a+(q1<<2)|0,B0=+s[p0>>2],E0=g+(q1<<2)|0,b0=+s[E0>>2],K0=B0/b0,L0=!(K0<.25),Q0=(q1|0)<(Y|0),j1=z&Q0,n2=L0|j1,n2){y0=A+(q1<<2)|0,Y0=+s[y0>>2],F0=Y0<0,_0=K0,N0=+Un(+_0),V0=+Hi(N0),J0=-V0,_=F0?J0:V0,y=~~_,O0=m+(q1<<2)|0,e[O0>>2]=y,z0=r5(y,y)|0,U0=+(z0|0),r1=+s[E0>>2],H0=U0*r1,s[p0>>2]=H0,p=B,v1=G1;break}else{M0=K0+B,T0=G1+1|0,G0=F+(G1<<2)|0,e[G0>>2]=p0,p=M0,v1=T0;break}while(!1);if(e1=q1+1|0,N1=(e1|0)==(I|0),N1){S=p,U1=v1;break}else B=p,G1=v1,q1=e1}if(D0=(U1|0)==0,D0||(Gh(F,U1,4,9),i1=(U1|0)>0,!i1))return w=S,C=c2,+w;for(c1=a,$1=t+512|0,u1=+A1[$1>>3],b=S,H1=0;;)if(g1=F+(H1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,o1=n1>>2,Z0=b,I1=!(Z0>=u1),I1?(v=b,x=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,p1=(e[B2>>2]=E1,+s[B2>>2]),Q1=~~p1,L1=b+-1,x1=g+(o1<<2)|0,w1=+s[x1>>2],v=L1,x=Q1,W1=w1),b1=m+(o1<<2)|0,e[b1>>2]=x,s[l1>>2]=W1,R1=H1+1|0,Z1=(R1|0)==(U1|0),Z1){w=v;break}else b=v,H1=R1;return C=c2,+w}function VS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=+s[A>>2],g=e[n>>2]|0,f=+s[g>>2],E=af,B=m&1,p=I-B|0,p|0}function KS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function zS(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0;if(W=C,A=(t|0)==0,!A){if(a=t+4|0,w=e[a>>2]|0,F=(w|0)>0,M=t+20|0,F)for(L=w,Y=0;T=e[M>>2]|0,N=T+(Y<<2)|0,G=e[N>>2]|0,O=(G|0)==0,O?f=L:(I2(G),n=e[a>>2]|0,f=n),z=Y+1|0,g=(z|0)<(f|0),g;)L=f,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,B=(m|0)>0,p=t+28|0,B)for(t0=0;S=e[p>>2]|0,b=S+(t0<<2)|0,v=e[b>>2]|0,I2(v),D=t0+1|0,y=e[I>>2]|0,_=(D|0)<(y|0),_;)t0=D;x=e[p>>2]|0,I2(x),I2(t)}}function ZS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0;if(c0=C,g=e[t>>2]|0,U2(n,g,24),f=t+4|0,y=e[f>>2]|0,U2(n,y,24),Y=t+8|0,U=e[Y>>2]|0,l0=U+-1|0,U2(n,l0,24),Z=t+12|0,K=e[Z>>2]|0,$0=K+-1|0,U2(n,$0,6),s0=t+20|0,E=e[s0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(B=t+24|0,r0=0,V=0;;){if(b=B+(V<<2)|0,v=e[b>>2]|0,w=Nt(v)|0,D=(w|0)>3,_=e[b>>2]|0,D?(U2(n,_,3),U2(n,1,1),x=e[b>>2]|0,L=x>>3,U2(n,L,5)):U2(n,_,4),F=e[b>>2]|0,M=(F|0)==0,M)o0=0;else for(A=F,g0=0;;)if(T=A&1,N=T+g0|0,G=A>>>1,O=(G|0)==0,O){o0=N;break}else A=G,g0=N;if(z=o0+r0|0,t0=V+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)r0=z,V=t0;else{a=z;break}}if(p=(a|0)>0,!!p)for(S=t+280|0,h0=0;e0=S+(h0<<2)|0,q=e[e0>>2]|0,U2(n,q,8),X=h0+1|0,n0=(X|0)==(a|0),!n0;)h0=X}}function WS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,x=e[I>>2]|0,J=j4(n,24)|0,e[E>>2]=J,r0=j4(n,24)|0,C0=E+4|0,e[C0>>2]=r0,T0=j4(n,24)|0,z0=T0+1|0,q0=E+8|0,e[q0>>2]=z0,r1=j4(n,6)|0,m=r1+1|0,B=E+12|0,e[B>>2]=m,p=j4(n,8)|0,S=E+20|0,e[S>>2]=p,b=(p|0)<0;e:do if(b)a1=26;else{if(v=(r1|0)>-1,v){for(w=E+24|0,e1=0,c1=0;;){if(_=j4(n,3)|0,L=j4(n,1)|0,F=(L|0)<0,F){a1=26;break e}if(M=(L|0)==0,M)D0=_;else{if(T=j4(n,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,D0=O}if(z=w+(c1<<2)|0,e[z>>2]=D0,Y=(D0|0)==0,Y)l1=0;else for(a=D0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,q=(e0|0)==0,q){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,l0=e[B>>2]|0,Z=(U|0)<(l0|0),Z)e1=X,c1=U;else{f=X;break}}if(D=(f|0)>0,D)for(y=E+280|0,$1=0;;){if(K=j4(n,8)|0,$0=(K|0)<0,$0)break e;if(s0=y+($1<<2)|0,e[s0>>2]=K,n0=$1+1|0,V=(n0|0)<(f|0),V)$1=n0;else{U0=D,H0=f;break}}else U0=0,H0=f}else U0=0,H0=0;if(h0=e[S>>2]|0,o0=x+24|0,g0=e[o0>>2]|0,j=(h0|0)<(g0|0),j){if(U0)for(c0=E+280|0,u1=0;;){if(w0=c0+(u1<<2)|0,v0=e[w0>>2]|0,d0=(v0|0)<(g0|0),!d0||(p0=(x+1824|0)+(v0<<2)|0,B0=e[p0>>2]|0,E0=B0+12|0,b0=e[E0>>2]|0,K0=(b0|0)==0,u0=u1+1|0,K0))break e;if(I0=(u0|0)<(H0|0),I0)u1=u0;else break}if(L0=(x+1824|0)+(h0<<2)|0,Q0=e[L0>>2]|0,M0=Q0+4|0,G0=e[M0>>2]|0,P0=e[Q0>>2]|0,y0=(P0|0)<1,!y0){for(Y0=e[B>>2]|0,i1=P0,g1=1;;){if(N0=r5(Y0,g1)|0,V0=(N0|0)>(G0|0),V0)break e;if(F0=i1+-1|0,_0=(i1|0)>1,_0)i1=F0,g1=N0;else{g=N0;break}}return J0=E+16|0,e[J0>>2]=g,A=E,A|0}}}while(!1);return(a1|0)==26&&(O0=(E|0)==0,O0)?(A=0,A|0):(I2(E),A=0,A|0)}function jS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0;if(B1=C,f=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,s0=e[t0>>2]|0,e[f>>2]=n,w0=n+12|0,M0=e[w0>>2]|0,O0=f+4|0,e[O0>>2]=M0,r1=s0+2848|0,H0=e[r1>>2]|0,I=f+12|0,e[I>>2]=H0,m=H0,B=n+20|0,p=e[B>>2]|0,S=m+(p*56|0)|0,b=f+16|0,e[b>>2]=S,v=e[S>>2]|0,w=n4(M0,4)|0,D=f+20|0,e[D>>2]=w,y=(M0|0)>0,y)for(x=n+24|0,L=n+280|0,e1=0,l1=0,h1=0;;){if(F=x+(l1<<2)|0,M=e[F>>2]|0,T=Nt(M)|0,N=(T|0)==0,N)c1=e1,m1=h1;else if(G=(T|0)>(h1|0),a=G?T:h1,O=n4(T,4)|0,z=w+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[F>>2]|0,W=w+(l1<<2)|0,D0=e1,o1=0;;)if(e0=1<>2]|0,l0=D0+1|0,Z=L+(D0<<2)|0,K=e[Z>>2]|0,$0=U+(K*56|0)|0,r0=e[W>>2]|0,n0=r0+(o1<<2)|0,e[n0>>2]=$0,i1=l0),V=o1+1|0,u1=(V|0)==(T|0),u1){c1=i1,m1=a;break}else D0=i1,o1=V;else c1=e1,m1=a;if(h0=l1+1|0,o0=(h0|0)<(M0|0),o0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(g0=f+24|0,e[g0>>2]=1,j=(v|0)>0,j){for(u0=1,s1=0;;)if(c0=r5(u0,M0)|0,I0=s1+1|0,$1=(I0|0)==(v|0),$1){A=c0;break}else u0=c0,s1=I0;e[g0>>2]=A,d0=A}else d0=1;if(C0=f+8|0,e[C0>>2]=I1,v0=d0<<2,p0=S9(v0)|0,B0=f+28|0,e[B0>>2]=p0,E0=(d0|0)>0,!E0)return f|0;if(b0=v<<2,!j){for(a1=0;J0=S9(b0)|0,z0=p0+(a1<<2)|0,e[z0>>2]=J0,U0=a1+1|0,q0=(U0|0)<(d0|0),q0;)a1=U0;return f|0}for(K0=e[B0>>2]|0,n1=0;;){for(_0=S9(b0)|0,N0=p0+(n1<<2)|0,e[N0>>2]=_0,V0=K0+(n1<<2)|0,Y0=e[V0>>2]|0,g=d0,Z0=0,E1=n1;d1=(g|0)/(M0|0)&-1,T0=(E1|0)/(d1|0)&-1,G0=r5(T0,d1)|0,P0=E1-G0|0,y0=Y0+(Z0<<2)|0,e[y0>>2]=T0,F0=Z0+1|0,g1=(F0|0)==(v|0),!g1;)g=d1,Z0=F0,E1=P0;if(L0=n1+1|0,Q0=(L0|0)<(d0|0),Q0)n1=L0;else break}return f|0}function XS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0;if(M=C,f=(g|0)>0,f)y=0,_=0;else return 0;for(;;)if(E=a+(y<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?x=_:(B=A+(y<<2)|0,p=e[B>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=p,x=S),v=y+1|0,D=(v|0)==(g|0),D){L=x;break}else y=v,_=x;return w=(L|0)==0,w||CQ(t,n,A,L,2),0}function eb(t,n,A,a,g,f,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0;if(G=C,m=(f|0)>0,m)L=0,F=0;else return 0;for(;;)if(B=g+(L<<2)|0,p=e[B>>2]|0,S=(p|0)==0,S?M=F:(b=a+(L<<2)|0,v=e[b>>2]|0,w=F+1|0,D=a+(F<<2)|0,e[D>>2]=v,M=w),y=L+1|0,x=(y|0)==(f|0),x){T=M;break}else L=y,F=M;return _=(T|0)==0,_||pQ(t,A,a,T,E),0}function tb(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;if(p1=C,I=(g|0)>0,I)i1=0,h1=0;else return f=0,f|0;for(;;)if(m=a+(i1<<2)|0,L=e[m>>2]|0,W=(L|0)==0,W?m1=h1:(n0=A+(i1<<2)|0,v0=e[n0>>2]|0,G0=h1+1|0,V0=A+(h1<<2)|0,e[V0>>2]=v0,m1=G0),J0=i1+1|0,q0=(J0|0)==(g|0),q0){d1=m1;break}else i1=J0,h1=m1;if(O0=(d1|0)==0,O0)return f=0,f|0;if(B=e[n>>2]|0,p=B+8|0,S=e[p>>2]|0,b=B+12|0,v=e[b>>2]|0,w=B+4|0,D=e[w>>2]|0,y=e[B>>2]|0,_=D-y|0,x=(_|0)/(S|0)&-1,F=d1<<2,M=qt(t,F)|0,T=+(S|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=x<<2,c1=0;q=qt(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=q,ae(q|0,0,z|0)|0,U=c1+1|0,D0=(U|0)==(d1|0),!D0;)c1=U;if(Y=(x|0)>0,Y)for(t0=(S|0)>0,J=v+-1|0,e0=(v|0)>1,$1=0;;){if(l0=r5($1,S)|0,Z=e[B>>2]|0,K=Z+l0|0,O)for(g1=0;;){if(t0)for($0=A+(g1<<2)|0,s0=e[$0>>2]|0,U0=0,l1=0,o1=0;;)if(r0=K+l1|0,V=s0+(r0<<2)|0,h0=e[V>>2]|0,u1=(h0|0)>-1,Z0=0-h0|0,o0=u1?h0:Z0,g0=(o0|0)>(o1|0),E=g0?o0:o1,j=o0+U0|0,c0=l1+1|0,r1=(c0|0)==(S|0),r1){z0=j,n1=E;break}else U0=j,l1=c0,o1=E;else z0=0,n1=0;u0=+(z0|0),I0=u0*G,w0=~~I0;e:do if(e0)for(a1=0;;){if(C0=(B+2328|0)+(a1<<2)|0,d0=e[C0>>2]|0,p0=(n1|0)>(d0|0),!p0&&(B0=(B+2584|0)+(a1<<2)|0,E0=e[B0>>2]|0,b0=(E0|0)<0,K0=(w0|0)<(E0|0),I1=b0|K0,I1)){s1=a1;break e}if(L0=a1+1|0,Q0=(L0|0)<(J|0),Q0)a1=L0;else{s1=L0;break}}else s1=0;while(!1);if(M0=M+(g1<<2)|0,T0=e[M0>>2]|0,P0=T0+($1<<2)|0,e[P0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(Y0=$1+1|0,e1=(Y0|0)==(x|0),e1)break;$1=Y0}return F0=n+40|0,_0=e[F0>>2]|0,N0=_0+1|0,e[F0>>2]=N0,f=M,f|0}function ib(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0;if(M=C,f=(g|0)>0,f)y=0,_=0;else return 0;for(;;)if(E=a+(y<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?x=_:(B=A+(y<<2)|0,p=e[B>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=p,x=S),v=y+1|0,D=(v|0)==(g|0),D){L=x;break}else y=v,_=x;return w=(L|0)==0,w||CQ(t,n,A,L,3),0}function rb(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0;if(Z0=C,m=(g|0)>0,m)N0=0,n1=0;else return f=0,f|0;for(;;)if(B=a+(N0<<2)|0,F=e[B>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+n1|0,V=N0+1|0,Y0=(V|0)==(g|0),Y0){a1=s1;break}else N0=V,n1=s1;if(l1=(a1|0)==0,l1)return f=0,f|0;if(d0=e[n>>2]|0,K0=d0+8|0,L0=e[K0>>2]|0,Q0=d0+12|0,M0=e[Q0>>2]|0,p=d0+4|0,S=e[p>>2]|0,b=e[d0>>2]|0,v=S-b|0,w=(v|0)/(L0|0)&-1,D=qt(t,4)|0,y=w<<2,_=qt(t,y)|0,e[D>>2]=_,ae(_|0,0,y|0)|0,x=(w|0)>0,x)for(L=e[d0>>2]|0,M=(L|0)/(g|0)&-1,T=(L0|0)>0,N=M0+-1|0,G=(M0|0)>1,O=e[D>>2]|0,z=(g|0)>1,V0=0,H0=M;;){if(T)for(Y=e[A>>2]|0,G0=0,z0=0,D0=H0,c1=0;;){if(t0=Y+(D0<<2)|0,J=e[t0>>2]|0,J0=(J|0)>-1,$1=0-J|0,W=J0?J:$1,q=(W|0)>(c1|0),I=q?W:c1,z)for(y0=G0,r1=1;;)if(X=A+(r1<<2)|0,U=e[X>>2]|0,l0=U+(D0<<2)|0,Z=e[l0>>2]|0,O0=(Z|0)>-1,u1=0-Z|0,K=O0?Z:u1,$0=(K|0)>(y0|0),E=$0?K:y0,s0=r1+1|0,F0=(s0|0)==(g|0),F0){P0=E;break}else y0=E,r1=s0;else P0=G0;if(r0=D0+1|0,n0=z0+g|0,h0=(n0|0)<(L0|0),h0)G0=P0,z0=n0,D0=r0,c1=I;else{T0=P0,e1=r0,i1=I;break}}else T0=0,e1=H0,i1=0;e:do if(G)for(q0=0;;){if(o0=(d0+2328|0)+(q0<<2)|0,g0=e[o0>>2]|0,j=(i1|0)>(g0|0),!j&&(c0=(d0+2584|0)+(q0<<2)|0,u0=e[c0>>2]|0,I0=(T0|0)>(u0|0),!I0)){U0=q0;break e}if(w0=q0+1|0,C0=(w0|0)<(N|0),C0)q0=w0;else{U0=w0;break}}else U0=0;while(!1);if(v0=O+(V0<<2)|0,e[v0>>2]=U0,p0=V0+1|0,_0=(p0|0)==(w|0),_0)break;V0=p0,H0=e1}return B0=n+40|0,E0=e[B0>>2]|0,b0=E0+1|0,e[B0>>2]=b0,f=D,f|0}function nb(t,n,A,a,g,f,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0;if(s0=C,C=C+16|0,K=s0,m=n+36|0,B=e[m>>2]|0,F=(B|0)/2&-1,M=f<<2,T=r5(M,F)|0,N=qt(n,T)|0,e[K>>2]=N,G=(f|0)>0,!G)return C=s0,0;for(O=(B|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,p=g+(J<<2)|0,S=e[p>>2]|0,q=(S|0)!=0,b=q&1,U=b+Z|0,O)for(W=0,e0=J;v=Y+(W<<2)|0,w=e[v>>2]|0,D=N+(e0<<2)|0,e[D>>2]=w,y=W+1|0,_=e0+f|0,x=(y|0)<(F|0),x;)W=y,e0=_;if(L=J+1|0,t0=(L|0)==(f|0),t0){l0=U;break}else J=L,Z=U}return X=(l0|0)==0,X?(C=s0,0):(pQ(t,A,K,1,E),C=s0,0)}function sb(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,L=e[m>>2]|0,W=n+16|0,n0=e[W>>2]|0,v0=e[n0>>2]|0,G0=t+36|0,U0=e[G0>>2]|0,l1=r5(U0,g)|0,s1=l1>>1,B=I+4|0,p=e[B>>2]|0,S=(p|0)<(s1|0),f=S?p:s1,b=e[I>>2]|0,v=f-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=v0+-1|0,_=y+D|0,x=(_|0)/(v0|0)&-1,F=x<<2,M=qt(t,F)|0,T=(g|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(g|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(g|0),t0||(J=n+8|0,e0=e[J>>2]|0,q=(e0|0)>0,!q))return 0;X=(D|0)>0,U=t+4|0,l0=I+16|0,Z=n+28|0,K=(v0|0)>0,$0=n+20|0,g1=e0,p1=0;e:for(;;){if(X){for(s0=(p1|0)==0,r0=1<>2]|0,h0=rC(V,U)|0,o0=(h0|0)==-1,o0){B1=23;break e}if(g0=e[l0>>2]|0,j=(h0|0)<(g0|0),!j){B1=23;break e}if(c0=e[Z>>2]|0,u0=c0+(h0<<2)|0,I0=e[u0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=I0,C0=(I0|0)==0,C0){B1=23;break e}}if(d0=(o1|0)<(D|0),E1=K&d0,E1)for(p0=M+(m1<<2)|0,I1=o1,h1=0;;){if(B0=e[p0>>2]|0,E0=B0+(h1<<2)|0,b0=e[E0>>2]|0,K0=(I+24|0)+(b0<<2)|0,L0=e[K0>>2]|0,Q0=L0&r0,M0=(Q0|0)==0,!M0&&(T0=e[$0>>2]|0,P0=T0+(b0<<2)|0,y0=e[P0>>2]|0,Y0=y0+(p1<<2)|0,F0=e[Y0>>2]|0,_0=(F0|0)==0,!_0&&(N0=r5(I1,L)|0,V0=e[I>>2]|0,J0=V0+N0|0,O0=cS(F0,A,J0,g,U,L)|0,z0=(O0|0)==-1,z0))){B1=23;break e}if(q0=h1+1|0,r1=I1+1|0,H0=(q0|0)<(v0|0),e1=(r1|0)<(D|0),d1=H0&e1,d1)I1=r1,h1=q0;else{Z0=r1;break}}else Z0=o1;if(D0=m1+1|0,i1=(Z0|0)<(D|0),i1)o1=Z0,m1=D0;else break}E=e[J>>2]|0,u1=E}else u1=g1;if(c1=p1+1|0,$1=(c1|0)<(u1|0),$1)g1=u1,p1=c1;else{B1=23;break}}return(B1|0)==23,0}function CQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,B=e[n>>2]|0,p=B+8|0,M=e[p>>2]|0,q=n+16|0,h0=e[q>>2]|0,p0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=B+4|0,S=e[Q1>>2]|0,b=(S|0)<(a1|0),f=b?S:a1,v=e[B>>2]|0,w=f-v|0,D=(w|0)>0,!D){C=j1;return}if(y=(w|0)/(M|0)&-1,_=a<<2,E=_,x=C,C=C+((1*E|0)+15&-16)|0,L=(a|0)>0,L)for(F=p0+-1|0,T=F+y|0,N=(T|0)/(p0|0)&-1,G=N<<2,G1=0;l0=qt(t,G)|0,Z=x+(G1<<2)|0,e[Z>>2]=l0,K=G1+1|0,x1=(K|0)==(a|0),!x1;)G1=K;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(y|0)>0,J=t+4|0,W=B+16|0,e0=n+28|0,X=(p0|0)>0,U=n+20|0,m=L^1,H1=0;e:for(;;){if(t0)for($0=1<>2]|0,H0=rC(q0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(D0=e[W>>2]|0,i1=(H0|0)<(D0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,u1=e[$1>>2]|0,g1=x+(v1<<2)|0,l1=e[g1>>2]|0,s1=l1+(_1<<2)|0,e[s1>>2]=u1,n1=(u1|0)==0,z0=v1+1|0,n1){Y1=25;break e}if(U0=(z0|0)<(a|0),U0)v1=z0;else break}s0=(w1|0)<(y|0),q1=X&s0;t:do if(q1){if(L)F1=w1,N1=0;else for(R1=w1,Z1=0;;)if(o1=Z1+1|0,Z0=R1+1|0,I1=(o1|0)<(p0|0),h1=(Z0|0)<(y|0),V1=I1&h1,V1)R1=Z0,Z1=o1;else{b1=Z0;break t}for(;;){for(c0=r5(F1,M)|0,U1=0;;){if(g0=e[B>>2]|0,j=g0+c0|0,u0=x+(U1<<2)|0,I0=e[u0>>2]|0,w0=I0+(_1<<2)|0,C0=e[w0>>2]|0,v0=C0+(N1<<2)|0,d0=e[v0>>2]|0,B0=(B+24|0)+(d0<<2)|0,E0=e[B0>>2]|0,b0=E0&$0,K0=(b0|0)==0,!K0&&(L0=e[U>>2]|0,Q0=L0+(d0<<2)|0,M0=e[Q0>>2]|0,T0=M0+(H1<<2)|0,G0=e[T0>>2]|0,P0=(G0|0)==0,!P0&&(Y0=A+(U1<<2)|0,F0=e[Y0>>2]|0,_0=F0+(j<<2)|0,N0=yp[g&3](G0,_0,J,M)|0,V0=(N0|0)==-1,V0))){Y1=25;break e}if(J0=U1+1|0,O0=(J0|0)<(a|0),O0)U1=J0;else break}if(r0=N1+1|0,n0=F1+1|0,V=(r0|0)<(p0|0),o0=(n0|0)<(y|0),O1=V&o0,O1)F1=n0,N1=r0;else{b1=n0;break}}}else b1=w1;while(!1);if(m1=_1+1|0,d1=(b1|0)<(y|0),d1)w1=b1,_1=m1;else break}if(E1=H1+1|0,p1=e[O>>2]|0,B1=(E1|0)<(p1|0),B1)H1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function pQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,y=e[n>>2]|0,_=y+8|0,$2=e[_>>2]|0,H2=y+12|0,Z2=e[H2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,u5=e[M1>>2]|0,h3=y+4|0,G3=e[h3>>2]|0,x=e[y>>2]|0,J=G3-x|0,r0=(J|0)/($2|0)&-1,ae(O6|0,0,512)|0,ae(s3|0,0,512)|0,C0=n+8|0,T0=e[C0>>2]|0,z0=(T0|0)>0,!z0){C=I6;return}for(g1=(r0|0)>0,E1=(a|0)>0,v1=(u5|0)>1,n2=n+36|0,i2=(u5|0)>0,k2=n+20|0,w2=n+32|0,C2=0-u5|0,y2=T0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(K5<<2)|0,_5=e[G5>>2]|0,q2=e[C5>>2]|0,I5=q2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(p5=Th(q2,_5,t)|0,S5=e[n2>>2]|0,g5=S5+p5|0,e[n2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(v2=g+(b3<<2)|0,f5=e[v2>>2]|0,m5=f5+(K5<<2)|0,n5=e[m5>>2]|0,f6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,x5=f6+K5|0,e5=(x5|0)<(r0|0),e5?(b5=f5+(x5<<2)|0,k5=e[b5>>2]|0,P5=k5+X2|0,Q6=P5):Q6=X2,l5=f6+1|0,k3=(l5|0)==(u5|0),k3){x6=Q6;break}else f6=l5,n6=Q6;if(K2=e[C5>>2]|0,G2=K2+4|0,M2=e[G2>>2]|0,P2=(x6|0)<(M2|0),P2&&(z2=Th(K2,x6,t)|0,o5=e[n2>>2]|0,O2=o5+z2|0,e[n2>>2]=O2),T1=b3+1|0,y3=(T1|0)==(a|0),y3)break;b3=T1}}while(!1);if(L2=(K5|0)<(r0|0),b6=i2&L2,b6){for(_2=K5-r0|0,p2=_2>>>0>>0,N6=p2?C2:_2,R5=0-N6|0,l6=K5,H3=0;;){if(W2=r5(l6,$2)|0,g2=e[y>>2]|0,B5=g2+W2|0,E1)for(t6=0;;){if(t5=g+(t6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,L5=e[i5>>2]|0,j2=L5+$2|0,e[i5>>2]=j2),$5=(y+24|0)+(J2<<2)|0,x2=e[$5>>2]|0,Q5=x2&D2,q5=(Q5|0)==0,!q5&&(j5=e[k2>>2]|0,E5=j5+(J2<<2)|0,f3=e[E5>>2]|0,J5=f3+(a6<<2)|0,X5=e[J5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=A+(t6<<2)|0,F5=e[m3>>2]|0,V5=e[X5>>2]|0,v3=($2|0)/(V5|0)&-1,u3=(v3|0)>0,u3){for(B3=X5+48|0,z3=X5+52|0,z5=X5+44|0,w3=X5+12|0,W5=X5+4|0,L=V5,v5=0,g3=0;;){i6=r5(g3,V5)|0,b=i6+B5|0,x3=F5+(b<<2)|0,U3=e[B3>>2]|0,a3=e[z3>>2]|0,l3=e[z5>>2]|0,c3=l3>>1,e[t3>>2]=0,e[t3+4>>2]=0,e[t3+8>>2]=0,e[t3+12>>2]=0,e[t3+16>>2]=0,e[t3+20>>2]=0,e[t3+24>>2]=0,e[t3+28>>2]=0,C3=(a3|0)==1,F=(L|0)>0;do if(C3){if(!F){X3=0;break}for(G=l3+-1|0,d3=0,p6=0,Y3=L;;)if(I0=Y3+-1|0,D=b+I0|0,w0=F5+(D<<2)|0,v0=e[w0>>2]|0,d0=v0-U3|0,p0=(d0|0)<(c3|0),p0?(B0=c3-d0|0,E0=B0<<1,b0=E0+-1|0,M0=b0):(K0=d0-c3|0,L0=K0<<1,M0=L0),Q0=r5(p6,l3)|0,G0=(M0|0)<0,P0=(M0|0)>=(l3|0),y0=P0?G:M0,Y0=G0?0:y0,F0=Y0+Q0|0,_0=t3+(I0<<2)|0,e[_0>>2]=v0,N0=d3+1|0,j3=(N0|0)==(L|0),j3){X3=F0;break}else d3=N0,p6=F0,Y3=I0}else{if(!F){X3=0;break}for(M=a3>>1,T=M-U3|0,N=l3+-1|0,S3=0,S6=0,D3=L;;)if(O=D3+-1|0,w=b+O|0,z=F5+(w<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(q=c3-W|0,X=q<<1,U=X+-1|0,$0=U):(l0=W-c3|0,Z=l0<<1,$0=Z),K=r5(S6,l3)|0,s0=($0|0)<0,n0=($0|0)>=(l3|0),V=n0?N:$0,h0=s0?0:V,o0=h0+K|0,g0=r5(W,a3)|0,j=g0+U3|0,c0=t3+(O<<2)|0,e[c0>>2]=j,u0=S3+1|0,O3=(u0|0)==(L|0),O3){X3=o0;break}else S3=u0,S6=o0,D3=O}while(!1);V0=e[w3>>2]|0,J0=V0+8|0,O0=e[J0>>2]|0,U0=O0+X3|0,q0=d[U0>>0]|0,r1=q0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,H0=l3+-1|0,e1=r5(H0,a3)|0,D0=e1+U3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)H5=-1,v6=0,c6=X3;else{L6=X3;break}for(;;){$1=O0+v6|0,u1=d[$1>>0]|0,l1=u1<<24>>24>0;do if(l1){if(F)for(Y6=0,_3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,v=b+Y6|0,n1=F5+(v<<2)|0,o1=e[n1>>2]|0,Z0=a1-o1|0,I1=r5(Z0,Z0)|0,h1=I1+_3|0,m1=Y6+1|0,r6=(m1|0)==(L|0),r6){d6=h1;break}else Y6=m1,_3=h1;else d6=0;if(d1=(H5|0)==-1,p1=(d6|0)<(H5|0),Z3=d1|p1,!Z3){U5=H5,B6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,B6=v6}else U5=H5,B6=c6;while(!1);if(B1=e[M5>>2]|0,Q1=(B1|0)<(D0|0),Q1)E=M5,I=B1;else for(x1=M5,e6=0;;)if(L1=e6+1|0,e[x1>>2]=0,w1=M5+(L1<<2)|0,b1=e[w1>>2]|0,R1=(b1|0)<(D0|0),R1){E=w1,I=b1;break}else x1=w1,e6=L1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=v6+1|0,e3=(N1|0)==(i1|0),e3){L6=B6;break}else H5=U5,v6=N1,c6=B6}}else L6=X3;while(!1);if(_1=(L6|0)>-1,A6=F&_1,A6)for(f=x3,k6=0;V1=t3+(k6<<2)|0,O1=e[V1>>2]|0,q1=f+4|0,H1=e[f>>2]|0,Y1=H1-O1|0,e[f>>2]=Y1,j1=k6+1|0,A3=(j1|0)==(L|0),!A3;)f=q1,k6=j1;if(W1=Th(X5,L6,t)|0,P1=W1+v5|0,c2=g3+1|0,R3=(c2|0)==(v3|0),R3){m=P1;break}B=e[X5>>2]|0,L=B,v5=P1,g3=c2}p=e[t5>>2]|0,E2=p,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,u2=z1+O5|0,e[w2>>2]=u2,o2=E2+(l6<<2)|0,A2=e[o2>>2]|0,K1=O6+(A2<<2)|0,h2=e[K1>>2]|0,l2=h2+O5|0,e[K1>>2]=l2}if(r2=t6+1|0,u6=(r2|0)==(a|0),u6)break;t6=r2}if(a2=H3+1|0,X1=l6+1|0,Q3=(a2|0)==(R5|0),Q3)break;l6=X1,H3=a2}N2=K5-N6|0,q3=N2}else q3=K5;if(d2=(q3|0)<(r0|0),d2)K5=q3;else break}S=e[C0>>2]|0,t2=S}else t2=y2;if(s2=a6+1|0,f2=(s2|0)<(t2|0),f2)y2=t2,a6=s2;else break}C=I6}function Nt(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0;if(B=C,A=(t|0)==0,A)E=0;else for(n=t,I=0;;)if(a=n>>>1,g=I+1|0,f=(a|0)==0,f){E=g;break}else n=a,I=g;return E|0}function BQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,B=m?A:n,F=B<<2,e0=S9(F)|0,ae(P1|0,0,132)|0,V=(n|0)>0;do if(V){d0=P1+4|0,P0=(A|0)==0,q0=P0&1,B1=0,v1=0;e:for(;;){s1=t+v1|0,p1=d[s1>>0]|0,p=p1<<24>>24,S=p1<<24>>24>0;t:do if(S){if(b=P1+(p<<2)|0,v=e[b>>2]|0,w=p1<<24>>24>31,D=v>>>p,y=(D|0)==0,c2=w|y,!c2){K1=5;break e}_=e0+(B1<<2)|0,e[_>>2]=v,x=P1+(p<<2)|0,L=v&1,M=(L|0)==0;i:do if(M)for(q=v,X=x,V1=p;;){if(W=q+1|0,e[X>>2]=W,U=V1+-1|0,l0=(V1|0)>1,!l0)break i;if(f=P1+(U<<2)|0,I=e[f>>2]|0,Z=P1+(U<<2)|0,K=I&1,$0=(K|0)==0,$0)q=I,X=Z,V1=U;else{g=Z,_1=U,K1=8;break}}else g=x,_1=p,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(_1|0)==1,N){G=e[d0>>2]|0,O=G+1|0,e[d0>>2]=O;break}else{z=_1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[g>>2]=J;break}while(!1);if(Y1=p+1|0,T=(Y1|0)<33,T)for(R1=v,q1=p,j1=Y1;;){if(s0=P1+(j1<<2)|0,r0=e[s0>>2]|0,n0=r0>>>1,h0=(n0|0)==(R1|0),!h0){E=1;break t}if(o0=P1+(q1<<2)|0,g0=e[o0>>2]|0,j=g0<<1,e[s0>>2]=j,O1=j1+1|0,c0=(O1|0)<33,c0)H1=j1,R1=r0,j1=O1,q1=H1;else{E=1;break}}else E=1}else E=q0;while(!1);if(Q1=B1+E|0,u0=v1+1|0,I0=(u0|0)<(n|0),I0)B1=Q1,v1=u0;else{L1=Q1,K1=16;break}}if((K1|0)==5)return I2(e0),a=0,C=h2,a|0;if((K1|0)==16){if(z1=(L1|0)==1,!z1){U1=1,K1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,v0=(C0|0)==2,v0)break;U1=1,K1=27;break}}else U1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,z0=P1+(U1<<2)|0,U0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=U0&H0,D0=(e1|0)==0,J0=U1+1|0,!!D0;)if(O0=(J0|0)<33,O0)U1=J0,K1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!V)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(u1=e0+(x1<<2)|0,g1=e[u1>>2]|0,l1=c1<<24>>24,n2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>n2,o1=n1&1,Z0=o1|a1,I1=n2+1|0,h1=(I1|0)<(l1|0),h1)n2=I1,E2=Z0;else{u2=Z0;break}else u2=0;if(m1=x1+1|0,d1=e0+(x1<<2)|0,e[d1>>2]=u2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else x1=m1,Z1=E1}return C=h2,a|0}for(;;){if(p0=t+N1|0,B0=d[p0>>0]|0,E0=B0<<24>>24>0,E0)for(V0=e0+(w1<<2)|0,G0=e[V0>>2]|0,N0=B0<<24>>24,W1=0,A2=0;;)if(M0=A2<<1,T0=G0>>>W1,y0=T0&1,Y0=y0|M0,F0=W1+1|0,_0=(F0|0)<(N0|0),_0)W1=F0,A2=Y0;else{o2=Y0;break}else o2=0;if(b0=B0<<24>>24==0,b0?b1=w1:(K0=w1+1|0,L0=e0+(w1<<2)|0,e[L0>>2]=o2,b1=K0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=b1,N1=Q0}return C=h2,a|0}function ob(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0;if(q=C,a=t+4|0,g=e[a>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(_=+(g|0),x=_,L=+(D|0),F=1/L,M=F,T=+Rh(+x,+M),f=+WA(+T),E=~~f,Y=E;;){for(b=Y+1|0,N=1,G=1,O=0;;)if(p=r5(N,Y)|0,S=r5(G,b)|0,v=O+1|0,w=(v|0)<(D|0),w)N=p,G=S,O=v;else{n=p,A=S;break}if(I=(n|0)<=(g|0),m=(A|0)>(g|0),z=I&m,z){W=Y;break}B=(n|0)>(g|0),J=B?-1:1,t0=Y+J|0,Y=t0}return W|0}function Ab(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0;if(q5=C,B=t+12|0,p=e[B>>2]|0,m=p+-1|0,i5=m>>>0<2,!i5)return f=0,f|0;if(H0=t+16|0,n1=e[H0>>2]|0,L1=n1&2097151,_1=+(L1|0),z1=n1>>>21,a2=z1&1023,N2=(n1|0)<0,X2=-_1,a=N2?X2:_1,S=a2+-788|0,T=+oC(a,S),X=T,o0=t+20|0,B0=e[o0>>2]|0,Y0=B0&2097151,z0=+(Y0|0),U0=B0>>>21,q0=U0&1023,r1=(B0|0)<0,e1=-z0,g=r1?e1:z0,D0=q0+-788|0,i1=+oC(g,D0),c1=i1,$1=e[t>>2]|0,u1=r5($1,n)|0,g1=n4(u1,4)|0,(p|0)==1){if(p1=t+4|0,B1=e[p1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(x1=+(B1|0),w1=x1,b1=+($1|0),R1=1/b1,F1=R1,G1=+Rh(+w1,+F1),v1=+WA(+G1),U1=~~v1,$5=U1;;){for(u2=$5+1|0,n5=1,L2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(L2,u2)|0,o2=I5+1|0,d5=(o2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,L2=c2,I5=o2;if(Z1=(E|0)<=(B1|0),N1=(I|0)>(B1|0),u5=N1&Z1,u5){x2=$5;break}W1=(E|0)>(B1|0),j2=W1?-1:1,L5=j2+$5|0,$5=L5}if(V1=(B1|0)>0,!V1)return f=g1,f|0;for(O1=(A|0)==0,q1=t+8|0,H1=t+32|0,Y1=c1,j1=X,n2=t+28|0,_2=0,M1=0;;){if(O1)if($2=e[H1>>2]|0,i2=e[n2>>2]|0,l2=(i2|0)==0,r2=r5($1,_2)|0,l2)for(p5=1,W2=0;;)if(b5=(M1|0)/(p5|0)&-1,Z2=(b5|0)%(x2|0)&-1,f5=$2+(Z2<<2)|0,k5=e[f5>>2]|0,P5=+(k5|0),q2=+ji(+P5),l5=q2,v2=l5*Y1,m5=j1+v2,b=m5,v=r2+W2|0,w=g1+(v<<2)|0,s[w>>2]=b,D=r5(p5,x2)|0,y=W2+1|0,_=(y|0)<($1|0),_)p5=D,W2=y;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(x=(M1|0)/(A5|0)&-1,L=(x|0)%(x2|0)&-1,F=$2+(L<<2)|0,M=e[F>>2]|0,N=+(M|0),G5=+ji(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=r2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,q=r5(A5,x2)|0,U=g5+1|0,l0=(U|0)<($1|0),l0)A5=q,g5=U,t5=J;else{Q5=21;break}else if(E2=e[q1>>2]|0,A2=E2+M1|0,K1=d[A2>>0]|0,h2=K1<<24>>24==0,h2)p2=_2;else for(X1=e[H1>>2]|0,s2=e[n2>>2]|0,f2=(s2|0)==0,t2=A+(_2<<2)|0,y2=e[t2>>2]|0,k2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(x2|0)&-1,F2=X1+(C2<<2)|0,D2=e[F2>>2]|0,d2=+(D2|0),_5=+ji(+d2),K2=_5,G2=K2*Y1,H2=s5,M2=H2+j1,P2=M2+G2,z2=P2,B5=f2?s5:z2,o5=k2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=r5(c5,x2)|0,x5=a5+1|0,e5=(x5|0)<($1|0),e5)c5=T1,a5=x5,s5=B5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,p2=Z),K=M1+1|0,$0=(K|0)<(B1|0),$0)_2=p2,M1=K;else{f=g1;break}}return f|0}else if((p|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return f=g1,f|0;for(o1=(A|0)!=0,Z0=t+8|0,I1=t+32|0,h1=c1,m1=X,d1=t+28|0,E1=($1|0)>0,C5=0,S5=0;;){if(o1?(s0=e[Z0>>2]|0,r0=s0+S5|0,n0=d[r0>>0]|0,V=n0<<24>>24==0,V?R5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,g0=e[d1>>2]|0,j=(g0|0)==0,c0=A+(C5<<2)|0,u0=r5($1,S5)|0,I0=r5($1,C5)|0,g2=0,J2=0;w0=u0+g2|0,C0=h0+(w0<<2)|0,v0=e[C0>>2]|0,d0=+(v0|0),D5=+ji(+d0),p0=D5,E0=p0*h1,b0=J2,K0=b0+m1,L0=K0+E0,Q0=L0,h5=j?J2:Q0,o1?(M0=e[c0>>2]|0,T0=r5(M0,$1)|0,G0=T0+g2|0,P0=g1+(G0<<2)|0,s[P0>>2]=Q0):(y0=I0+g2|0,F0=g1+(y0<<2)|0,s[F0>>2]=Q0),_0=g2+1|0,N0=(_0|0)<($1|0),N0;)g2=_0,J2=h5;V0=C5+1|0,R5=V0}if(J0=S5+1|0,O0=(J0|0)<(s1|0),O0)C5=R5,S5=J0;else{f=g1;break}}return f|0}else return f=g1,f|0;return 0}function Cp(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0;S=C,n=t+36|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(g=t+32|0,f=e[g>>2]|0,E=(f|0)==0,E||I2(f),I=t+8|0,m=e[I>>2]|0,B=(m|0)==0,B||I2(m),I2(t))}function ab(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0;x=C,n=t+16|0,A=e[n>>2]|0,m=(A|0)==0,m||I2(A),B=t+20|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||I2(v),D=t+28|0,a=e[D>>2]|0,g=(a|0)==0,g||I2(a),f=t+32|0,E=e[f>>2]|0,I=(E|0)==0,I||I2(E),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function QQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;U0=C,O0=t,q0=O0+56|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(q0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,x=e[I>>2]|0,J=t+4|0,e[J>>2]=x,r0=t+8|0,e[r0>>2]=x,C0=e[n>>2]|0,e[t>>2]=C0,b0=n+8|0,K0=e[b0>>2]|0,L0=BQ(K0,x,0)|0,Q0=t+20|0,e[Q0>>2]=L0,m=e[I>>2]|0,B=e[n>>2]|0,p=(B|0)>0,!p)for(;;);for(S=+(m|0),b=S,v=+(B|0),w=1/v,D=w,y=+Rh(+b,+D),_=+WA(+y),L=~~_,V0=L;;){for(O=V0+1|0,M0=1,T0=1,P0=0;;)if(N=r5(M0,V0)|0,G=r5(T0,O)|0,z=P0+1|0,G0=(z|0)==(B|0),G0){g=N,f=G;break}else M0=N,T0=G,P0=z;if(F=(g|0)<=(m|0),M=(f|0)>(m|0),y0=M&F,y0){J0=V0;break}T=(g|0)>(m|0),N0=T?-1:1,_0=N0+V0|0,V0=_0}return Y=t+44|0,e[Y>>2]=J0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,q=+(e0|0),X=W>>>21,U=X&1023,l0=(W|0)<0,Z=-q,A=l0?Z:q,K=U+-788|0,$0=+oC(A,K),s0=$0,Y0=+bQ(s0),n0=~~Y0,V=t+48|0,e[V>>2]=n0,h0=n+20|0,o0=e[h0>>2]|0,g0=o0&2097151,j=+(g0|0),c0=o0>>>21,u0=c0&1023,I0=(o0|0)<0,w0=-j,a=I0?w0:j,v0=u0+-788|0,d0=+oC(a,v0),p0=d0,F0=+bQ(p0),B0=~~F0,E0=t+52|0,e[E0>>2]=B0,0}function $b(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;M3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(b=n+4|0,v=e[b>>2]|0,E2=(v|0)>0,E2)for(q2=n+8|0,B5=e[q2>>2]|0,H3=0,x6=0;;)if(Q5=B5+H3|0,V5=d[Q5>>0]|0,U3=V5<<24>>24>0,o6=U3&1,m=o6+x6|0,K5=H3+1|0,w=(K5|0)<(v|0),w)H3=K5,x6=m;else{c0=m;break}else c0=0;if(O=t+4|0,e[O>>2]=v,Z=t+8|0,e[Z>>2]=c0,K0=e[n>>2]|0,e[t>>2]=K0,N0=(c0|0)>0,!N0)return a=0,C=M3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,b1=BQ(I1,v,c0)|0,q1=c0<<2,f=q1,A2=C,C=C+((1*f|0)+15&-16)|0,t2=(b1|0)==0,t2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),x5=t+24|0,e5=e[x5>>2]|0,b5=(e5|0)==0,b5||I2(e5),f5=t+28|0,k5=e[f5>>2]|0,P5=(k5|0)==0,P5||I2(k5),l5=t+32|0,v2=e[l5>>2]|0,m5=(v2|0)==0,m5||I2(v2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=M3,a|0}else D3=0;for(;H2=b1+(D3<<2)|0,Z2=e[H2>>2]|0,C5=Z2>>>16,R5=Z2<<16,d5=C5|R5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,p5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=p5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,u5=s5<<1,i5=u5&-1431655766,L5=J2|i5,e[H2>>2]=L5,j2=A2+(D3<<2)|0,e[j2>>2]=H2,$5=D3+1|0,Y6=($5|0)==(c0|0),!Y6;)D3=$5;for(Gh(A2,c0,4,10),E=q1,x2=C,C=C+((1*E|0)+15&-16)|0,q5=S9(q1)|0,j5=t+20|0,e[j5>>2]=q5,E5=b1,Y3=0;;)if(f3=A2+(Y3<<2)|0,h3=e[f3>>2]|0,J5=h3,X5=J5-E5|0,n3=X5>>2,m3=x2+(n3<<2)|0,e[m3>>2]=Y3,F5=Y3+1|0,L6=(F5|0)==(c0|0),L6){Z3=0;break}else Y3=F5;for(;v3=b1+(Z3<<2)|0,u3=e[v3>>2]|0,B3=x2+(Z3<<2)|0,z3=e[B3>>2]|0,G3=q5+(z3<<2)|0,e[G3>>2]=u3,z5=Z3+1|0,B6=(z5|0)==(c0|0),!B6;)Z3=z5;if(I2(b1),w3=Ab(n,c0,x2)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(q1)|0,x3=t+24|0,e[x3>>2]=i6,a3=e[b>>2]|0,l3=(a3|0)>0,l3)for(B=e[i1>>2]|0,b6=0,I6=0;;)if(c3=B+b6|0,C3=d[c3>>0]|0,H5=C3<<24>>24>0,H5?(U5=I6+1|0,O5=x2+(I6<<2)|0,v5=e[O5>>2]|0,P3=i6+(v5<<2)|0,e[P3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{K6=J6;break}else K6=0;if(A3=S9(K6)|0,R3=t+28|0,e[R3>>2]=A3,u6=t+40|0,e[u6>>2]=0,l3){for(p=e[i1>>2]|0,n5=0,k3=p,A6=0,j6=0;;)if(Q3=k3+A6|0,y3=d[Q3>>0]|0,r6=y3<<24>>24>0,r6?(j3=j6+1|0,O3=x2+(j6<<2)|0,S3=e[O3>>2]|0,g3=e[R3>>2]|0,q3=g3+S3|0,d[q3>>0]=y3,l6=e[i1>>2]|0,d3=l6+A6|0,v6=d[d3>>0]|0,k6=v6<<24>>24,S6=e[u6>>2]|0,p6=(k6|0)>(S6|0),p6?(e[u6>>2]=k6,L2=k6,_2=l6,G6=j3):(L2=S6,_2=l6,G6=j3)):(L2=n5,_2=k3,G6=j6),X3=A6+1|0,D=e[b>>2]|0,y=(X3|0)<(D|0),y)n5=L2,k3=_2,A6=X3,j6=G6;else{I=L2,e9=G6;break}if(_=(e9|0)==1,_){if(x=(I|0)==1,x)return L=t+36|0,e[L>>2]=1,F=n4(2,4)|0,M=t+32|0,e[M>>2]=F,T=F+4|0,e[T>>2]=1,e[F>>2]=1,a=0,C=M3,a|0;F3=1}else F3=e9}else F3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)R6=-4;else{for(g=N,U6=0;;)if(z=g>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else g=z,U6=Y;s9=D6+-3|0,R6=s9}if(J=t+36|0,W=(R6|0)<5,A=W?5:R6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,q=1<>2]=X,l0=(F3|0)>0,l0)for(n0=z6,t3=0;;){if(K=e[R3>>2]|0,$0=K+t3|0,s0=d[$0>>0]|0,r0=s0<<24>>24,V=(n0|0)<(r0|0),V)p2=n0;else if(h0=e[j5>>2]|0,o0=h0+(t3<<2)|0,g0=e[o0>>2]|0,j=g0>>>16,u0=g0<<16,I0=j|u0,w0=I0>>>8,C0=w0&16711935,v0=I0<<8,d0=v0&-16711936,p0=C0|d0,B0=p0>>>4,E0=B0&252645135,b0=p0<<4,L0=b0&-252645136,Q0=E0|L0,M0=Q0>>>2,T0=M0&858993459,G0=Q0<<2,P0=G0&-858993460,y0=T0|P0,Y0=y0>>>1,F0=Y0&1431655765,_0=y0<<1,V0=_0&-1431655766,J0=F0|V0,O0=n0-r0|0,z0=(O0|0)==31,z0)p2=n0;else for(U0=t3+1|0,r1=r0,s3=0;;)if(q0=s3<>2]=U0,D0=s3+1|0,c1=e[J>>2]|0,$1=d[$0>>0]|0,u1=$1<<24>>24,g1=c1-u1|0,l1=1<>>16,B1=E1<<16,Q1=p1|B1,L1=Q1>>>8,x1=L1&16711935,w1=Q1<<8,R1=w1&-16711936,F1=x1|R1,G1=F1>>>4,v1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=v1|Z1,_1=N1>>>2,V1=_1&858993459,O1=N1<<2,H1=O1&-858993460,Y1=V1|H1,j1=Y1>>>1,n2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=n2|P1,z1=X+(c2<<2)|0,u2=e[z1>>2]|0,o2=(u2|0)==0,o2){for(d6=a6;;){if(K1=d6+1|0,h2=(K1|0)<(F3|0),!h2){_3=d6;break}if($2=e[j5>>2]|0,i2=$2+(K1<<2)|0,l2=e[i2>>2]|0,r2=l2>>>0>E1>>>0,r2){_3=d6;break}else d6=K1}a2=(F3|0)>(C6|0);e:do if(a2)for(X1=e[j5>>2]|0,e6=C6;;){if(s2=X1+(e6<<2)|0,f2=e[s2>>2]|0,y2=f2&Z0,k2=E1>>>0>>0,k2){b3=e6;break e}if(w2=e6+1|0,C2=(F3|0)>(w2|0),C2)e6=w2;else{b3=w2;break}}else b3=C6;while(!1);F2=F3-b3|0,D2=_3>>>0>32767,N2=F2>>>0>32767,f6=N2?32767:F2,N6=_3<<15,n6=N6|-2147483648,d2=D2?-1073774592:n6,K2=d2|f6,e[z1>>2]=K2,t6=b3,Q6=_3}else t6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(q|0),!M2){a=0;break}S=e[J>>2]|0,d1=S,C6=t6,O6=G2,a6=Q6}return C=M3,a|0}function lb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=e[A>>2]|0,g=e[n>>2]|0,f=e[g>>2]|0,E=a>>>0>f>>>0,I=E&1,m=a>>>0>>0,B=m&1,p=I-B|0,p|0}function cb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0;if(K0=C,B=e[t>>2]|0,p=(B|0)==1,!p&&(M=t+4|0,q=e[M>>2]|0,r0=t+8|0,n0=e[r0>>2]|0,V=n0+4|0,h0=e[V>>2]|0,o0=(h0|0)>0,!!o0)){for(g0=h0+1|0,m=B+-1|0,I0=B,w0=0,C0=B,d0=1;;){S=g0-w0|0,b=n0+(S<<2)|0,v=e[b>>2]|0,w=(C0|0)/(v|0)&-1,D=(B|0)/(C0|0)&-1,y=r5(D,w)|0,_=v+-1|0,x=r5(D,_)|0,L=I0-x|0,F=1-d0|0;do if((v|0)==2)if(Y=(F|0)==0,A=m+L|0,t0=q+(A<<2)|0,Y){kQ(D,w,n,q,t0),p0=0;break}else{kQ(D,w,q,n,t0),p0=F;break}else if((v|0)==4)if(T=L+D|0,N=(F|0)==0,a=m+L|0,G=q+(a<<2)|0,g=m+T|0,O=q+(g<<2)|0,f=m+D|0,E=f+T|0,z=q+(E<<2)|0,N){vQ(D,w,n,q,G,O,z),p0=0;break}else{vQ(D,w,q,n,G,O,z),p0=F;break}else if(J=(D|0)==1,v0=J?d0:F,W=(v0|0)==0,I=m+L|0,e0=q+(I<<2)|0,W){SQ(D,v,w,y,n,n,n,q,q,e0),p0=1;break}else{SQ(D,v,w,y,q,q,q,n,n,e0),p0=0;break}while(!1);if(X=w0+1|0,c0=(X|0)==(h0|0),c0){B0=p0;break}else I0=L,w0=X,C0=w,d0=p0}if(U=(B0|0)!=1,l0=(B|0)>0,E0=l0&U,E0)u0=0;else return;for(;Z=q+(u0<<2)|0,K=e[Z>>2]|0,$0=n+(u0<<2)|0,e[$0>>2]=K,s0=u0+1|0,j=(s0|0)==(B|0),!j;)u0=s0}}function yQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,x=t+4|0,e[x>>2]=I,J=n4(32,4)|0,r0=t+8|0,e[r0>>2]=J,C0=(n|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,u1=n,l1=0;e:for(;;)for(L0=H0+1|0,Q0=(L0|0)<4,Q0?(M0=25768+(L0<<2)|0,m=e[M0>>2]|0,s1=m):(B=l1+2|0,s1=B),p=(s1|0)!=2,O0=$1,g1=u1;;){if(V0=O0+1|0,S=(g1|0)/(s1|0)&-1,b=r5(S,s1)|0,v=(g1|0)==(b|0),!v){H0=L0,$1=O0,u1=g1,l1=s1;continue e}if(w=O0+2|0,D=J+(w<<2)|0,e[D>>2]=s1,y=(O0|0)==0,a1=p|y,!a1){if(_=(O0|0)<1,!_)for(F0=1;L=V0-F0|0,F=L+1|0,M=J+(F<<2)|0,T=e[M>>2]|0,N=L+2|0,G=J+(N<<2)|0,e[G>>2]=T,O=F0+1|0,y0=(O|0)==(V0|0),!y0;)F0=O;e[K0>>2]=2}if(z=(S|0)==1,z){A=y,J0=V0,z0=O0;break e}else O0=V0,g1=S}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=J0,t0=+(n|0),W=6.2831854820251465/t0,a=A^1,e0=(z0|0)>0,n1=e0&a,!!n1)for(q=n+1|0,U0=0,D0=0,i1=1;;){if(X=D0+2|0,U=J+(X<<2)|0,l0=e[U>>2]|0,Z=r5(l0,i1)|0,K=(n|0)/(Z|0)&-1,$0=(l0|0)>1,$0){for(s0=(K|0)>2,n0=l0+-1|0,r1=U0,e1=0,c1=0;;){if(V=c1+i1|0,h0=+(V|0),o0=h0*W,s0)for(Y0=0,_0=r1,N0=2;g0=Y0+1,j=o0*g0,T0=+jA(+j),g=_0+n|0,c0=I+(g<<2)|0,s[c0>>2]=T0,o1=+Pn(+j),u0=_0+2|0,f=q+_0|0,I0=I+(f<<2)|0,s[I0>>2]=o1,w0=N0+2|0,v0=(w0|0)<(K|0),v0;)Y0=g0,_0=u0,N0=w0;if(d0=r1+K|0,p0=e1+1|0,G0=(p0|0)==(n0|0),G0)break;r1=d0,e1=p0,c1=V}B0=r5(K,n0)|0,E0=B0+U0|0,q0=E0}else q0=U0;if(b0=D0+1|0,P0=(b0|0)==(z0|0),P0)break;U0=q0,D0=b0,i1=Z}}}function wQ(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0;B=C,n=(t|0)==0,!n&&(A=t+4|0,a=e[A>>2]|0,g=(a|0)==0,g||I2(a),f=t+8|0,E=e[f>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function vQ(t,n,A,a,g,f,E){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0,E=E|0;var I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0;if(f3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,y2=t<<1,g2=0,s5=I,u5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,f5=+s[M2>>2],R5=A+(u5<<2)|0,B=+s[R5>>2],F=B+f5,e0=A+(j2<<2)|0,V=+s[e0>>2],d0=A+($5<<2)|0,P0=+s[d0>>2],q0=P0+V,s1=q0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=q0-F,E1=K1+I1|0,p1=a+(E1<<2)|0,s[p1>>2]=d1,B1=+s[e0>>2],Q1=+s[d0>>2],L1=B1-Q1,x1=I1+y2|0,w1=x1+-1|0,b1=a+(w1<<2)|0,s[b1>>2]=L1,R1=+s[R5>>2],G1=+s[M2>>2],v1=R1-G1,U1=a+(x1<<2)|0,s[U1>>2]=v1,Z1=s5+t|0,N1=u5+t|0,_1=j2+t|0,V1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,u5=N1,j2=_1,$5=V1;if(q1=(t|0)<2,!q1){if(H1=(t|0)==2,!H1){if(m1)for(j1=t<<1,B5=0,h5=0;;){for(j=h5<<2,c0=j+j1|0,W2=2,i5=h5,x2=j,q5=c0;P1=i5+2|0,c2=x2+2|0,z1=q5+-2|0,u2=P1+I|0,o2=W2+-2|0,E2=g+(o2<<2)|0,A2=+s[E2>>2],h2=u2+-1|0,$2=A+(h2<<2)|0,i2=+s[$2>>2],l2=i2*A2,r2=W2+-1|0,a2=g+(r2<<2)|0,X1=+s[a2>>2],s2=A+(u2<<2)|0,f2=+s[s2>>2],t2=f2*X1,k2=t2+l2,w2=f2*A2,C2=X1*i2,F2=w2-C2,D2=u2+I|0,N2=f+(o2<<2)|0,d2=+s[N2>>2],K2=D2+-1|0,G2=A+(K2<<2)|0,H2=+s[G2>>2],P2=H2*d2,z2=f+(r2<<2)|0,o5=+s[z2>>2],O2=A+(D2<<2)|0,T1=+s[O2>>2],X2=T1*o5,x5=X2+P2,e5=T1*d2,b5=o5*H2,Z2=e5-b5,k5=D2+I|0,P5=E+(o2<<2)|0,l5=+s[P5>>2],v2=k5+-1|0,m5=A+(v2<<2)|0,n5=+s[m5>>2],L2=n5*l5,_2=E+(r2<<2)|0,p2=+s[_2>>2],C5=A+(k5<<2)|0,d5=+s[C5>>2],D5=d5*p2,G5=D5+L2,_5=d5*l5,q2=p2*n5,I5=_5-q2,A5=G5+k2,c5=G5-k2,p5=I5+F2,M1=F2-I5,p=A+(P1<<2)|0,S=+s[p>>2],b=S+Z2,v=S-Z2,w=i5+1|0,D=A+(w<<2)|0,y=+s[D>>2],_=y+x5,x=y-x5,L=A5+_,M=x2|1,T=a+(M<<2)|0,s[T>>2]=L,N=p5+b,G=a+(c2<<2)|0,s[G>>2]=N,O=x-M1,z=q5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=O,t0=c5-v,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+x,q=c2+j1|0,X=q+-1|0,U=a+(X<<2)|0,s[U>>2]=W,l0=c5+v,Z=a+(q<<2)|0,s[Z>>2]=l0,K=_-A5,$0=z1+j1|0,s0=$0+-1|0,r0=a+(s0<<2)|0,s[r0>>2]=K,n0=p5-b,h0=a+($0<<2)|0,s[h0>>2]=n0,o0=W2+2|0,g0=(o0|0)<(t|0),g0;)W2=o0,i5=P1,x2=c2,q5=z1;if(n2=h5+t|0,W1=B5+1|0,a5=(W1|0)==(n|0),a5)break;B5=W1,h5=n2}if(u0=t&1,I0=(u0|0)==0,!I0)return}if(w0=t+-1|0,C0=w0+I|0,v0=t<<2,p0=t<<1,!!m1)for(B0=C0+m|0,t5=0,J2=C0,L5=B0,Q5=t,j5=t;E0=A+(J2<<2)|0,b0=+s[E0>>2],K0=A+(L5<<2)|0,L0=+s[K0>>2],Q0=L0+b0,M0=Q0*-.7071067690849304,T0=b0-L0,G0=T0*.7071067690849304,y0=j5+-1|0,Y0=A+(y0<<2)|0,F0=+s[Y0>>2],_0=G0+F0,N0=Q5+-1|0,V0=a+(N0<<2)|0,s[V0>>2]=_0,J0=+s[Y0>>2],O0=J0-G0,z0=Q5+p0|0,U0=z0+-1|0,r1=a+(U0<<2)|0,s[r1>>2]=O0,H0=J2+I|0,e1=A+(H0<<2)|0,D0=+s[e1>>2],i1=M0-D0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],u1=$1+M0,g1=a+(z0<<2)|0,s[g1>>2]=u1,l1=J2+t|0,a1=L5+t|0,n1=Q5+v0|0,o1=j5+t|0,Z0=t5+1|0,S5=(Z0|0)==(n|0),!S5;)t5=Z0,J2=l1,L5=a1,Q5=n1,j5=o1}}function kQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0;if(v1=C,f=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,B1=f;s0=A+(d1<<2)|0,w0=+s[s0>>2],M0=A+(B1<<2)|0,O0=+s[M0>>2],u1=O0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=u1,m=+s[s0>>2],B=+s[M0>>2],p=m-B,S=t0+s1|0,b=a+(S<<2)|0,s[b>>2]=p,v=d1+t|0,w=B1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,d1=v,B1=w;if(y=(t|0)<2,!y){if(x=(t|0)==2,!x){if(_)for(h1=0,E1=0,Q1=f;;){for(Y0=E1<<1,F0=Y0+E|0,Z0=2,x1=Q1,b1=F0,R1=E1,F1=Y0;T=x1+2|0,N=b1+-2|0,G=R1+2|0,O=F1+2|0,z=Z0+-2|0,Y=g+(z<<2)|0,J=+s[Y>>2],W=x1+1|0,e0=A+(W<<2)|0,q=+s[e0>>2],X=q*J,U=Z0+-1|0,l0=g+(U<<2)|0,Z=+s[l0>>2],K=A+(T<<2)|0,$0=+s[K>>2],r0=$0*Z,n0=r0+X,V=$0*J,h0=Z*q,o0=V-h0,g0=A+(G<<2)|0,j=+s[g0>>2],c0=o0+j,u0=a+(O<<2)|0,s[u0>>2]=c0,I0=+s[g0>>2],C0=o0-I0,v0=a+(N<<2)|0,s[v0>>2]=C0,d0=R1+1|0,p0=A+(d0<<2)|0,B0=+s[p0>>2],E0=B0+n0,b0=F1|1,K0=a+(b0<<2)|0,s[K0>>2]=E0,L0=+s[p0>>2],Q0=L0-n0,T0=b1+-3|0,G0=a+(T0<<2)|0,s[G0>>2]=Q0,P0=Z0+2|0,y0=(P0|0)<(t|0),y0;)Z0=P0,x1=T,b1=N,R1=G,F1=O;if(L=E1+t|0,F=Q1+t|0,M=h1+1|0,o1=(M|0)==(n|0),o1)break;h1=M,E1=L,Q1=F}if(_0=(t|0)%2&-1,N0=(_0|0)==1,N0)return}if(V0=t+-1|0,!!_)for(J0=f+V0|0,m1=0,p1=t,L1=J0,w1=V0;z0=A+(L1<<2)|0,U0=+s[z0>>2],q0=-U0,r1=a+(p1<<2)|0,s[r1>>2]=q0,H0=A+(w1<<2)|0,e1=e[H0>>2]|0,D0=p1+-1|0,i1=a+(D0<<2)|0,e[i1>>2]=e1,c1=p1+E|0,$1=L1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,p1=c1,L1=$1,w1=g1}}function SQ(t,n,A,a,g,f,E,I,m,B){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0,E=E|0,I=I|0,m=m|0,B=B|0;var p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,ee=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,f8=0,H8=0,Y8=0,et=0,tt=0,d8=0,Pe=0,xe=0,i8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,r8=0,q4=0,Re=0,n8=0,I8=0,_8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,nt=0,H4=0,I3=0,He=0,p8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,a8=0,$8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,l8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,B8=0;B8=C,b=+(n|0),v=6.2831854820251465/b,f8=+jA(+v),Gt=+Pn(+v),E2=n+1|0,Q3=E2>>1,U9=t+-1|0,U4=U9>>1,R9=r5(A,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(vt=(a|0)>0,vt)for(we=0;c0=E+(we<<2)|0,K0=e[c0>>2]|0,N0=m+(we<<2)|0,e[N0>>2]=K0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(n|0)>1,O)for(Z=(A|0)>0,p8=1,Ht=0;;){if(I1=Ht+R9|0,Z)for(At=0,e4=I1;b1=f+(e4<<2)|0,q1=e[b1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=q1,t2=e4+t|0,H2=At+1|0,j9=(H2|0)==(A|0),!j9;)At=H2,e4=t2;if(Z2=p8+1|0,s8=(Z2|0)==(n|0),s8)break;p8=Z2,Ht=I1}if(C5=0-t|0,M1=(U4|0)>(A|0),M1){if(O)for(G3=(A|0)>0,H5=(t|0)>2,I3=C5,H9=1,_t=0;;){if(k3=_t+R9|0,v6=I3+t|0,G3)for(e6=k3-t|0,s3=v6+-1|0,a8=0,xt=e6;;){if(F3=xt+t|0,H5)for(o8=2,de=s3,E7=F3;M3=de+2|0,E6=E7+2|0,E9=de+1|0,X4=B+(E9<<2)|0,N4=+s[X4>>2],G4=E7+1|0,a4=f+(G4<<2)|0,R4=+s[a4>>2],u4=R4*N4,Ce=B+(M3<<2)|0,q9=+s[Ce>>2],m9=f+(E6<<2)|0,pe=+s[m9>>2],Ne=pe*q9,Xe=Ne+u4,Ge=I+(G4<<2)|0,s[Ge>>2]=Xe,P4=+s[X4>>2],ee=+s[m9>>2],be=ee*P4,e8=+s[Ce>>2],Z9=+s[a4>>2],$e=Z9*e8,f4=be-$e,_6=I+(E6<<2)|0,s[_6>>2]=f4,O4=o8+2|0,$4=(O4|0)<(t|0),$4;)o8=O4,de=M3,E7=E6;if(_4=a8+1|0,n8=(_4|0)==(A|0),n8)break;a8=_4,xt=F3}if(le=H9+1|0,I8=(le|0)==(n|0),I8)break;I3=v6,H9=le,_t=k3}}else if(O)for(u5=(t|0)>2,h3=(A|0)>0,He=C5,se=1,Ut=0;;){if(W9=He+t|0,ce=Ut+R9|0,u5)for(ge=W9+-1|0,m8=2,A8=ge,r7=ce;;){if(p4=A8+2|0,te=r7+2|0,h3)for(F4=A8+1|0,he=B+(F4<<2)|0,g6=B+(p4<<2)|0,$8=0,Kt=te;Ue=+s[he>>2],l4=Kt+-1|0,Be=f+(l4<<2)|0,B4=+s[Be>>2],c4=B4*Ue,P6=+s[g6>>2],De=f+(Kt<<2)|0,_e=+s[De>>2],t8=_e*P6,v4=t8+c4,u8=I+(l4<<2)|0,s[u8>>2]=v4,J3=+s[he>>2],w9=+s[De>>2],p9=w9*J3,M4=+s[g6>>2],ie=+s[Be>>2],ct=ie*M4,Le=p9-ct,gt=I+(Kt<<2)|0,s[gt>>2]=Le,W8=Kt+t|0,ht=$8+1|0,_8=(ht|0)==(A|0),!_8;)$8=ht,Kt=W8;if(ut=m8+2|0,T8=(ut|0)<(t|0),T8)m8=ut,A8=p4,r7=te;else break}if(N8=se+1|0,ue=(N8|0)==(n|0),ue)break;He=W9,se=N8,Ut=ce}if(G8=r5(R9,n)|0,U8=(U4|0)<(A|0),j8=(Q3|0)>1,!U8){if(!j8)break;for(X8=(A|0)>0,kt=(t|0)>2,Ye=1,l8=0,U7=G8;;){if(p0=l8+R9|0,B0=U7-R9|0,X8)for(Y4=0,n7=p0,s7=B0;;){if(kt)for(ye=2,zt=n7,y7=s7;E0=zt+2|0,b0=y7+2|0,L0=zt+1|0,Q0=I+(L0<<2)|0,M0=+s[Q0>>2],T0=y7+1|0,G0=I+(T0<<2)|0,P0=+s[G0>>2],y0=P0+M0,Y0=f+(L0<<2)|0,s[Y0>>2]=y0,F0=I+(E0<<2)|0,_0=+s[F0>>2],V0=I+(b0<<2)|0,J0=+s[V0>>2],O0=_0-J0,z0=f+(T0<<2)|0,s[z0>>2]=O0,U0=+s[F0>>2],q0=+s[V0>>2],r1=q0+U0,H0=f+(E0<<2)|0,s[H0>>2]=r1,e1=+s[G0>>2],D0=+s[Q0>>2],c1=e1-D0,$1=f+(b0<<2)|0,s[$1>>2]=c1,u1=ye+2|0,g1=(u1|0)<(t|0),g1;)ye=u1,zt=E0,y7=b0;if(l1=n7+t|0,s1=s7+t|0,a1=Y4+1|0,q4=(a1|0)==(A|0),q4)break;Y4=a1,n7=l1,s7=s1}if(n1=Ye+1|0,Re=(n1|0)==(Q3|0),Re)break e;Ye=n1,l8=p0,U7=B0}}if(j8)for(D=(t|0)>2,y=(A|0)>0,D9=1,Yt=0,G7=G8;;){if(_=Yt+R9|0,x=G7-R9|0,D)for(fe=2,m7=_,B7=x;;){if(L=m7+2|0,F=B7+2|0,y)for(M=F-t|0,T=L-t|0,L8=0,V7=T,hi=M;N=V7+t|0,G=hi+t|0,z=N+-1|0,Y=I+(z<<2)|0,t0=+s[Y>>2],J=G+-1|0,W=I+(J<<2)|0,e0=+s[W>>2],q=e0+t0,X=f+(z<<2)|0,s[X>>2]=q,U=I+(N<<2)|0,l0=+s[U>>2],K=I+(G<<2)|0,$0=+s[K>>2],s0=l0-$0,r0=f+(J<<2)|0,s[r0>>2]=s0,n0=+s[U>>2],V=+s[K>>2],h0=V+n0,o0=f+(N<<2)|0,s[o0>>2]=h0,g0=+s[W>>2],j=+s[Y>>2],u0=g0-j,I0=f+(G<<2)|0,s[I0>>2]=u0,w0=L8+1|0,D8=(w0|0)==(A|0),!D8;)L8=w0,V7=N,hi=G;if(C0=fe+2|0,v0=(C0|0)<(t|0),v0)fe=C0,m7=L,B7=F;else break}if(d0=D9+1|0,r8=(d0|0)==(Q3|0),r8)break;D9=d0,Yt=_,G7=x}}while(!1);if(w=(a|0)>0,w)for(Q4=0;o1=m+(Q4<<2)|0,Z0=e[o1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,m1=Q4+1|0,J8=(m1|0)==(a|0),!J8;)Q4=m1;if(d1=r5(a,n)|0,E1=(Q3|0)>1,E1){for(p1=(A|0)>0,V8=1,R8=0,P7=d1;;){if(B1=R8+R9|0,Q1=P7-R9|0,p1)for(L1=Q1-t|0,x1=B1-t|0,at=0,$i=x1,ci=L1;w1=$i+t|0,R1=ci+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],v1=I+(R1<<2)|0,U1=+s[v1>>2],Z1=U1+G1,N1=f+(w1<<2)|0,s[N1>>2]=Z1,_1=+s[v1>>2],V1=+s[F1>>2],O1=_1-V1,H1=f+(R1<<2)|0,s[H1>>2]=O1,Y1=at+1|0,re=(Y1|0)==(A|0),!re;)at=Y1,$i=w1,ci=R1;if(j1=V8+1|0,rt=(j1|0)==(Q3|0),rt)break;V8=j1,R8=B1,P7=Q1}if(n2=n+-1|0,W1=r5(n2,a)|0,E1){for(P1=(Q3|0)>2,P8=0,q8=1,Ve=1,Lt=0,d7=d1;;){if(c2=Lt+a|0,z1=d7-a|0,u2=q8*f8,o2=P8*Gt,K1=u2-o2,h2=P8*f8,$2=q8*Gt,i2=$2+h2,w)for(C8=0,q7=c2,A7=z1,z7=W1,Wt=a;l2=E+(C8<<2)|0,r2=+s[l2>>2],a2=Wt+1|0,X1=E+(Wt<<2)|0,s2=+s[X1>>2],f2=s2*K1,y2=f2+r2,k2=q7+1|0,w2=m+(q7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*i2,d2=A7+1|0,K2=m+(A7<<2)|0,s[K2>>2]=N2,G2=C8+1|0,dt=(G2|0)==(a|0),!dt;)C8=G2,q7=k2,A7=d2,z7=C2,Wt=a2;if(P1)for(O8=i2,k8=K1,It=2,H7=a,Pt=W1;;){if(M2=H7+a|0,P2=Pt-a|0,z2=k8*K1,o5=O8*i2,O2=z2-o5,T1=O8*K1,X2=k8*i2,x5=X2+T1,w)for(nt=0,w7=c2,S7=z1,b7=M2,Rt=P2;e5=b7+1|0,b5=E+(b7<<2)|0,f5=+s[b5>>2],k5=f5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,v2=+s[l5>>2],m5=v2+k5,s[l5>>2]=m5,n5=Rt+1|0,L2=E+(Rt<<2)|0,_2=+s[L2>>2],p2=_2*x5,R5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+p2,s[d5>>2]=G5,_5=nt+1|0,St=(_5|0)==(a|0),!St;)nt=_5,w7=P5,S7=R5,b7=e5,Rt=n5;if(q2=It+1|0,it=(q2|0)==(Q3|0),it)break;O8=x5,k8=O2,It=q2,H7=M2,Pt=P2}if(I5=Ve+1|0,bt=(I5|0)==(Q3|0),bt)break;P8=i2,q8=K1,Ve=I5,Lt=c2,d7=z1}if(E1)for(st=1,Z8=0;;){if(A5=Z8+a|0,w)for(H4=0,Jt=A5;c5=Jt+1|0,p5=E+(Jt<<2)|0,S5=+s[p5>>2],g5=m+(H4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=H4+1|0,ft=(g2|0)==(a|0),!ft;)H4=g2,Jt=c5;if(B5=st+1|0,Qe=(B5|0)==(Q3|0),Qe)break;st=B5,Z8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,qe=0;;){if(i5)for(Je=0,Ie=qe,Vt=qe;J5=I+(Ie<<2)|0,X5=e[J5>>2]|0,n3=g+(Vt<<2)|0,e[n3>>2]=X5,m3=Ie+t|0,F5=Vt+C9|0,V5=Je+1|0,xe=(V5|0)==(A|0),!xe;)Je=V5,Ie=m3,Vt=F5;if(v3=qe+1|0,i8=(v3|0)==(t|0),i8)break;qe=v3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,x8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;L5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,x2=Y7+1|0,Q5=g+(Y7<<2)|0,e[Q5>>2]=$5,q5=Oe+1|0,b8=(q5|0)==(t|0),!b8;)Oe=q5,O7=L5,Y7=x2;if(j5=Me+t|0,E5=I7+C9|0,f3=x8+1|0,v9=(f3|0)==(A|0),v9)break;x8=f3,Me=j5,I7=E5}if(u3=t<<1,B3=r5(R9,n)|0,E1)for(z3=(A|0)>0,ot=1,Dt=0,C7=0,J7=B3;;){if(z5=Dt+u3|0,w3=C7+R9|0,W5=J7-R9|0,z3)for(B9=0,Zt=z5,v7=w3,W7=W5;i6=I+(v7<<2)|0,x3=e[i6>>2]|0,U3=Zt+-1|0,a3=g+(U3<<2)|0,e[a3>>2]=x3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=g+(Zt<<2)|0,e[C3>>2]=c3,U5=Zt+C9|0,O5=v7+t|0,v5=W7+t|0,P3=B9+1|0,d8=(P3|0)==(A|0),!d8;)B9=P3,Zt=U5,v7=O5,W7=v5;if(M5=ot+1|0,Pe=(M5|0)==(Q3|0),Pe)break;ot=M5,Dt=z5,C7=w3,J7=W5}if(!g4){if(o6=(U4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(p=(A|0)<1,S=(t|0)<3,S8=p|S,K8=1,lt=e3,p7=0,o7=0,gi=B3;;){if(u6=lt+u3|0,y3=p7+u3|0,r6=o7+R9|0,j3=gi-R9|0,!S8)for($t=0,Z7=u6,a7=y3,ve=r6,$7=j3;;){for(X9=2;l6=t-X9|0,d3=X9+ve|0,k6=d3+-1|0,S6=I+(k6<<2)|0,p6=+s[S6>>2],X3=X9+$7|0,c6=X3+-1|0,B6=I+(c6<<2)|0,L6=+s[B6>>2],Y6=L6+p6,C6=X9+a7|0,b3=C6+-1|0,t6=g+(b3<<2)|0,s[t6>>2]=Y6,f6=+s[S6>>2],H3=+s[B6>>2],D3=f6-H3,Y3=l6+Z7|0,Z3=Y3+-1|0,b6=g+(Z3<<2)|0,s[b6>>2]=D3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(X3<<2)|0,a6=+s[O6>>2],d6=a6+t3,_3=g+(C6<<2)|0,s[_3>>2]=d6,N6=+s[O6>>2],n6=+s[A6>>2],Q6=N6-n6,x6=g+(Y3<<2)|0,s[x6>>2]=Q6,K6=X9+2|0,I6=(K6|0)<(t|0),I6;)X9=K6;if(O3=Z7+C9|0,K5=a7+C9|0,S3=ve+t|0,g3=$7+t|0,q3=$t+1|0,et=(q3|0)==(A|0),et)break;$t=q3,Z7=O3,a7=K5,ve=S3,$7=g3}if(J6=K8+1|0,tt=(J6|0)==(Q3|0),tt)break;K8=J6,lt=u6,p7=y3,o7=r6,gi=j3}return}if(E1)for(A3=(t|0)>2,R3=(A|0)>0,ne=1,oe=e3,li=0,Q7=0,K7=B3;;){if(j6=oe+u3|0,G6=li+u3|0,e9=Q7+R9|0,s9=K7-R9|0,A3&&(R6=j6+t|0,R3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,x4=Fe+G6|0,T4=R6-Fe|0,z8=0,k7=T4,Ot=x4,D7=D4,n9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],X6=A9+F6,u9=Ot+-1|0,f9=g+(u9<<2)|0,s[f9>>2]=X6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=k7+-1|0,T6=g+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=g+(Ot<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,q6=g+(k7<<2)|0,s[q6>>2]=b9,r9=k7+C9|0,m4=Ot+C9|0,S4=D7+t|0,A4=n9+t|0,y9=z8+1|0,H8=(y9|0)==(A|0),!H8;)z8=y9,k7=r9,Ot=m4,D7=S4,n9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=ne+1|0,Y8=(C4|0)==(Q3|0),Y8)break;ne=C4,oe=j6,li=G6,Q7=e9,K7=s9}}}function gb(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,ee=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,f8=0,H8=0,Y8=0,et=0,tt=0,d8=0,Pe=0,xe=0,i8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,r8=0,q4=0,Re=0,n8=0,I8=0,_8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,nt=0,H4=0,I3=0,He=0,p8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,a8=0,$8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,l8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,B8=0,mt=0,Ft=0,jr=0,Cr=0,io=0,qn=0,ro=0,Hn=0,no=0,so=0,Yn=0,oo=0,Xr=0,Ao=0,ao=0,$o=0,Jn=0,lo=0,Vn=0,Kn=0,co=0,en=0,zn=0,tn=0,Zn=0,Wn=0,go=0,ho=0,uo=0,rn=0,jn=0,fo=0,pr=0,nn=0,Io=0,Eo=0,sn=0,ui=0,Xn=0,mo=0,Co=0,es=0,ts=0,is=0,po=0,fi=0,on=0,Bo=0,rs=0,Qo=0,yo=0,wo=0,ns=0,vo=0,ko=0,So=0,bo=0,ss=0,Do=0,_o=0,An=0,Br=0,an=0,Lo=0,er=0,xo=0,os=0,$n=0,As=0,ln=0,Ro=0,as=0,$s=0,Fo=0,ls=0,cs=0,Mo=0,Qr=0,gs=0,di=0,cn=0,yr=0,tr=0,wr=0,Ji=0,vr=0,hs=0,Vi=0,vi=0,ki=0,j7=0,Si=0,kr=0,ir=0,rr=0,Sr=0,Ii=0,To=0,l7=0,rl=0,gn=0,hn=0,Uh=0,nl=0,No=0,Ph=0,ta=0,sl=0,Oh=0,qh=0,Hh=0,ia=0,ol=0,Al=0,ra=0,un=0,al=0,Yh=0,Go=0,nr=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,eu=0,tu=0,$l=0,br=0,iu=0,ru=0,ll=0,nu=0,na=0,Uo=0,sa=0,su=0,ou=0,oa=0,cl=0,gl=0,hl=0,Aa=0,ul=0,Po=0,Au=0,au=0,fl=0,$u=0,lu=0,dl=0,cu=0,gu=0,Il=0,El=0,ml=0,Cl=0,pl=0,fn=0,hu=0,Bl=0,uu=0,Ql=0,yl=0,fu=0,du=0,Iu=0,aa=0,wl=0,vl=0,us=0,kl=0,$a=0,Eu=0,Sl=0,mu=0,bl=0,Cu=0,pu=0,Dl=0,_l=0,Bu=0,Oo=0,Qu=0,la=0,Ll=0,xl=0,yu=0,wu=0,vu=0,ku=0,Su=0,bu=0,qo=0,Rl=0,Fl=0,Ml=0,Ho=0,Du=0,Tl=0,_u=0,Nl=0,Lu=0,xu=0,Gl=0,ca=0,Ru=0,Fu=0,Yo=0,Mu=0,Jo=0,Tu=0,ga=0,Nu=0,Gu=0,Uu=0,Ul=0,Pu=0,Ou=0,qu=0,Hu=0,Pl=0,Ol=0,sr=0,ql=0,Vo=0,ha=0,ua=0,dn=0,Hl=0,In=0,Yu=0,Yl=0,Ju=0,Vu=0,Ku=0,zu=0,Ko=0,fa=0,Dr=0,Zu=0,Wu=0,Jl=0,da=0,Vl=0,Kl=0,ju=0,zl=0,Xu=0,Ia=0,ef=0,tf=0,P9=0,rf=0,Zl=0,nf=0,sf=0,Ea=0,of=0,ma=0,Wl=0,Af=0,af=0,jl=0,Xl=0,$f=0,Ca=0,pa=0,ec=0,tc=0,lf=0,ic=0,Ba=0,cf=0,rc=0,gf=0,hf=0,uf=0,ff=0,nc=0,sc=0,Qa=0,zo=0,oc=0,df=0,Ac=0,ac=0,If=0,Ef=0,mf=0,$c=0,Cf=0,pf=0,Bf=0,Qf=0,yf=0,wf=0,lc=0,vf=0,cc=0,kf=0,En=0,Sf=0,gc=0,bf=0,fs=0,hc=0,ya=0,Df=0,Zo=0,wa=0,_f=0,va=0,uc=0,Lf=0,xf=0,Rf=0,Ff=0,Mf=0,fc=0,Tf=0,Nf=0,Gf=0,Wo=0,ds=0,ka=0,Uf=0,Sa=0,Pf=0,Of=0,qf=0,dc=0,Hf=0,Yf=0,Jf=0,Vf=0,Kf=0,jo=0,zf=0,Zf=0,Ic=0,Wf=0,jf=0,Xf=0,ed=0,Ei=0,Ec=0,mi=0,mc=0,ba=0,td=0,X7=0,Is=0,id=0,rd=0,nd=0,sd=0,od=0,Cc=0,Ad=0,ad=0,pc=0,$d=0,ld=0,Es=0,Da=0,cd=0,Bc=0,gd=0,hd=0,Xo=0,ud=0,fd=0,Qc=0,yc=0,dd=0,Id=0,mn=0,Ed=0,md=0,Cn=0,Cd=0,wc=0,pd=0,Bd=0,ms=0,vc=0,Qd=0,kc=0,yd=0,or=0,_a=0,wd=0,Sc=0,bc=0,vd=0,kd=0,Dc=0,Sd=0,bd=0,Dd=0,_c=0,_d=0,Cs=0,Ld=0,pn=0,xd=0,Rd=0,La=0,Fd=0,xa=0,Ra=0,Md=0,Lc=0,xc=0,Td=0,Rc=0,Fc=0,Mc=0,Nd=0,Tc=0,Nc=0,Gd=0,Ud=0,Gc=0,Uc=0,Pd=0,Pc=0,Oc=0,Od=0,qd=0,qc=0,Fa=0,Hc=0,Yc=0,Jc=0,Vc=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,zd=0,Zd=0,Wd=0,Kc=0,Ma=0,jd=0,Xd=0,eI=0,zc=0,Zc=0,tI=0,Wc=0,Ta=0,eA=0,jc=0,iI=0,rI=0,nI=0,sI=0,Xc=0,tA=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,gI=0,hI=0,eg=0,uI=0,fI=0,dI=0,II=0,iA=0,tg=0,EI=0,mI=0,Bn=0,ig=0,rg=0,Na=0,CI=0,ng=0,pI=0,sg=0,og=0,BI=0,QI=0,yI=0,wI=0,vI=0,rA=0,Ga=0,kI=0,SI=0,bI=0,DI=0,Ag=0,_I=0,ag=0,LI=0,xI=0,$g=0,_r=0,lg=0,cg=0,RI=0,gg=0,nA=0,FI=0,MI=0,TI=0,sA=0,hg=0,NI=0,GI=0,ug=0,UI=0,PI=0,Ua=0,oA=0,OI=0,qI=0,HI=0,fg=0,dg=0,Ig=0,YI=0,JI=0,ps=0,VI=0,Eg=0,KI=0,Pa=0,mg=0,zI=0,ZI=0,WI=0,jI=0,Cg=0,XI=0,eE=0,pg=0,AA=0,tE=0,iE=0,rE=0,Bs=0,Bg=0,Qg=0,nE=0,yg=0,wg=0,bi=0,vg=0,Ar=0,sE=0,oE=0,AE=0,aE=0,Oa=0,aA=0,kg=0,Sg=0,$E=0,$A=0,Qs=0,lE=0,lA=0,qa=0,cE=0,Ha=0,gE=0,hE=0,bg=0,cA=0,Dg=0,uE=0,fE=0,dE=0,IE=0,_g=0,EE=0,jt=0,y4=0,ei=0,mE=0,Lg=0,xg=0,Ya=0,CE=0,Lr=0,ys=0,pE=0,BE=0,Rg=0,Ja=0,QE=0,Fg=0,Mg=0,Tg=0,Va=0,Ka=0,Ng=0,ws=0,za=0,Gg=0,yE=0,Qn=0,wE=0,Ug=0,gA=0,vE=0,Pg=0,Di=0,kE=0,SE=0,bE=0,DE=0,_E=0,LE=0,_i=0,xE=0,RE=0,FE=0,Og=0,Ci=0,hA=0,Za=0,qg=0,Hg=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Vg=0,Kg=0,GE=0,UE=0,zg=0,PE=0,vs=0,uA=0,fA=0,OE=0,Wa=0,qE=0,HE=0,Zg=0,ks=0,YE=0,JE=0,ja=0,Xa=0,dA=0,e$=0,t$=0,ar=0,xr=0,Rr=0,i$=0,r$=0,Ss=0,$r=0,yn=0,VE=0,lr=0,wn=0,KE=0,_7=0,L7=0,x7=0,IA=0,EA=0,Wg=0,jg=0,mA=0,n$=0,R7=0,CA=0,Fr=0,s$=0,zE=0,o$=0,ZE=0,A$=0,Xg=0,pA=0,WE=0,jE=0,BA=0,XE=0,QA=0,vn=0,Ke=0,k4=0,eh=0,em=0,a$=0,th=0,tm=0,im=0,yA=0,rm=0,nm=0,sm=0,om=0,ih=0,Am=0,am=0,$m=0,ti=0,wA=0,kn=0,$$=0,bs=0,Ds=0,Xt=0,_s=0,rh=0,nh=0,vA=0,Ls=0,xs=0,Rs=0,lm=0,Fs=0,cr=0,sh=0,Mr=0,ii=0,l$=0,c$=0,Ki=0,g$=0,h$=0,u$=0,Tr=0,$6=0,kA=0,Nr=0,oh=0,ke=0,f$=0,Q8=0,Ms=0,Sn=0,bn=0,F9=0,Dn=0,Gr=0,J4=0,d$=0,kp=0,cm=0,$C=0,lC=0,Sp=0,gm=0,GQ=0,UQ=0,PQ=0,OQ=0,qQ=0,HQ=0,YQ=0,JQ=0,VQ=0,KQ=0,zQ=0,ZQ=0,bp=0,Dp=0,WQ=0,jQ=0,XQ=0,Ah=0,cC=0,pi=0,ah=0,$h=0,lh=0,ch=0,hm=0,um=0,fm=0,dm=0,Im=0,Em=0,mm=0,Cm=0,pm=0,Bm=0,gC=0,SA=0,gr=0,I$=0,gh=0,E$=0,_p=0,bA=0,Qm=0,m$=0,hC=0,uC=0,ym=0,fC=0,dC=0,IC=0,EC=0,mC=0,CC=0,pC=0,Lp=0,xp=0,Rp=0,Fp=0,Mp=0,DA=0,_A=0,LA=0,xA=0,ey=0,hr=0,t4=0,Pb=0,RA=0,BC=0;if(Pb=C,g0=t+28|0,j=e[g0>>2]|0,tt=(j|0)==0,tt||(A7=j+3456|0,hs=e[A7>>2]|0,Rl=(hs|0)==0,n=Rl&1,fs=j+3496|0,Rc=+A1[fs>>3],fg=Rc>-80,fg?A1[fs>>3]=-80:(NE=Rc<-200,NE&&(A1[fs>>3]=-200)),c0=j+3512|0,Z2=+A1[c0>>3],s3=Z2>0,s3?A1[c0>>3]=0:(C4=Z2<-99999,C4&&(A1[c0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,F4=(_6|0)==0,F4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,Le=j+3400|0,X8=+A1[Le>>3],d8=_6+24|0,bt=e[d8>>2]|0,ue=_6+28|0,Fe=e[ue>>2]|0,ne=~~X8,z8=bt+(ne<<2)|0,Gt=e[z8>>2]|0,Z8=Fe+(ne<<2)|0,I7=e[Z8>>2]|0,e[j>>2]=Gt,B7=j+4|0,e[B7>>2]=I7,Pt=(Gt|0)==(I7|0),Wt=_6+144|0,Et=e[Wt>>2]|0,so=(Et|0)>0,so){for(co=_6+136|0,fo=_6+140|0,ts=_6+148|0,er=X8,Dr=j,gC=0;;){if(vo=~~er,cs=e[co>>2]|0,Vi=e[fo>>2]|0,l7=e[ts>>2]|0,qh=l7+(gC<<2)|0,Jh=e[qh>>2]|0,br=n4(1,1120)|0,cl=Jh+(vo<<2)|0,dl=e[cl>>2]|0,uu=Vi+(dl*1120|0)|0,s4(br|0,uu|0,1120)|0,$a=e[br>>2]|0,Qu=($a|0)>0,Qu){for(Fl=br+4|0,cC=0,pC=-1;;)if(Ba=Fl+(cC<<2)|0,oc=e[Ba>>2]|0,Qf=(oc|0)>(pC|0),t0=Qf?oc:pC,hc=cC+1|0,zQ=(hc|0)==($a|0),zQ){J=t0;break}else cC=hc,pC=t0;if(Ru=(J|0)<0,!Ru){for(Pu=br+256|0,dn=Dr+24|0,ef=br+192|0,Af=br+320|0,E$=0,IC=-1;;){if(bc=Pu+(E$<<2)|0,pn=e[bc>>2]|0,Fc=(pn|0)>(IC|0),z=Fc?pn:IC,Oc=e[dn>>2]|0,Jd=Oc+pn|0,e[bc>>2]=Jd,zc=ef+(E$<<2)|0,Xc=e[zc>>2]|0,uI=(Xc|0)==31,uI)EC=z;else for(y9=Xc,fC=0,CC=z;;)if(Na=(Af+(E$<<5)|0)+(fC<<2)|0,rA=e[Na>>2]|0,$g=(rA|0)>(CC|0),Y=$g?rA:CC,hg=(rA|0)>-1,hg?(dg=e[dn>>2]|0,ZI=dg+rA|0,e[Na>>2]=ZI,e0=e[zc>>2]|0,qa=e0):qa=y9,Bs=fC+1|0,AE=1<>2]|0,td=e[Zf>>2]|0,pc=e[dn>>2]|0,fd=pc+1|0,e[dn>>2]=fd,pd=(Dr+1824|0)+(pc<<2)|0,e[pd>>2]=td,YQ=(mC|0)==0,!YQ))for(_p=0;Ka=_p+1|0,Z=e[cl>>2]|0,Pg=cs+(Z<<2)|0,FE=e[Pg>>2]|0,Vg=FE+(Ka<<2)|0,qE=e[Vg>>2]|0,ar=e[dn>>2]|0,KE=ar+1|0,e[dn>>2]=KE,CA=(Dr+1824|0)+(ar<<2)|0,e[CA>>2]=qE,HQ=(Ka|0)==(mC|0),!HQ;)_p=Ka}}if(BA=Dr+16|0,im=e[BA>>2]|0,wA=(Dr+800|0)+(im<<2)|0,e[wA>>2]=1,xs=e[BA>>2]|0,g$=(Dr+1056|0)+(xs<<2)|0,e[g$>>2]=br,u0=e[BA>>2]|0,L0=u0+1|0,e[BA>>2]=L0,V0=gC+1|0,c1=e[Wt>>2]|0,h1=(V0|0)<(c1|0),!h1)break;W=+A1[Le>>3],n0=e[g0>>2]|0,er=W,Dr=n0,gC=V0}h0=e[g0>>2]|0,z5=h0}else z5=j;R1=j+3520|0,H1=+A1[R1>>3],A2=_6+124|0,t2=e[A2>>2]|0,H2=_6+128|0,f5=e[H2>>2]|0,R5=~~H1,S5=+(R5|0),i5=H1-S5,J5=z5+2868|0,U5=f5+(R5<<3)|0,k3=+A1[U5>>3],v6=~~k3,e6=t2+(v6*492|0)|0,s4(J5|0,e6|0,492)|0,a6=+A1[U5>>3],j6=1-i5,M6=a6*j6,T6=R5+1|0,q6=f5+(T6<<3)|0,b4=+A1[q6>>3],D4=b4*i5,x4=D4+M6,T4=~~x4,X4=+(T4|0),N4=x4-X4,U9=N4==0,G4=(T4|0)>0,Lp=G4&U9,I=Lp?1:N4,a4=Lp<<31>>31,F=a4+T4|0,R4=1-I,u4=F+1|0,Ce=(t2+(F*492|0)|0)+4|0,q9=+s[Ce>>2],m9=q9,pe=R4*m9,Xe=(t2+(u4*492|0)|0)+4|0,U4=+s[Xe>>2],Ge=U4,P4=I*Ge,ee=pe+P4,be=ee,e8=z5+2872|0,s[e8>>2]=be,Z9=(t2+(F*492|0)|0)+32|0,$e=+s[Z9>>2],f4=$e,O4=R4*f4,R9=(t2+(u4*492|0)|0)+32|0,$4=+s[R9>>2],_4=$4,le=I*_4,W9=O4+le,ce=W9,ge=z5+2900|0,s[ge>>2]=ce,p4=(t2+(F*492|0)|0)+8|0,te=+s[p4>>2],he=te,C9=R4*he,g6=(t2+(u4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,Be=I*l4,B4=C9+Be,c4=B4,P6=z5+2876|0,s[P6>>2]=c4,De=(t2+(F*492|0)|0)+36|0,t8=+s[De>>2],g4=t8,v4=R4*g4,u8=(t2+(u4*492|0)|0)+36|0,J3=+s[u8>>2],w9=J3,p9=w9*I,M4=p9+v4,ie=M4,ct=z5+2904|0,s[ct>>2]=ie,gt=(t2+(F*492|0)|0)+12|0,vt=+s[gt>>2],W8=vt,ht=W8*R4,ut=(t2+(u4*492|0)|0)+12|0,T8=+s[ut>>2],N8=T8,G8=N8*I,U8=G8+ht,j8=U8,kt=z5+2880|0,s[kt>>2]=j8,P8=(t2+(F*492|0)|0)+40|0,O8=+s[P8>>2],q8=O8,k8=q8*R4,S8=(t2+(u4*492|0)|0)+40|0,f8=+s[S8>>2],H8=f8,Y8=H8*I,et=Y8+k8,Pe=et,xe=z5+2908|0,s[xe>>2]=Pe,i8=(t2+(F*492|0)|0)+16|0,b8=+s[i8>>2],v9=b8,ft=v9*R4,Qe=(t2+(u4*492|0)|0)+16|0,dt=+s[Qe>>2],St=dt,it=St*I,re=it+ft,rt=re,J8=z5+2884|0,s[J8>>2]=rt,D8=(t2+(F*492|0)|0)+44|0,r8=+s[D8>>2],q4=r8,Re=q4*R4,n8=(t2+(u4*492|0)|0)+44|0,I8=+s[n8>>2],_8=I8,j9=_8*I,s8=j9+Re,E8=s8,o8=z5+2912|0,s[o8>>2]=E8,m8=z5+3512|0,fe=+A1[m8>>3],ye=fe,Oe=z5+2936|0,s[Oe>>2]=ye,qe=_6+132|0,X9=e[qe>>2]|0,de=j+3472|0,A8=+A1[de>>3],we=A8,Q4=~~we,C8=+(Q4|0),nt=we-C8,H4=nt,I3=e[g0>>2]|0,He=(X9|0)==0;e:do if(He)p8=I3+4|0,H9=e[I3>>2]|0,se=I3+3240|0,e[se>>2]=H9,D9=e[p8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,V8=I3+3244|0,e[V8>>2]=H9,It=I3+3304|0,e[It>>2]=D9,st=I3+3248|0,e[st>>2]=H9,ot=I3+3308|0,e[ot>>2]=D9,K8=I3+3252|0,e[K8>>2]=H9,At=I3+3312|0,e[At>>2]=D9,a8=I3+3256|0,e[a8>>2]=H9,$8=I3+3316|0,e[$8>>2]=D9,L8=I3+3260|0,e[L8>>2]=H9,Y4=I3+3320|0,e[Y4>>2]=D9,at=I3+3264|0,e[at>>2]=H9,x8=I3+3324|0,e[x8>>2]=D9,Je=I3+3268|0,e[Je>>2]=H9,B9=I3+3328|0,e[B9>>2]=D9,$t=I3+3272|0,e[$t>>2]=H9,Ve=I3+3332|0,e[Ve>>2]=D9,Ht=I3+3276|0,e[Ht>>2]=H9,Dt=I3+3336|0,e[Dt>>2]=D9,lt=I3+3280|0,e[lt>>2]=H9,_t=I3+3340|0,e[_t>>2]=D9,oe=I3+3284|0,e[oe>>2]=H9,Ut=I3+3344|0,e[Ut>>2]=D9,Yt=I3+3288|0,e[Yt>>2]=H9,l8=I3+3348|0,e[l8>>2]=D9,R8=I3+3292|0,e[R8>>2]=H9,Lt=I3+3352|0,e[Lt>>2]=D9,Me=I3+3296|0,e[Me>>2]=H9,Ie=I3+3356|0,e[Ie>>2]=D9;else{e4=I3+3120|0,xt=X9+(Q4*240|0)|0,hr=e4,RA=xt,BC=hr+60|0;do e[hr>>2]=e[RA>>2]|0,hr=hr+4|0,RA=RA+4|0;while((hr|0)<(BC|0));r7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,hr=r7,RA=G7,BC=hr+60|0;do e[hr>>2]=e[RA>>2]|0,hr=hr+4|0,RA=RA+4|0;while((hr|0)<(BC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Jt=1-H4,Vt=Q4+1|0,E7=t+8|0,Kt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),gr=0;;){if(n7=((X9+(Q4*240|0)|0)+120|0)+(gr<<2)|0,$i=+s[n7>>2],O7=$i,C7=O7*Jt,p7=((X9+(Vt*240|0)|0)+120|0)+(gr<<2)|0,li=+s[p7>>2],s7=li,ci=s7*H4,q7=ci+C7,H7=q7,Y7=H7,J7=Y7*1e3,o7=J7/m7,Q7=e[I3>>2]|0,V7=+(Q7|0),zt=V7*o7,Zt=~~zt,gi=(I3+3e3|0)+(gr<<2)|0,e[gi>>2]=Zt,K7=e[Kt>>2]|0,hi=+(K7|0),y7=hi*o7,z7=~~y7,w7=(I3+3060|0)+(gr<<2)|0,e[w7>>2]=z7,v7=~~H7,Z7=(I3+2940|0)+(gr<<2)|0,e[Z7>>2]=v7,k7=((X9+(Q4*240|0)|0)+180|0)+(gr<<2)|0,S7=+s[k7>>2],W7=S7,a7=W7*Jt,Ot=((X9+(Vt*240|0)|0)+180|0)+(gr<<2)|0,b7=+s[Ot>>2],ve=b7,D7=ve*H4,Rt=D7+a7,$7=Rt,n9=$7,B8=n9*1e3,mt=B8/m7,Ft=e[I3>>2]|0,jr=+(Ft|0),Cr=jr*mt,io=~~Cr,qn=(I3+3240|0)+(gr<<2)|0,e[qn>>2]=io,ro=e[Kt>>2]|0,Hn=+(ro|0),no=Hn*mt,Yn=~~no,oo=(I3+3300|0)+(gr<<2)|0,e[oo>>2]=Yn,Xr=gr+1|0,VQ=(Xr|0)==15,VQ)break e;gr=Xr}for(Ao=(X9+(Q4*240|0)|0)+148|0,ao=+s[Ao>>2],$o=ao,Jn=1-H4,lo=$o*Jn,Vn=Q4+1|0,Kn=(X9+(Vn*240|0)|0)+148|0,en=+s[Kn>>2],zn=en,tn=zn*H4,Zn=tn+lo,Wn=Zn,go=Wn,ho=go*1e3,uo=t+8|0,rn=I3+4|0,jn=~~Wn,l0=e[uo>>2]|0,pr=+(l0|0),nn=ho/pr,gh=0;Io=e[I3>>2]|0,Eo=+(Io|0),sn=Eo*nn,ui=~~sn,Xn=(I3+3e3|0)+(gh<<2)|0,e[Xn>>2]=ui,mo=e[rn>>2]|0,Co=+(mo|0),es=Co*nn,is=~~es,po=(I3+3060|0)+(gh<<2)|0,e[po>>2]=is,fi=(I3+2940|0)+(gh<<2)|0,e[fi>>2]=jn,on=gh+1|0,ZQ=(on|0)==15,!ZQ;)gh=on;for(Bo=(X9+(Q4*240|0)|0)+208|0,rs=+s[Bo>>2],Qo=rs,yo=Qo*Jn,wo=(X9+(Vn*240|0)|0)+208|0,ns=+s[wo>>2],ko=ns,So=ko*H4,bo=So+yo,ss=bo,Do=ss,_o=Do*1e3,An=_o/pr,Qm=0;Br=e[I3>>2]|0,an=+(Br|0),Lo=an*An,xo=~~Lo,os=(I3+3240|0)+(Qm<<2)|0,e[os>>2]=xo,$n=e[rn>>2]|0,As=+($n|0),ln=As*An,Ro=~~ln,as=(I3+3300|0)+(Qm<<2)|0,e[as>>2]=Ro,$s=Qm+1|0,JQ=($s|0)==15,!JQ;)Qm=$s}while(!1);for(Fo=+A1[Le>>3],ls=_6+92|0,Mo=e[ls>>2]|0,Qr=_6+100|0,gs=e[Qr>>2]|0,di=_6+108|0,cn=e[di>>2]|0,yr=e[g0>>2]|0,tr=yr+2852|0,wr=e[tr>>2]|0,Ji=~~Fo,vr=yr+28|0,vi=e[vr>>2]|0,ki=(vi|0)>0,ki||(e[vr>>2]=1),j7=(wr|0)==0,j7?(Si=n4(1,520)|0,e[tr>>2]=Si,DA=Si):DA=wr,s4(DA|0,25784,520)|0,e[DA>>2]=0,kr=yr+3460|0,ir=e[kr>>2]|0,rr=(ir|0)==0,rr||(Sr=DA+500|0,e[Sr>>2]=1,Ii=Mo+(Ji<<2)|0,To=e[Ii>>2]|0,rl=DA+504|0,e[rl>>2]=To,gn=gs+(Ji<<2)|0,hn=e[gn>>2]|0,Uh=DA+508|0,e[Uh>>2]=hn,nl=cn+(Ji<<3)|0,No=+A1[nl>>3],Ph=DA+512|0,A1[Ph>>3]=No),ta=+A1[Le>>3],sl=e[ls>>2]|0,Oh=e[Qr>>2]|0,Hh=e[di>>2]|0,ia=e[g0>>2]|0,ol=ia+2856|0,Al=e[ol>>2]|0,ra=~~ta,un=ia+28|0,al=e[un>>2]|0,Yh=(al|0)>1,Yh||(e[un>>2]=2),Go=(Al|0)==0,Go?(nr=n4(1,520)|0,e[ol>>2]=nr,_A=nr):_A=Al,s4(_A|0,25784,520)|0,e[_A>>2]=0,Vh=ia+3460|0,Kh=e[Vh>>2]|0,zh=(Kh|0)==0,zh||(Zh=_A+500|0,e[Zh>>2]=1,Wh=sl+(ra<<2)|0,jh=e[Wh>>2]|0,Xh=_A+504|0,e[Xh>>2]=jh,eu=Oh+(ra<<2)|0,tu=e[eu>>2]|0,$l=_A+508|0,e[$l>>2]=tu,iu=Hh+(ra<<3)|0,ru=+A1[iu>>3],ll=_A+512|0,A1[ll>>3]=ru),Pt||(nu=+A1[Le>>3],na=_6+96|0,Uo=e[na>>2]|0,sa=_6+104|0,su=e[sa>>2]|0,ou=e[di>>2]|0,oa=e[g0>>2]|0,gl=oa+2860|0,hl=e[gl>>2]|0,Aa=~~nu,ul=oa+28|0,Po=e[ul>>2]|0,Au=(Po|0)>2,Au||(e[ul>>2]=3),au=(hl|0)==0,au?(fl=n4(1,520)|0,e[gl>>2]=fl,LA=fl):LA=hl,s4(LA|0,25784,520)|0,e[LA>>2]=1,$u=oa+3460|0,lu=e[$u>>2]|0,cu=(lu|0)==0,cu||(gu=LA+500|0,e[gu>>2]=1,Il=Uo+(Aa<<2)|0,El=e[Il>>2]|0,ml=LA+504|0,e[ml>>2]=El,Cl=su+(Aa<<2)|0,pl=e[Cl>>2]|0,fn=LA+508|0,e[fn>>2]=pl,hu=ou+(Aa<<3)|0,Bl=+A1[hu>>3],Ql=LA+512|0,A1[Ql>>3]=Bl),yl=+A1[Le>>3],fu=e[na>>2]|0,du=e[sa>>2]|0,Iu=e[di>>2]|0,aa=e[g0>>2]|0,wl=aa+2864|0,vl=e[wl>>2]|0,us=~~yl,kl=aa+28|0,Eu=e[kl>>2]|0,Sl=(Eu|0)>3,Sl||(e[kl>>2]=4),mu=(vl|0)==0,mu?(bl=n4(1,520)|0,e[wl>>2]=bl,xA=bl):xA=vl,s4(xA|0,25784,520)|0,e[xA>>2]=1,Cu=aa+3460|0,pu=e[Cu>>2]|0,Dl=(pu|0)==0,Dl||(_l=xA+500|0,e[_l>>2]=1,Bu=fu+(us<<2)|0,Oo=e[Bu>>2]|0,la=xA+504|0,e[la>>2]=Oo,Ll=du+(us<<2)|0,xl=e[Ll>>2]|0,yu=xA+508|0,e[yu>>2]=xl,wu=Iu+(us<<3)|0,vu=+A1[wu>>3],ku=xA+512|0,A1[ku>>3]=vu)),Su=(j+3528|0)+(n<<5)|0,bu=+A1[Su>>3],qo=_6+32|0,Ml=e[qo>>2]|0,Ho=_6+36|0,Du=e[Ho>>2]|0,Tl=_6+44|0,_u=e[Tl>>2]|0,nC(t,bu,0,Ml,Du,_u),Nl=j+3560|0,Lu=+A1[Nl>>3],xu=e[qo>>2]|0,Gl=e[Ho>>2]|0,ca=_6+52|0,Fu=e[ca>>2]|0,nC(t,Lu,1,xu,Gl,Fu),Pt||(Yo=j+3592|0,Mu=+A1[Yo>>3],Jo=e[qo>>2]|0,Tu=e[Ho>>2]|0,ga=e[ca>>2]|0,nC(t,Mu,2,Jo,Tu,ga),Nu=j+3624|0,Gu=+A1[Nu>>3],Uu=e[qo>>2]|0,Ul=e[Ho>>2]|0,Ou=_6+48|0,qu=e[Ou>>2]|0,nC(t,Gu,3,Uu,Ul,qu)),Hu=((j+3528|0)+(n<<5)|0)+24|0,Pl=+A1[Hu>>3],Ol=_6+80|0,sr=e[Ol>>2]|0,ql=_6+84|0,Vo=e[ql>>2]|0,ha=~~Pl,ua=+(ha|0),Hl=Pl-ua,In=e[g0>>2]|0,Yu=In+2852|0,Yl=e[Yu>>2]|0,Ju=Vo+(ha<<3)|0,Vu=+A1[Ju>>3],Ku=1-Hl,zu=Vu*Ku,Ko=ha+1|0,fa=Vo+(Ko<<3)|0,Zu=+A1[fa>>3],Wu=Zu*Hl,Jl=Wu+zu,da=~~Jl,Vl=+(da|0),Kl=Jl-Vl,ju=Kl==0,zl=(da|0)>0,xp=zl&ju,a=xp?1:Kl,Xu=xp<<31>>31,M=Xu+da|0,Ia=1-a,tf=M+1|0,ah=0;P9=(sr+(M*160|0)|0)+(ah<<2)|0,rf=e[P9>>2]|0,Zl=+(rf|0),nf=Zl*Ia,sf=(sr+(tf*160|0)|0)+(ah<<2)|0,Ea=e[sf>>2]|0,of=+(Ea|0),ma=of*a,Wl=ma+nf,af=Wl,jl=(Yl+336|0)+(ah<<2)|0,s[jl>>2]=af,Xl=ah+1|0,UQ=(Xl|0)==40,!UQ;)ah=Xl;for($f=j+3584|0,Ca=+A1[$f>>3],pa=~~Ca,ec=+(pa|0),tc=Ca-ec,lf=In+2856|0,ic=e[lf>>2]|0,cf=Vo+(pa<<3)|0,rc=+A1[cf>>3],gf=1-tc,hf=rc*gf,uf=pa+1|0,ff=Vo+(uf<<3)|0,nc=+A1[ff>>3],sc=nc*tc,Qa=sc+hf,zo=~~Qa,df=+(zo|0),Ac=Qa-df,ac=Ac==0,If=(zo|0)>0,Rp=If&ac,g=Rp?1:Ac,Ef=Rp<<31>>31,T=Ef+zo|0,mf=1-g,$c=T+1|0,$h=0;Cf=(sr+(T*160|0)|0)+($h<<2)|0,pf=e[Cf>>2]|0,Bf=+(pf|0),yf=Bf*mf,wf=(sr+($c*160|0)|0)+($h<<2)|0,lc=e[wf>>2]|0,vf=+(lc|0),cc=vf*g,kf=cc+yf,En=kf,Sf=(ic+336|0)+($h<<2)|0,s[Sf>>2]=En,gc=$h+1|0,PQ=(gc|0)==40,!PQ;)$h=gc;if(!Pt){for(bf=j+3616|0,ya=+A1[bf>>3],Df=_6+88|0,Zo=e[Df>>2]|0,wa=~~ya,_f=+(wa|0),va=ya-_f,uc=In+2860|0,Lf=e[uc>>2]|0,xf=Zo+(wa<<3)|0,Rf=+A1[xf>>3],Mf=1-va,fc=Rf*Mf,Tf=wa+1|0,Nf=Zo+(Tf<<3)|0,Gf=+A1[Nf>>3],Wo=Gf*va,ds=Wo+fc,ka=~~ds,Uf=+(ka|0),Sa=ds-Uf,Of=Sa==0,qf=(ka|0)>0,Fp=qf&Of,f=Fp?1:Sa,dc=Fp<<31>>31,N=dc+ka|0,Hf=1-f,Yf=N+1|0,lh=0;Jf=(sr+(N*160|0)|0)+(lh<<2)|0,Vf=e[Jf>>2]|0,Kf=+(Vf|0),jo=Kf*Hf,zf=(sr+(Yf*160|0)|0)+(lh<<2)|0,Ic=e[zf>>2]|0,Wf=+(Ic|0),jf=Wf*f,Xf=jf+jo,ed=Xf,Ei=(Lf+336|0)+(lh<<2)|0,s[Ei>>2]=ed,Ec=lh+1|0,OQ=(Ec|0)==40,!OQ;)lh=Ec;for(mi=j+3648|0,mc=+A1[mi>>3],ba=~~mc,X7=+(ba|0),Is=mc-X7,id=In+2864|0,rd=e[id>>2]|0,nd=Zo+(ba<<3)|0,sd=+A1[nd>>3],od=1-Is,Cc=sd*od,Ad=ba+1|0,ad=Zo+(Ad<<3)|0,$d=+A1[ad>>3],ld=$d*Is,Es=ld+Cc,Da=~~Es,cd=+(Da|0),Bc=Es-cd,gd=Bc==0,hd=(Da|0)>0,Mp=hd&gd,E=Mp?1:Bc,Xo=Mp<<31>>31,G=Xo+Da|0,ud=1-E,Qc=G+1|0,ch=0;yc=(sr+(G*160|0)|0)+(ch<<2)|0,dd=e[yc>>2]|0,Id=+(dd|0),mn=Id*ud,Ed=(sr+(Qc*160|0)|0)+(ch<<2)|0,md=e[Ed>>2]|0,Cn=+(md|0),Cd=Cn*E,wc=Cd+mn,Bd=wc,ms=(rd+336|0)+(ch<<2)|0,s[ms>>2]=Bd,vc=ch+1|0,qQ=(vc|0)==40,!qQ;)ch=vc}for(Qd=((j+3528|0)+(n<<5)|0)+8|0,kc=+A1[Qd>>3],yd=_6+40|0,or=e[yd>>2]|0,_a=~~kc,wd=+(_a|0),Sc=kc-wd,vd=or+(_a<<2)|0,kd=e[vd>>2]|0,Dc=+(kd|0),Sd=1-Sc,bd=Dc*Sd,Dd=_a+1|0,_c=or+(Dd<<2)|0,_d=e[_c>>2]|0,Cs=+(_d|0),Ld=Cs*Sc,xd=Ld+bd,Rd=xd,La=Yl+32|0,s[La>>2]=Rd,Fd=j+3568|0,xa=+A1[Fd>>3],Ra=~~xa,Md=+(Ra|0),Lc=xa-Md,xc=or+(Ra<<2)|0,Td=e[xc>>2]|0,Mc=+(Td|0),Nd=1-Lc,Tc=Mc*Nd,Nc=Ra+1|0,Gd=or+(Nc<<2)|0,Ud=e[Gd>>2]|0,Gc=+(Ud|0),Uc=Gc*Lc,Pd=Uc+Tc,Pc=Pd,Od=ic+32|0,s[Od>>2]=Pc,Pt||(qd=j+3600|0,qc=+A1[qd>>3],Fa=~~qc,Hc=+(Fa|0),Yc=qc-Hc,Jc=In+2860|0,Vc=e[Jc>>2]|0,Hd=or+(Fa<<2)|0,Yd=e[Hd>>2]|0,Vd=+(Yd|0),Kd=1-Yc,zd=Vd*Kd,Zd=Fa+1|0,Wd=or+(Zd<<2)|0,Kc=e[Wd>>2]|0,Ma=+(Kc|0),jd=Ma*Yc,Xd=jd+zd,eI=Xd,Zc=Vc+32|0,s[Zc>>2]=eI,tI=j+3632|0,Wc=+A1[tI>>3],Ta=~~Wc,eA=+(Ta|0),jc=Wc-eA,iI=In+2864|0,rI=e[iI>>2]|0,nI=or+(Ta<<2)|0,sI=e[nI>>2]|0,tA=+(sI|0),oI=1-jc,AI=tA*oI,aI=Ta+1|0,$I=or+(aI<<2)|0,lI=e[$I>>2]|0,cI=+(lI|0),gI=cI*jc,hI=gI+AI,eg=hI,fI=rI+32|0,s[fI>>2]=eg),dI=((j+3528|0)+(n<<5)|0)+16|0,II=+A1[dI>>3],iA=_6+76|0,tg=e[iA>>2]|0,EI=_6+60|0,mI=e[EI>>2]|0,Bn=_6+56|0,ig=e[Bn>>2]|0,Rl?ng=0:(rg=j+3408|0,CI=+A1[rg>>3],ng=CI),sC(t,II,0,tg,mI,ig,ng),pI=j+3576|0,sg=+A1[pI>>3],og=e[iA>>2]|0,BI=_6+64|0,QI=e[BI>>2]|0,yI=e[Bn>>2]|0,sC(t,sg,1,og,QI,yI,0),Pt?(ps=e[g0>>2]|0,VI=ps+2852|0,Eg=e[VI>>2]|0,KI=ps+3496|0,Pa=+A1[KI>>3],mg=Pa,zI=Eg+4|0,s[zI>>2]=mg,WI=ps+3504|0,jI=+A1[WI>>3],Cg=jI,XI=Eg+8|0,s[XI>>2]=Cg,eE=ps+2856|0,pg=e[eE>>2]|0,AA=pg+4|0,s[AA>>2]=mg,tE=pg+8|0,s[tE>>2]=Cg,Ar=ps):(wI=j+3608|0,vI=+A1[wI>>3],Ga=e[iA>>2]|0,kI=_6+68|0,SI=e[kI>>2]|0,bI=e[Bn>>2]|0,sC(t,vI,2,Ga,SI,bI,0),DI=j+3640|0,Ag=+A1[DI>>3],_I=e[iA>>2]|0,ag=_6+72|0,LI=e[ag>>2]|0,xI=e[Bn>>2]|0,sC(t,Ag,3,_I,LI,xI,0),_r=e[g0>>2]|0,lg=_r+2852|0,cg=e[lg>>2]|0,RI=_r+3496|0,gg=+A1[RI>>3],nA=gg,FI=cg+4|0,s[FI>>2]=nA,MI=_r+3504|0,TI=+A1[MI>>3],sA=TI,NI=cg+8|0,s[NI>>2]=sA,GI=_r+2856|0,ug=e[GI>>2]|0,UI=ug+4|0,s[UI>>2]=nA,PI=ug+8|0,s[PI>>2]=sA,Ua=_r+2860|0,oA=e[Ua>>2]|0,OI=oA+4|0,s[OI>>2]=nA,qI=oA+8|0,s[qI>>2]=sA,HI=_r+2864|0,Ig=e[HI>>2]|0,YI=Ig+4|0,s[YI>>2]=nA,JI=Ig+8|0,s[JI>>2]=sA,Ar=_r),iE=+A1[Le>>3],rE=_6+152|0,Bg=e[rE>>2]|0,Qg=~~iE,nE=Bg+(Qg<<3)|0,yg=e[nE>>2]|0,wg=(Bg+(Qg<<3)|0)+4|0,bi=e[wg>>2]|0,vg=e[Ar>>2]|0,sE=Ar+4|0,oE=e[sE>>2]|0,aE=(vg|0)==(oE|0),A=aE?1:2,Oa=Ar+8|0,aA=Ar+12|0,kg=t+8|0,Sg=t+4|0,pi=0;;){if($E=n4(1,3208)|0,$A=(Ar+544|0)+(pi<<2)|0,e[$A>>2]=$E,Qs=n4(1,16)|0,lE=(Ar+32|0)+(pi<<2)|0,e[lE>>2]=Qs,lA=26304+(pi<<4)|0,e[Qs>>2]=e[lA>>2]|0,e[Qs+4>>2]=e[lA+4>>2]|0,e[Qs+8>>2]=e[lA+8>>2]|0,e[Qs+12>>2]=e[lA+12>>2]|0,cE=e[Oa>>2]|0,Ha=(pi|0)<(cE|0),Ha||(gE=pi+1|0,e[Oa>>2]=gE),hE=(Ar+288|0)+(pi<<2)|0,e[hE>>2]=0,bg=e[$A>>2]|0,cA=yg+(pi*3208|0)|0,s4(bg|0,cA|0,3208)|0,Dg=e[aA>>2]|0,uE=(pi|0)<(Dg|0),uE||(fE=pi+1|0,e[aA>>2]=fE),dE=e[cA>>2]|0,_g=(dE|0)>0,_g)for(uC=0;;){EE=((yg+(pi*3208|0)|0)+1092|0)+(uC<<2)|0,jt=e[EE>>2]|0,y4=e[g0>>2]|0,ei=S9(2840)|0,mE=(y4+1568|0)+(jt<<2)|0,e[mE>>2]=ei,Lg=(bi+(jt<<5)|0)+12|0,xg=e[Lg>>2]|0,s4(ei|0,xg|0,2840)|0,Ya=y4+20|0,CE=e[Ya>>2]|0,ys=(CE|0)>(jt|0),ys||(pE=jt+1|0,e[Ya>>2]=pE),BE=(bi+(jt<<5)|0)+8|0,Rg=e[BE>>2]|0,Ja=ei+8|0,e[Ja>>2]=Rg,QE=bi+(jt<<5)|0,Fg=e[QE>>2]|0,Mg=(y4+1312|0)+(jt<<2)|0,e[Mg>>2]=Fg,Tg=y4+3420|0,Va=e[Tg>>2]|0,Ng=(Va|0)==0,ws=ei+12|0,za=e[ws>>2]|0,Gg=(za|0)>0;do if(Ng){if(Gg)for(Ug=(bi+(jt<<5)|0)+24|0,gA=e[Ug>>2]|0,vE=ei+24|0,bA=0;;)if(lr=vE+(bA<<2)|0,wn=gA+(bA<<4)|0,_7=e[wn>>2]|0,L7=(_7|0)==0,L7||(x7=e[lr>>2]|0,IA=x7|1,e[lr>>2]=IA),EA=(gA+(bA<<4)|0)+4|0,Wg=e[EA>>2]|0,jg=(Wg|0)==0,jg||(v2=e[lr>>2]|0,m5=v2|2,e[lr>>2]=m5),n5=(gA+(bA<<4)|0)+8|0,L2=e[n5>>2]|0,_2=(L2|0)==0,_2||(p2=e[lr>>2]|0,C5=p2|4,e[lr>>2]=C5),d5=(gA+(bA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[lr>>2]|0,q2=_5|8,e[lr>>2]=q2),I5=bA+1|0,A5=e[ws>>2]|0,c5=(I5|0)<(A5|0),c5)bA=I5;else{QA=A5;break}else QA=za;mA=(bi+(jt<<5)|0)+16|0,n$=e[mA>>2]|0,R7=y4+24|0,Fr=e[R7>>2]|0,s$=(Fr|0)>0,zE=n$;e:do if(s$)for(Bm=0;;){if(o$=(y4+1824|0)+(Bm<<2)|0,ZE=e[o$>>2]|0,A$=(ZE|0)==(n$|0),A$){L=Bm;break e}if(Xg=Bm+1|0,pA=(Xg|0)<(Fr|0),pA)Bm=Xg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,WE=Fr+1|0,e[R7>>2]=WE,L=Fr),jE=ei+20|0,e[jE>>2]=L,XE=(y4+1824|0)+(L<<2)|0,e[XE>>2]=zE,vn=(QA|0)>0,!vn)break;for(Ke=(bi+(jt<<5)|0)+24|0,k4=ei+280|0,Gr=0,m$=0;;){if(eh=e[Ke>>2]|0,em=eh+(m$<<4)|0,a$=e[em>>2]|0,th=(a$|0)==0,tm=a$,th)bs=eh,cm=Gr;else{yA=e[R7>>2]|0,rm=(yA|0)>0;e:do if(rm)for(Im=0;;){if(nm=(y4+1824|0)+(Im<<2)|0,sm=e[nm>>2]|0,om=(sm|0)==(a$|0),om){x=Im;break e}if(ih=Im+1|0,Am=(ih|0)<(yA|0),Am)Im=ih;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,am=yA+1|0,e[R7>>2]=am,x=yA),$m=Gr+1|0,ti=k4+(Gr<<2)|0,e[ti>>2]=x,kn=(y4+1824|0)+(x<<2)|0,e[kn>>2]=tm,s0=e[Ke>>2]|0,bs=s0,cm=$m}if($$=(bs+(m$<<4)|0)+4|0,Ds=e[$$>>2]|0,Xt=(Ds|0)==0,_s=Ds,Xt)E2=bs,J4=cm;else{V1=e[R7>>2]|0,O1=(V1|0)>0;e:do if(O1)for(um=0;;){if(q1=(y4+1824|0)+(um<<2)|0,Y1=e[q1>>2]|0,j1=(Y1|0)==(Ds|0),j1){D=um;break e}if(n2=um+1|0,W1=(n2|0)<(V1|0),W1)um=n2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=V1+1|0,e[R7>>2]=P1,D=V1),c2=cm+1|0,z1=k4+(cm<<2)|0,e[z1>>2]=D,u2=(y4+1824|0)+(D<<2)|0,e[u2>>2]=_s,r0=e[Ke>>2]|0,E2=r0,J4=c2}if(o2=(E2+(m$<<4)|0)+8|0,K1=e[o2>>2]|0,h2=(K1|0)==0,$2=K1,h2)D2=E2,d$=J4;else{i2=e[R7>>2]|0,l2=(i2|0)>0;e:do if(l2)for(fm=0;;){if(r2=(y4+1824|0)+(fm<<2)|0,a2=e[r2>>2]|0,X1=(a2|0)==(K1|0),X1){y=fm;break e}if(s2=fm+1|0,f2=(s2|0)<(i2|0),f2)fm=s2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=i2+1|0,e[R7>>2]=y2,y=i2),k2=J4+1|0,w2=k4+(J4<<2)|0,e[w2>>2]=y,C2=(y4+1824|0)+(y<<2)|0,e[C2>>2]=$2,V=e[Ke>>2]|0,D2=V,d$=k2}if(F2=(D2+(m$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,K2=N2,d2)kp=d$;else{G2=e[R7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(dm=0;;){if(P2=(y4+1824|0)+(dm<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=dm;break e}if(O2=dm+1|0,T1=(O2|0)<(G2|0),T1)dm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[R7>>2]=X2,_=G2),x5=d$+1|0,e5=k4+(d$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=K2,kp=x5}if(k5=m$+1|0,P5=e[ws>>2]|0,l5=(k5|0)<(P5|0),l5)Gr=kp,m$=k5;else break}}else{if(Gg)for(yE=(bi+(jt<<5)|0)+28|0,Qn=e[yE>>2]|0,wE=ei+24|0,SA=0;;)if(Di=wE+(SA<<2)|0,kE=Qn+(SA<<4)|0,SE=e[kE>>2]|0,bE=(SE|0)==0,bE||(DE=e[Di>>2]|0,_E=DE|1,e[Di>>2]=_E),LE=(Qn+(SA<<4)|0)+4|0,_i=e[LE>>2]|0,xE=(_i|0)==0,xE||(o6=e[Di>>2]|0,e3=o6|2,e[Di>>2]=e3),A3=(Qn+(SA<<4)|0)+8|0,R3=e[A3>>2]|0,u6=(R3|0)==0,u6||(Q3=e[Di>>2]|0,y3=Q3|4,e[Di>>2]=y3),r6=(Qn+(SA<<4)|0)+12|0,j3=e[r6>>2]|0,O3=(j3|0)==0,O3||(K5=e[Di>>2]|0,S3=K5|8,e[Di>>2]=S3),g3=SA+1|0,q3=e[ws>>2]|0,l6=(g3|0)<(q3|0),l6)SA=g3;else{zg=q3;break}else zg=za;RE=(bi+(jt<<5)|0)+20|0,Og=e[RE>>2]|0,Ci=y4+24|0,hA=e[Ci>>2]|0,Za=(hA|0)>0,qg=Og;e:do if(Za)for(hm=0;;){if(Hg=(y4+1824|0)+(hm<<2)|0,ME=e[Hg>>2]|0,Yg=(ME|0)==(Og|0),Yg){p=hm;break e}if(Jg=hm+1|0,TE=(Jg|0)<(hA|0),TE)hm=Jg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Kg=hA+1|0,e[Ci>>2]=Kg,p=hA),GE=ei+20|0,e[GE>>2]=p,UE=(y4+1824|0)+(p<<2)|0,e[UE>>2]=qg,PE=(zg|0)>0,!PE)break;for(vs=(bi+(jt<<5)|0)+28|0,uA=ei+280|0,Ms=0,I$=0;;){if(fA=e[vs>>2]|0,OE=fA+(I$<<4)|0,Wa=e[OE>>2]|0,HE=(Wa|0)==0,Zg=Wa,HE)Ss=fA,Dn=Ms;else{ks=e[Ci>>2]|0,YE=(ks|0)>0;e:do if(YE)for(pm=0;;){if(JE=(y4+1824|0)+(pm<<2)|0,ja=e[JE>>2]|0,Xa=(ja|0)==(Wa|0),Xa){w=pm;break e}if(dA=pm+1|0,e$=(dA|0)<(ks|0),e$)pm=dA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,t$=ks+1|0,e[Ci>>2]=t$,w=ks),xr=Ms+1|0,Rr=uA+(Ms<<2)|0,e[Rr>>2]=w,i$=(y4+1824|0)+(w<<2)|0,e[i$>>2]=Zg,q=e[vs>>2]|0,Ss=q,Dn=xr}if(r$=(Ss+(I$<<4)|0)+4|0,$r=e[r$>>2]|0,yn=($r|0)==0,VE=$r,yn)L5=Ss,Sn=Dn;else{p5=e[Ci>>2]|0,M1=(p5|0)>0;e:do if(M1)for(Em=0;;){if(g5=(y4+1824|0)+(Em<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==($r|0),W2){S=Em;break e}if(g2=Em+1|0,B5=(g2|0)<(p5|0),B5)Em=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=p5+1|0,e[Ci>>2]=t5,S=p5),s5=Dn+1|0,h5=uA+(Dn<<2)|0,e[h5>>2]=S,J2=(y4+1824|0)+(S<<2)|0,e[J2>>2]=VE,K=e[vs>>2]|0,L5=K,Sn=s5}if(u5=(L5+(I$<<4)|0)+8|0,j2=e[u5>>2]|0,$5=(j2|0)==0,x2=j2,$5)u3=L5,bn=Sn;else{Q5=e[Ci>>2]|0,q5=(Q5|0)>0;e:do if(q5)for(mm=0;;){if(j5=(y4+1824|0)+(mm<<2)|0,E5=e[j5>>2]|0,f3=(E5|0)==(j2|0),f3){b=mm;break e}if(h3=mm+1|0,X5=(h3|0)<(Q5|0),X5)mm=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[Ci>>2]=n3,b=Q5),m3=Sn+1|0,F5=uA+(Sn<<2)|0,e[F5>>2]=b,V5=(y4+1824|0)+(b<<2)|0,e[V5>>2]=x2,$0=e[vs>>2]|0,u3=$0,bn=m3}if(v3=(u3+(I$<<4)|0)+12|0,B3=e[v3>>2]|0,z3=(B3|0)==0,G3=B3,z3)F9=bn;else{w3=e[Ci>>2]|0,W5=(w3|0)>0;e:do if(W5)for(Cm=0;;){if(i6=(y4+1824|0)+(Cm<<2)|0,x3=e[i6>>2]|0,U3=(x3|0)==(B3|0),U3){v=Cm;break e}if(a3=Cm+1|0,l3=(a3|0)<(w3|0),l3)Cm=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=w3+1|0,e[Ci>>2]=c3,v=w3),C3=bn+1|0,H5=uA+(bn<<2)|0,e[H5>>2]=v,O5=(y4+1824|0)+(v<<2)|0,e[O5>>2]=G3,F9=C3}if(v5=I$+1|0,P3=e[ws>>2]|0,M5=(v5|0)<(P3|0),M5)Ms=F9,I$=v5;else break}}while(!1);rh=y4+3480|0,nh=+A1[rh>>3],vA=nh*1e3,Ls=(y4+1056|0)+(pi<<2)|0,Rs=e[Ls>>2]|0,lm=e[kg>>2]|0,Fs=+(lm|0),cr=Fs*.5,sh=y4+(pi<<2)|0,Mr=e[sh>>2]|0,ii=Mr>>1,l$=vA>cr,bp=l$?cr:vA,c$=bp/cr,Ki=+(ii|0),h$=Ki*c$,u$=~~h$,Tr=Rs+1116|0,e[Tr>>2]=u$,$6=(bi+(jt<<5)|0)+4|0,kA=e[$6>>2]|0;do if((kA|0)==2)Ah=250;else if((kA|0)==1){if(Nr=e[Tg>>2]|0,oh=(Nr|0)==0,ke=y4+2996|0,f$=y4+2968|0,XQ=oh?f$:ke,jQ=e[XQ>>2]|0,WQ=+(jQ|0),Dp=WQ*1e3,Q8=Dp>cr,!Q8){Ah=Dp;break}Ah=cr}else Ah=bp;while(!1);I0=e[Mg>>2]|0,w0=(I0|0)==2;do if(w0){if(C0=y4+12|0,v0=e[C0>>2]|0,d0=(v0|0)>0,d0)for(hC=0;;){if(p0=(y4+544|0)+(hC<<2)|0,B0=e[p0>>2]|0,E0=e[B0>>2]|0,b0=(E0|0)>0,b0)for(ym=0;;){K0=(B0+1092|0)+(ym<<2)|0,Q0=e[K0>>2]|0,M0=(Q0|0)==(jt|0);do if(M0){if(T0=e[Sg>>2]|0,G0=(T0|0)>0,G0)Sp=0,dC=0;else{gm=0;break}for(;;)if(P0=(B0+4|0)+(dC<<2)|0,y0=e[P0>>2]|0,Y0=(y0|0)==(ym|0),F0=Y0&1,O=F0+Sp|0,_0=dC+1|0,GQ=(_0|0)==(T0|0),GQ){gm=O;break}else Sp=O,dC=_0}else gm=0;while(!1);if(N0=ym+1|0,J0=(N0|0)<(E0|0),O0=(gm|0)==0,z0=J0&O0,z0)ym=N0;else{lC=gm;break}}else lC=0;if(U0=hC+1|0,q0=(U0|0)<(v0|0),r1=(lC|0)==0,H0=q0&r1,H0)hC=U0;else{$C=lC;break}}else $C=0;if(e1=Ah/cr,D0=+($C|0),i1=D0*Ki,$1=i1*e1,u1=e[Ja>>2]|0,g1=+(u1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,u1)|0,o1=ei+4|0,e[o1>>2]=n1,Z0=r5($C,ii)|0,I1=(n1|0)>(Z0|0),!I1){U=o1,Z1=n1,_1=u1;break}m1=(Z0|0)%(u1|0)&-1,d1=Z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,_1=u1}else{if(E1=Ah/cr,p1=E1*Ki,B1=e[Ja>>2]|0,Q1=+(B1|0),L1=p1/Q1,x1=L1+.9,w1=~~x1,b1=r5(w1,B1)|0,F1=ei+4|0,e[F1>>2]=b1,G1=(b1|0)>(ii|0),!G1){U=F1,Z1=b1,_1=B1;break}v1=(ii|0)%(B1|0)&-1,U1=ii-v1|0,e[F1>>2]=U1,U=F1,Z1=U1,_1=B1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=_1),d3=uC+1|0,k6=e[cA>>2]|0,S6=(d3|0)<(k6|0),S6)uC=d3;else break}if(p6=pi+1|0,X3=(p6|0)<(A|0),X3)pi=p6;else break}return c6=j+3428|0,B6=e[c6>>2]|0,L6=(B6|0)>0,L6?(Y6=t+16|0,e[Y6>>2]=B6):(C6=e[g0>>2]|0,b3=C6+3396|0,t6=e[b3>>2]|0,f6=C6+3400|0,H3=+A1[f6>>3],D3=~~H3,Y3=+(D3|0),Z3=H3-Y3,b6=t6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?B=-1:(O6=e[Sg>>2]|0,d6=A6+(D3<<3)|0,_3=+A1[d6>>3],N6=1-Z3,n6=_3*N6,Q6=D3+1|0,x6=A6+(Q6<<3)|0,K6=+A1[x6>>3],I6=K6*Z3,J6=I6+n6,F3=+(O6|0),G6=J6*F3,ey=~~G6,B=ey),e9=t+16|0,e[e9>>2]=B),s9=j+3424|0,R6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=R6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(B6|0)==0,F6?o0=0:(M3=j+3444|0,t9=e[M3>>2]|0,A9=+(t9|0),X6=+(B6|0),u9=A9/X6,f9=~~u9,o0=f9),d9=t+24|0,e[d9>>2]=o0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[D6>>2]|0,o4=j+3368|0,e[o4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,b9=j+3448|0,E9=+A1[b9>>3],r9=j+3376|0,A1[r9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function hb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=+a;var g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0;if(O=C,I=(A|0)<1,I)f=-131;else if(m=t+28|0,y=e[m>>2]|0,_=a,x=_+1e-7,L=x,F=!(L>=1),E=F?L:.9998999834060669,M=y+3416|0,s[M>>2]=E,T=E,N=y+3400|0,B=ub(n,A,T,0,N)|0,p=y+3396|0,e[p>>2]=B,S=(B|0)==0,S)f=-130;else return fb(t,n,A),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=gb(t)|0,D=(w|0)==0,D?(g=0,g|0):(Ip(t),g=w,g|0);return Ip(t),g=f,g|0}function nC(t,n,A,a,g,f){t=t|0,n=+n,A=A|0,a=a|0,g=g|0,f=f|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;for(p1=C,E=~~n,I=+(E|0),x=n-I,J=t+28|0,r0=e[J>>2]|0,C0=(r0+2852|0)+(A<<2)|0,T0=e[C0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),m=1-x,B=h1*m,p=E+1|0,S=a+(p*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*x,D=w+B,y=D,_=T0+12|0,s[_>>2]=y,L=(a+(E*20|0)|0)+4|0,F=e[L>>2]|0,M=+(F|0),T=M*m,N=(a+(p*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*x,Y=z+T,t0=Y,W=T0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,q=e[e0>>2]|0,X=+(q|0),U=X*m,l0=(a+(p*20|0)|0)+8|0,Z=e[l0>>2]|0,K=+(Z|0),$0=K*x,s0=$0+U,n0=s0,V=T0+20|0,s[V>>2]=n0,h0=(a+(E*20|0)|0)+12|0,o0=+s[h0>>2],g0=o0,j=g0*m,c0=(a+(p*20|0)|0)+12|0,u0=+s[c0>>2],I0=u0,w0=I0*x,v0=w0+j,d0=v0,p0=T0+24|0,s[p0>>2]=d0,B0=(a+(E*20|0)|0)+16|0,E0=+s[B0>>2],b0=E0,K0=b0*m,L0=(a+(p*20|0)|0)+16|0,Q0=+s[L0>>2],M0=Q0,G0=M0*x,P0=G0+K0,y0=P0,Y0=T0+28|0,s[Y0>>2]=y0,F0=g+(E<<2)|0,_0=e[F0>>2]|0,N0=+(_0|0),V0=N0*m,J0=g+(p<<2)|0,O0=e[J0>>2]|0,U0=+(O0|0),q0=U0*x,r1=q0+V0,H0=r1,e1=T0+496|0,s[e1>>2]=H0,d1=0;D0=(f+(E*68|0)|0)+(d1<<2)|0,i1=e[D0>>2]|0,c1=+(i1|0),$1=c1*m,u1=(f+(p*68|0)|0)+(d1<<2)|0,l1=e[u1>>2]|0,s1=+(l1|0),a1=s1*x,n1=a1+$1,o1=n1,Z0=(T0+36|0)+(d1<<2)|0,s[Z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function sC(t,n,A,a,g,f,E){t=t|0,n=+n,A=A|0,a=a|0,g=g|0,f=f|0,E=+E;var I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0;for(w2=C,v=~~n,w=+(v|0),l0=n-w,j=t+28|0,b0=e[j>>2]|0,_0=(b0+2852|0)+(A<<2)|0,D0=e[_0>>2]|0,Z0=a+(v<<2)|0,w1=e[Z0>>2]|0,O1=+(w1|0),D=1-l0,z=O1*D,Y=v+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*l0,q=e0+z,X=q,U=D0+108|0,s[U>>2]=X,Z=f+(A*12|0)|0,K=e[Z>>2]|0,$0=D0+120|0,e[$0>>2]=K,s0=(f+(A*12|0)|0)+4|0,r0=e[s0>>2]|0,n0=D0+124|0,e[n0>>2]=r0,V=(f+(A*12|0)|0)+8|0,h0=e[V>>2]|0,o0=D0+128|0,e[o0>>2]=h0,i2=0;;)if(g0=(g+(v*204|0)|0)+(i2<<2)|0,c0=e[g0>>2]|0,u0=+(c0|0),I0=u0*D,w0=(g+(Y*204|0)|0)+(i2<<2)|0,C0=e[w0>>2]|0,v0=+(C0|0),d0=v0*l0,p0=d0+I0,B0=p0,E0=(D0+132|0)+(i2<<2)|0,s[E0>>2]=B0,K0=i2+1|0,K1=(K0|0)==17,K1){l2=0;break}else i2=K0;for(;;)if(x1=((g+(v*204|0)|0)+68|0)+(l2<<2)|0,b1=e[x1>>2]|0,R1=+(b1|0),F1=R1*D,G1=((g+(Y*204|0)|0)+68|0)+(l2<<2)|0,v1=e[G1>>2]|0,U1=+(v1|0),Z1=U1*l0,N1=Z1+F1,_1=N1,V1=(D0+200|0)+(l2<<2)|0,s[V1>>2]=_1,q1=l2+1|0,h2=(q1|0)==17,h2){r2=0;break}else l2=q1;for(;H1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,Y1=e[H1>>2]|0,j1=+(Y1|0),n2=j1*D,W1=((g+(Y*204|0)|0)+136|0)+(r2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*l0,u2=z1+n2,y=u2,_=(D0+268|0)+(r2<<2)|0,s[_>>2]=y,x=r2+1|0,$2=(x|0)==17,!$2;)r2=x;for(L=D0+132|0,F=+s[L>>2],y0=F+6,M=D0+132|0,T=F,N=T+E,G=N,O=G>2]=y2,L0=1;I=(D0+132|0)+(L0<<2)|0,p=+s[I>>2],Q0=(D0+132|0)+(L0<<2)|0,M0=p,T0=M0+E,G0=T0,P0=G0>2]=a2,Y0=L0+1|0,o2=(Y0|0)==17,!o2;)L0=Y0;for(F0=D0+200|0,N0=+s[F0>>2],V0=N0+6,J0=D0+200|0,O0=N0,z0=O0+E,U0=z0,q0=U0>2]=s2,r1=1;m=(D0+200|0)+(r1<<2)|0,S=+s[m>>2],H0=(D0+200|0)+(r1<<2)|0,e1=S,i1=e1+E,c1=i1,$1=c1>2]=X1,u1=r1+1|0,E2=(u1|0)==17,!E2;)r1=u1;for(g1=D0+268|0,l1=+s[g1>>2],s1=l1+6,a1=D0+268|0,n1=l1,o1=n1+E,I1=o1,h1=I1>2]=t2,m1=1;B=(D0+268|0)+(m1<<2)|0,b=+s[B>>2],d1=(D0+268|0)+(m1<<2)|0,E1=b,p1=E1+E,B1=p1,Q1=B1>2]=f2,L1=m1+1|0,A2=(L1|0)==17,!A2;)m1=L1}function ub(t,n,A,a,g){t=t|0,n=n|0,A=+A,a=a|0,g=g|0;var f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0;Q1=C,v=(a|0)==0;e:do if(v){for(q=26336,Z0=0;;){if(e0=e[q>>2]|0,X=e0+12|0,U=e[X>>2]|0,l0=(U|0)==-1,K=(U|0)==(t|0),d1=l0|K,d1&&($0=e0+16|0,s0=e[$0>>2]|0,r0=(s0|0)>(n|0),!r0&&(n0=e0+20|0,V=e[n0>>2]|0,h0=(V|0)<(n|0),!h0&&(o0=e[e0>>2]|0,g0=e0+8|0,j=e[g0>>2]|0,u0=+A1[j>>3],I0=u0>A,!I0&&(v0=j+(o0<<3)|0,d0=+A1[v0>>3],p0=d0>2]|0,K0=Z+12|0,N0=e[K0>>2]|0,i1=(N0|0)==-1,s1=(N0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,D=e[a1>>2]|0,y=(D|0)>(n|0),!y&&(_=Z+20|0,x=e[_>>2]|0,L=(x|0)<(n|0),!L&&(F=e[Z>>2]|0,M=Z+4|0,T=e[M>>2]|0,N=+A1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=F,m=c0,B=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){f=0;break}else c0=J,I1=o1}return f|0}while(!1);B0=(I|0)>0;e:do if(B0)for(b0=l1,m1=0;;){if(E0=!(E>=b0),b=m1+1|0,!E0&&(L0=B+(b<<3)|0,Q0=+A1[L0>>3],M0=E>3],b0=S,m1=b}else h1=0;while(!1);return G0=(h1|0)==(I|0),G0?(P0=+(I|0),y0=P0+-.001,p1=y0):(Y0=B+(h1<<3)|0,F0=+A1[Y0>>3],_0=F0,V0=h1+1|0,J0=B+(V0<<3)|0,O0=+A1[J0>>3],z0=O0,U0=_0,q0=E-U0,r1=z0-_0,H0=r1,e1=q0/H0,D0=e1,c1=+(h1|0),$1=D0+c1,u1=$1,p1=u1),A1[g>>3]=p1,g1=e[m>>2]|0,f=g1,f|0}function fb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0;D0=C,I=t+28|0,m=e[I>>2]|0,L=m+3396|0,W=e[L>>2]|0,e[t>>2]=0,n0=t+4|0,e[n0>>2]=n,v0=t+8|0,e[v0>>2]=A,G0=m+3456|0,e[G0>>2]=1,U0=m+3460|0,e[U0>>2]=1,r1=m+3400|0,H0=+A1[r1>>3],B=~~H0,p=+(B|0),S=H0-p,b=m+3472|0,A1[b>>3]=H0,v=m+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=W+120|0,_=e[y>>2]|0,x=_+(B<<3)|0,F=+A1[x>>3],M=1-S,T=F*M,N=B+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*S,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,g=N,f=M):(a=1-S,E=B+1|0,g=E,f=a),J=W+112|0,e0=e[J>>2]|0,q=e0+(B<<2)|0,X=e[q>>2]|0,U=+(X|0),l0=U*f,Z=e0+(g<<2)|0,K=e[Z>>2]|0,$0=+(K|0),s0=$0*S,r0=s0+l0,V=m+3496|0,A1[V>>3]=r0,h0=W+116|0,o0=e[h0>>2]|0,g0=o0+(B<<2)|0,j=e[g0>>2]|0,c0=+(j|0),u0=c0*f,I0=o0+(g<<2)|0,w0=e[I0>>2]|0,C0=+(w0|0),d0=C0*S,p0=d0+u0,B0=m+3504|0,A1[B0>>3]=p0,E0=m+3512|0,A1[E0>>3]=-6,b0=m+3520|0,A1[b0>>3]=H0,K0=m+3528|0,A1[K0>>3]=H0,L0=m+3536|0,A1[L0>>3]=H0,Q0=m+3544|0,A1[Q0>>3]=H0,M0=m+3552|0,A1[M0>>3]=H0,T0=m+3560|0,A1[T0>>3]=H0,P0=m+3568|0,A1[P0>>3]=H0,y0=m+3576|0,A1[y0>>3]=H0,Y0=m+3584|0,A1[Y0>>3]=H0,F0=m+3592|0,A1[F0>>3]=H0,_0=m+3600|0,A1[_0>>3]=H0,N0=m+3608|0,A1[N0>>3]=H0,V0=m+3616|0,A1[V0>>3]=H0,J0=m+3624|0,A1[J0>>3]=H0,O0=m+3632|0,A1[O0>>3]=H0,z0=m+3640|0,A1[z0>>3]=H0,q0=m+3648|0,A1[q0>>3]=H0}function db(t,n,A,a,g,f){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0;if(O0=C,I=(g|0)!=0,m=I?a:0,L=I?f:0,W=n+(m<<2)|0,n0=e[W>>2]|0,v0=520336+(n0<<2)|0,b0=e[v0>>2]|0,K0=n+(L<<2)|0,L0=e[K0>>2]|0,Q0=520336+(L0<<2)|0,B=e[Q0>>2]|0,p=A+(g<<2)|0,S=e[p>>2]|0,b=A+(m<<2)|0,v=e[b>>2]|0,w=A+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,_=(v|0)/4&-1,x=y-_|0,F=(v|0)/2&-1,M=x+F|0,T=(S|0)/2&-1,N=T+y|0,E=(D|0)/-4&-1,G=N+E|0,O=(D|0)/2&-1,z=G+O|0,Y=(x|0)>0,Y?(t0=y-_|0,J=t0<<2,ae(t|0,0,J|0)|0,T0=x):T0=0,e0=(T0|0)<(M|0),e0)for(q=y+F|0,X=q-T0|0,U=X-_|0,G0=T0,Y0=0;$0=b0+(Y0<<2)|0,s0=+s[$0>>2],r0=t+(G0<<2)|0,V=+s[r0>>2],h0=V*s0,s[r0>>2]=h0,o0=G0+1|0,g0=Y0+1|0,M0=(g0|0)==(U|0),!M0;)G0=o0,Y0=g0;if(l0=(D|0)>1,l0){for(Z=G+1|0,K=(z|0)>(Z|0),y0=G,_0=O;F0=_0+-1|0,I0=B+(F0<<2)|0,w0=+s[I0>>2],C0=t+(y0<<2)|0,d0=+s[C0>>2],p0=d0*w0,s[C0>>2]=p0,B0=y0+1|0,E0=(B0|0)<(z|0),E0;)y0=B0,_0=F0;V0=K?z:Z,P0=V0}else P0=G;j=(S|0)>(P0|0),j&&(N0=t+(P0<<2)|0,c0=S-P0|0,u0=c0<<2,ae(N0|0,0,u0|0)|0)}function Ib(t,n,A){t=t|0,n=+n,A=+A;var a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0;if(V=C,C=C+64|0,r0=V+32|0,s0=V,a=S9(688)|0,g=a+408|0,DS(g),D=~~n,hb(g,t,D,A)|0,z=a+440|0,kS(z),SS(z,553008,553016),X=a+456|0,sS(X,g)|0,U=a+568|0,rS(X,U)|0,l0=eQ(0)|0,yb(l0),Z=wb()|0,Kk(a,Z)|0,K=a+680|0,e[K>>2]=0,$0=a+684|0,e[$0>>2]=0,f=a+360|0,_S(X,z,f,r0,s0)|0,iC(a,f)|0,iC(a,r0)|0,iC(a,s0)|0,E=a+392|0,I=iQ(a,E)|0,m=(I|0)==0,m)return C=V,a|0;for(B=a+396|0,p=a+404|0,S=a+400|0;b=e[$0>>2]|0,v=e[B>>2]|0,w=v+b|0,y=e[p>>2]|0,_=w+y|0,x=(_|0)==0,x||(M=e[K>>2]|0,T=Yi(M,_)|0,e[K>>2]=T,N=e[$0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[B>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[$0>>2]=t0,J=T+t0|0,W=e[S>>2]|0,e0=e[p>>2]|0,s4(J|0,W|0,e0|0)|0,q=e0+t0|0,e[$0>>2]=q),L=iQ(a,E)|0,F=(L|0)==0,!F;);return C=V,a|0}function Eb(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0;m=C,zk(t)|0,n=t+568|0,nS(n)|0,A=t+456|0,oQ(A),a=t+440|0,bS(a),g=t+408|0,Ip(g),f=t+680|0,E=e[f>>2]|0,I2(E),I2(t)}function mb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0;return f=C,A=t+456|0,a=AQ(A,n)|0,a|0}function Cb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0;if(V=C,A=t+456|0,oS(A,n)|0,a=t+568|0,w=aQ(A,a)|0,O=(w|0)==1,!!O)for(l0=t+360|0,Z=t+392|0,K=t+684|0,$0=t+396|0,s0=t+404|0,r0=t+680|0,g=t+392|0,f=t+400|0;;){if(Xk(a,0)|0,iS(a)|0,m=sQ(A,l0)|0,B=(m|0)==0,!B)for(;;){if(iC(t,l0)|0,b=rQ(t,Z)|0,v=(b|0)==0,!v)for(;D=e[K>>2]|0,y=e[$0>>2]|0,_=y+D|0,x=e[s0>>2]|0,L=_+x|0,F=(L|0)==0,F||(N=e[r0>>2]|0,G=Yi(N,L)|0,e[r0>>2]=G,z=e[K>>2]|0,Y=G+z|0,t0=e[g>>2]|0,J=e[$0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[K>>2]=W,e0=G+W|0,q=e[f>>2]|0,X=e[s0>>2]|0,s4(e0|0,q|0,X|0)|0,U=X+W|0,e[K>>2]=U),M=rQ(t,Z)|0,T=(M|0)==0,!T;);if(p=sQ(A,l0)|0,S=(p|0)==0,S)break}if(E=aQ(A,a)|0,I=(E|0)==1,!I)break}}function pb(t){t=t|0;var n=0,A=0,a=0,g=0;return g=C,n=t+684|0,A=e[n>>2]|0,A|0}function Bb(t){t=t|0;var n=0,A=0,a=0,g=0,f=0;return f=C,n=t+684|0,e[n>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function oC(t,n){t=+t,n=n|0;var A=0,a=0,g=0;return g=C,A=+Qb(t,n),+A}function Gh(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0;if(R3=C,C=C+688|0,e3=R3+424|0,J5=R3+192|0,W5=R3,X=r5(A,n)|0,U=(X|0)==0,U){C=R3;return}for(J=X-A|0,H1=W5+4|0,e[H1>>2]=A,e[W5>>2]=A,t2=A,f5=A,v3=2;A2=t2+A|0,M2=A2+f5|0,R5=W5+(v3<<2)|0,e[R5>>2]=M2,S5=M2>>>0>>0,i5=v3+1|0,S5;)y2=f5,f5=M2,v3=i5,t2=y2;if(l0=0-A|0,j=t+J|0,b0=(J|0)>0,b0)for(_0=(A|0)==0,D0=j,w1=1,z2=0,F5=t,U5=1;;){Z0=w1&3,V1=(Z0|0)==3;do if(V1){e[J5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(p=U5,y=F5,P1=F5,z5=1;;){if(q1=y+l0|0,Y1=p+-2|0,j1=W5+(Y1<<2)|0,n2=e[j1>>2]|0,M5=n2+A|0,W=0-M5|0,W1=y+W|0,c2=f7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(u2=f7[a&15](P1,q1)|0,o2=(u2|0)>-1,o2)){u3=z5;break}if(E2=f7[a&15](W1,q1)|0,K1=(E2|0)>-1,h2=z5+1|0,$2=J5+(z5<<2)|0,K1?(e[$2>>2]=W1,i2=p+-1|0,f=W1,m=i2):(e[$2>>2]=q1,f=q1,m=Y1),l2=(m|0)>1,!l2){u3=h2;break}O=e[J5>>2]|0,p=m,y=f,P1=O,z5=h2}if(r2=(u3|0)<2,!r2&&(a2=J5+(u3<<2)|0,e[a2>>2]=e3,!_0))for(w=A,G2=e3;;){for(d2=w>>>0>256,s2=d2?256:w,K2=e[J5>>2]|0,s4(G2|0,K2|0,s2|0)|0,D2=K2,z3=0;k2=J5+(z3<<2)|0,w2=z3+1|0,C2=J5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,s2|0)|0,N2=D2+s2|0,e[k2>>2]=N2,X5=(w2|0)==(u3|0),!X5;)D2=F2,z3=w2;if(X1=(w|0)==(s2|0),X1)break e;f2=w-s2|0,Y=e[a2>>2]|0,w=f2,G2=Y}}while(!1);H2=w1>>>2,P2=z2<<30,o5=H2|P2,O2=z2>>>2,T1=U5+2|0,n0=o5,_1=O2,O5=T1}else{if(X2=U5+-1|0,x5=W5+(X2<<2)|0,e5=e[x5>>2]|0,b5=F5,Z2=D0-b5|0,k5=e5>>>0>>0,k5){e[J5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(S=U5,_=F5,_2=F5,w3=1;;){if(l5=_+l0|0,v2=S+-2|0,m5=W5+(v2<<2)|0,n5=e[m5>>2]|0,o6=n5+A|0,e0=0-o6|0,L2=_+e0|0,p2=f7[a&15](_2,L2)|0,C5=(p2|0)>-1,C5&&(d5=f7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){B3=w3;break}if(G5=f7[a&15](L2,l5)|0,_5=(G5|0)>-1,q2=w3+1|0,I5=J5+(w3<<2)|0,_5?(e[I5>>2]=L2,A5=S+-1|0,E=L2,B=A5):(e[I5>>2]=l5,E=l5,B=v2),c5=(B|0)>1,!c5){B3=q2;break}z=e[J5>>2]|0,S=B,_=E,_2=z,w3=q2}if(p5=(B3|0)<2,!p5&&(M1=J5+(B3<<2)|0,e[M1>>2]=e3,!_0))for(D=A,j2=e3;;){for(u5=D>>>0>256,a5=u5?256:D,L5=e[J5>>2]|0,s4(j2|0,L5|0,a5|0)|0,h5=L5,G3=0;g2=J5+(G3<<2)|0,B5=G3+1|0,t5=J5+(B5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(B5|0)==(B3|0),!n3;)h5=s5,G3=B5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else AC(F5,A,a,w1,z2,U5,0,W5);if($5=(U5|0)==1,$5){x2=z2<<1,Q5=w1>>>31,q5=Q5|x2,j5=w1<<1,n0=j5,_1=q5,O5=0;break}else{E5=X2>>>0>31,f3=U5+-33|0,g=E5?0:w1,x=E5?w1:z2,L=E5?f3:X2,h3=x<>>Z,$0=K|h3,s0=g<>>0>>0,h0)w1=r0,z2=_1,F5=V,U5=O5;else{T=_1,N=r0,m3=V,H5=O5;break}}else T=0,N=1,m3=t,H5=1;if(AC(m3,A,a,N,T,H5,0,W5),o0=(H5|0)==1,g0=(N|0)==1,C3=g0&o0,c0=(T|0)==0,c3=c0&C3,c3){C=R3;return}else w0=N,Q0=T,V5=m3,v5=H5;for(;;){if(u0=(v5|0)<2,!u0){q0=Q0<<2,r1=w0>>>30,H0=r1|q0,e1=v5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,u1=c1|$1,g1=u1^3,l1=H0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,P3=a1+A|0,q=0-P3|0,n1=V5+q|0,o1=v5+-1|0,AC(n1,A,a,g1,l1,o1,1,W5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,p1=V5+l0|0,AC(p1,A,a,E1,m1,e1,1,W5),w0=E1,Q0=m1,V5=p1,v5=e1;continue}I0=w0+-1|0,C0=(I0|0)==0;do if(C0)U0=32,A3=56;else{if(v0=I0&1,d0=(v0|0)==0,d0){for(b=I0,i6=0;;)if(p0=i6+1|0,B0=b>>>1,E0=B0&1,K0=(E0|0)==0,K0)b=B0,i6=p0;else{F=p0;break}L0=(F|0)==0,L0?A3=51:J0=F}else A3=51;if((A3|0)==51){if(A3=0,M0=(Q0|0)==0,M0){U0=64,A3=56;break}if(T0=Q0&1,G0=(T0|0)==0,G0)v=Q0,x3=0;else{I=0,Q1=w0,b1=Q0,v1=0;break}for(;;)if(P0=x3+1|0,y0=v>>>1,Y0=y0&1,F0=(Y0|0)==0,F0)v=y0,x3=P0;else{M=P0,U3=x3;break}if(N0=U3+33|0,V0=(M|0)==0,V0){I=0,Q1=w0,b1=Q0,v1=0;break}else J0=N0}O0=J0>>>0>31,O0?(U0=J0,A3=56):(I=J0,Q1=w0,b1=Q0,v1=J0)}while(!1);if((A3|0)==56&&(A3=0,z0=U0+-32|0,I=z0,Q1=Q0,b1=0,v1=U0),B1=Q1>>>I,L1=32-I|0,x1=b1<>>I,G1=v1+v5|0,G=V5+l0|0,U1=(G1|0)==1,Z1=(R1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=R1,Q0=F1,V5=G,v5=G1}C=R3}function AC(t,n,A,a,g,f,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,f=f|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0;p2=C,C=C+720|0,L2=p2+456|0,P2=p2+228|0,M2=p2,e[M2>>2]=t,U=0-n|0,l0=(a|0)!=1,Q0=(g|0)!=0,J0=Q0|l0;e:do if(J0)if($1=I+(f<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,K1=f7[A&15](Y1,t)|0,y2=(K1|0)<1,y2)p=t,x=f,G=E,O2=1,_2=18;else for(v=t,T=f,O=E,E0=Y1,q0=g,b5=1,v2=a;;){if(Z=(O|0)==0,c0=(T|0)>1,l5=Z&c0,l5){if(v0=v+U|0,d0=T+-2|0,p0=I+(d0<<2)|0,B0=e[p0>>2]|0,b0=f7[A&15](v0,E0)|0,K0=(b0|0)>-1,K0){S=v,L=T,X2=b5;break e}if(m5=B0+n|0,q=0-m5|0,L0=v+q|0,M0=f7[A&15](L0,E0)|0,T0=(M0|0)>-1,T0){S=v,L=T,X2=b5;break e}}G0=b5+1|0,P0=M2+(b5<<2)|0,e[P0>>2]=E0,y0=v2+-1|0,Y0=(y0|0)==0;do if(Y0)o1=32,_2=15;else{if(F0=y0&1,_0=(F0|0)==0,_0){for(y=y0,f5=0;;)if(N0=f5+1|0,V0=y>>>1,O0=V0&1,z0=(O0|0)==0,z0)y=V0,f5=N0;else{z=N0;break}U0=(z|0)==0,U0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(q0|0)==0,r1){o1=64,_2=15;break}if(H0=q0&1,e1=(H0|0)==0,e1)_=q0,k5=0;else{B=0,I1=v2,E1=q0,L1=0;break}for(;;)if(D0=k5+1|0,i1=_>>>1,c1=i1&1,u1=(c1|0)==0,u1)_=i1,k5=D0;else{Y=D0,P5=k5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){B=0,I1=v2,E1=q0,L1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(B=s1,I1=v2,E1=q0,L1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=o1+-32|0,B=n1,I1=q0,E1=0,L1=o1),Z0=I1>>>B,h1=32-B|0,d1=E1<>>B,Q1=L1+T|0,x1=(p1|0)!=1,w1=(B1|0)!=0,b1=w1|x1,!b1){S=E0,L=Q1,X2=G0;break e}if(t0=e[M2>>2]|0,R1=I+(Q1<<2)|0,G1=e[R1>>2]|0,v1=0-G1|0,U1=E0+v1|0,Z1=f7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){p=E0,x=Q1,G=0,O2=G0,_2=18;break}else w=E0,T=Q1,O=0,E0=U1,q0=B1,b5=G0,v2=p1,v=w}else p=t,x=f,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(_1=(G|0)==0,_1)S=p,L=x,X2=O2;else{C=p2;return}V1=(X2|0)<2;e:do if(!V1&&(O1=M2+(X2<<2)|0,e[O1>>2]=L2,q1=(n|0)==0,!q1))for(M=n,h2=L2;;){for(E2=M>>>0>256,j1=E2?256:M,A2=e[M2>>2]|0,s4(h2|0,A2|0,j1|0)|0,u2=A2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(u2|0,z1|0,j1|0)|0,o2=u2+j1|0,e[W1>>2]=o2,o5=(P1|0)==(X2|0),!o5;)u2=z1,e5=P1;if(H1=(M|0)==(j1|0),H1)break e;n2=M-j1|0,e0=e[O1>>2]|0,M=n2,h2=e0}while(!1);e[P2>>2]=S,$2=(L|0)>1;e:do if($2){for(D=L,N=S,s2=S,Z2=1;;){if(i2=N+U|0,l2=D+-2|0,r2=I+(l2<<2)|0,a2=e[r2>>2]|0,n5=a2+n|0,X=0-n5|0,X1=N+X|0,f2=f7[A&15](s2,X1)|0,t2=(f2|0)>-1,t2&&(k2=f7[A&15](s2,i2)|0,w2=(k2|0)>-1,w2)){T1=Z2;break}if(C2=f7[A&15](X1,i2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,b=d2):(e[N2>>2]=i2,m=i2,b=l2),K2=(b|0)>1,!K2){T1=D2;break}J=e[P2>>2]|0,D=b,N=m,s2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=L2;else if(H2=P2+(T1<<2)|0,e[H2>>2]=L2,K=(n|0)==0,K)C0=L2;else for(F=n,w0=L2;;){for(u0=F>>>0>256,s0=u0?256:F,I0=e[P2>>2]|0,s4(w0|0,I0|0,s0|0)|0,g0=I0,x5=0;n0=P2+(x5<<2)|0,V=x5+1|0,h0=P2+(V<<2)|0,o0=e[h0>>2]|0,s4(g0|0,o0|0,s0|0)|0,j=g0+s0|0,e[n0>>2]=j,z2=(V|0)==(T1|0),!z2;)g0=o0,x5=V;if($0=(F|0)==(s0|0),$0){C0=L2;break e}r0=F-s0|0,W=e[H2>>2]|0,F=r0,w0=W}}else C0=L2;while(!1);C=p2}function Hi(t){t=+t;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0;return L=C,A1[B2>>3]=t,A=e[B2>>2]|0,a=e[B2+4>>2]|0,B=a&2146435072,p=B>>>0>1126170624,S=!1,b=(B|0)==1126170624,v=b&S,w=p|v,w?(n=t,+n):(D=(a|0)<0,y=t+-4503599627370496,g=y+4503599627370496,f=t+4503599627370496,E=f+-4503599627370496,_=D?g:E,I=_==0,I?(m=D?-0:0,n=m,+n):(n=_,+n))}function bQ(t){t=+t;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0;return w=C,A=(s[B2>>2]=t,e[B2>>2]|0),a=A&2130706432,g=a>>>0>1249902592,g?(n=t,+n):(f=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,B=m+-8388608,b=f?I:B,p=b==0,p?(S=f?-0:0,n=S,+n):(n=b,+n))}function Qb(t,n){t=+t,n=n|0;var A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,f=(n|0)>1023,f?(E=t*898846567431158e293,y=n+-1023|0,_=(y|0)>1023,_?(x=E*898846567431158e293,L=n+-2046|0,F=(L|0)>1023,A=F?1023:L,a=A,G=x):(a=y,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,B=n+2044|0,p=(B|0)<-1022,g=p?-1022:B,a=g,G=m):(a=N,G=T)):(a=n,G=t)),S=a+1023|0,b=LQ(S|0,0,52)|0,v=H6,e[B2>>2]=b,e[B2+4>>2]=v,w=+A1[B2>>3],D=G*w,+D}function yb(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0;I=C,n=t+-1|0,A=553040,a=A,e[a>>2]=n,g=A+4|0,f=g,e[f>>2]=0}function wb(){var t=0,n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,B=t+4|0,p=B,S=e[p>>2]|0,b=bb(m|0,S|0,1284865837,1481765933)|0,v=H6,w=js(b|0,v|0,1,0)|0,D=H6,A=553040,a=A,e[a>>2]=w,g=A+4|0,f=g,e[f>>2]=D,E=Xs(w|0,D|0,33)|0,I=H6,E|0}function S9(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,ee=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0,gt=0,vt=0,W8=0,ht=0,ut=0,T8=0,N8=0,G8=0,U8=0,j8=0,X8=0,kt=0,P8=0,O8=0,q8=0,k8=0,S8=0,f8=0,H8=0,Y8=0,et=0,tt=0,d8=0,Pe=0,xe=0,i8=0,b8=0,v9=0,ft=0,Qe=0,dt=0,St=0,it=0,bt=0,re=0,rt=0,J8=0,D8=0,r8=0,q4=0,Re=0,n8=0,I8=0,_8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,nt=0,H4=0,I3=0,He=0,p8=0,ne=0,H9=0,se=0,D9=0,Ye=0,V8=0,It=0,st=0,ot=0,K8=0,At=0,z8=0,a8=0,$8=0,L8=0,Y4=0,at=0,x8=0,Je=0,B9=0,$t=0,Ve=0,Gt=0,Ht=0,Dt=0,lt=0,_t=0,oe=0,Ut=0,Yt=0,l8=0,R8=0,Lt=0,Z8=0,Me=0,Ie=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Pt=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Ot=0,b7=0,ve=0,D7=0,Rt=0,$7=0,n9=0,Et=0,B8=0,mt=0,Ft=0,jr=0,Cr=0,io=0,qn=0,ro=0,Hn=0,no=0,so=0,Yn=0,oo=0,Xr=0,Ao=0,ao=0,$o=0,Jn=0,lo=0,Vn=0,Kn=0,co=0,en=0,zn=0,tn=0,Zn=0,Wn=0,go=0,ho=0,uo=0,rn=0,jn=0,fo=0,pr=0,nn=0,Io=0,Eo=0,sn=0,ui=0,Xn=0,mo=0,Co=0,es=0,ts=0,is=0,po=0,fi=0,on=0,Bo=0,rs=0,Qo=0,yo=0,wo=0,ns=0,vo=0,ko=0,So=0,bo=0,ss=0,Do=0,_o=0,An=0,Br=0,an=0,Lo=0,er=0,xo=0,os=0,$n=0,As=0,ln=0,Ro=0,as=0,$s=0,Fo=0,ls=0,cs=0,Mo=0,Qr=0,gs=0,di=0,cn=0,yr=0,tr=0,wr=0,Ji=0,vr=0,hs=0,Vi=0,vi=0,ki=0,j7=0,Si=0,kr=0,ir=0,rr=0,Sr=0,Ii=0,To=0,l7=0,rl=0,gn=0,hn=0,Uh=0,nl=0,No=0,Ph=0,ta=0,sl=0,Oh=0,qh=0,Hh=0,ia=0,ol=0,Al=0,ra=0,un=0,al=0,Yh=0,Go=0,nr=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,eu=0,tu=0,$l=0,br=0,iu=0,ru=0,ll=0,nu=0,na=0,Uo=0,sa=0,su=0,ou=0,oa=0,cl=0,gl=0,hl=0,Aa=0,ul=0,Po=0,Au=0,au=0,fl=0,$u=0,lu=0,dl=0,cu=0,gu=0,Il=0,El=0,ml=0,Cl=0,pl=0,fn=0,hu=0,Bl=0,uu=0,Ql=0,yl=0,fu=0,du=0,Iu=0,aa=0,wl=0,vl=0,us=0,kl=0,$a=0,Eu=0,Sl=0,mu=0,bl=0,Cu=0,pu=0,Dl=0,_l=0,Bu=0,Oo=0,Qu=0,la=0,Ll=0,xl=0,yu=0,wu=0,vu=0,ku=0,Su=0,bu=0,qo=0,Rl=0,Fl=0,Ml=0,Ho=0,Du=0,Tl=0,_u=0,Nl=0,Lu=0,xu=0,Gl=0,ca=0,Ru=0,Fu=0,Yo=0,Mu=0,Jo=0,Tu=0,ga=0,Nu=0,Gu=0,Uu=0,Ul=0,Pu=0,Ou=0,qu=0,Hu=0,Pl=0,Ol=0,sr=0,ql=0,Vo=0,ha=0,ua=0,dn=0,Hl=0,In=0,Yu=0,Yl=0,Ju=0,Vu=0,Ku=0,zu=0,Ko=0,fa=0,Dr=0,Zu=0,Wu=0,Jl=0,da=0,Vl=0,Kl=0,ju=0,zl=0,Xu=0,Ia=0,ef=0,tf=0,P9=0,rf=0,Zl=0,nf=0,sf=0,Ea=0,of=0,ma=0,Wl=0,Af=0,af=0,jl=0,Xl=0,$f=0,Ca=0,pa=0,ec=0,tc=0,lf=0,ic=0,Ba=0,cf=0,rc=0,gf=0,hf=0,uf=0,ff=0,nc=0,sc=0,Qa=0,zo=0,oc=0,df=0,Ac=0,ac=0,If=0,Ef=0,mf=0,$c=0,Cf=0,pf=0,Bf=0,Qf=0,yf=0,wf=0,lc=0,vf=0,cc=0,kf=0,En=0,Sf=0,gc=0,bf=0,fs=0,hc=0,ya=0,Df=0,Zo=0,wa=0,_f=0,va=0,uc=0,Lf=0,xf=0,Rf=0,Ff=0,Mf=0,fc=0,Tf=0,Nf=0,Gf=0,Wo=0,ds=0,ka=0,Uf=0,Sa=0,Pf=0,Of=0,qf=0,dc=0,Hf=0,Yf=0,Jf=0,Vf=0,Kf=0,jo=0,zf=0,Zf=0,Ic=0,Wf=0,jf=0,Xf=0,ed=0,Ei=0,Ec=0,mi=0,mc=0,ba=0,td=0,X7=0,Is=0,id=0,rd=0,nd=0,sd=0,od=0,Cc=0,Ad=0,ad=0,pc=0,$d=0,ld=0,Es=0,Da=0,cd=0,Bc=0,gd=0,hd=0,Xo=0,ud=0,fd=0,Qc=0,yc=0,dd=0,Id=0,mn=0,Ed=0,md=0,Cn=0,Cd=0,wc=0,pd=0,Bd=0,ms=0,vc=0,Qd=0,kc=0,yd=0,or=0,_a=0,wd=0,Sc=0,bc=0,vd=0,kd=0,Dc=0,Sd=0,bd=0,Dd=0,_c=0,_d=0,Cs=0,Ld=0,pn=0,xd=0,Rd=0,La=0,Fd=0,xa=0,Ra=0,Md=0,Lc=0,xc=0,Td=0,Rc=0,Fc=0,Mc=0,Nd=0,Tc=0,Nc=0,Gd=0,Ud=0,Gc=0,Uc=0,Pd=0,Pc=0,Oc=0,Od=0,qd=0,qc=0,Fa=0,Hc=0,Yc=0,Jc=0,Vc=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,zd=0,Zd=0,Wd=0,Kc=0,Ma=0,jd=0,Xd=0,eI=0,zc=0,Zc=0,tI=0,Wc=0,Ta=0,eA=0,jc=0,iI=0,rI=0,nI=0,sI=0,Xc=0,tA=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,gI=0,hI=0,eg=0,uI=0,fI=0,dI=0,II=0,iA=0,tg=0,EI=0,mI=0,Bn=0,ig=0,rg=0,Na=0,CI=0,ng=0,pI=0,sg=0,og=0,BI=0,QI=0,yI=0,wI=0,vI=0,rA=0,Ga=0,kI=0,SI=0,bI=0,DI=0,Ag=0,_I=0,ag=0,LI=0,xI=0,$g=0,_r=0,lg=0,cg=0,RI=0,gg=0,nA=0,FI=0,MI=0,TI=0,sA=0,hg=0,NI=0,GI=0,ug=0,UI=0,PI=0,Ua=0,oA=0,OI=0,qI=0,HI=0,fg=0,dg=0,Ig=0,YI=0,JI=0,ps=0,VI=0,Eg=0,KI=0,Pa=0,mg=0,zI=0,ZI=0,WI=0,jI=0,Cg=0,XI=0,eE=0,pg=0,AA=0,tE=0,iE=0,rE=0,Bs=0,Bg=0,Qg=0,nE=0,yg=0,wg=0,bi=0,vg=0,Ar=0,sE=0,oE=0,AE=0,aE=0,Oa=0,aA=0,kg=0,Sg=0,$E=0,$A=0,Qs=0,lE=0,lA=0,qa=0,cE=0,Ha=0,gE=0,hE=0,bg=0,cA=0,Dg=0,uE=0,fE=0,dE=0,IE=0,_g=0,EE=0,jt=0,y4=0,ei=0,mE=0,Lg=0,xg=0,Ya=0,CE=0,Lr=0,ys=0,pE=0,BE=0,Rg=0,Ja=0,QE=0,Fg=0,Mg=0,Tg=0,Va=0,Ka=0,Ng=0,ws=0,za=0,Gg=0,yE=0,Qn=0,wE=0,Ug=0,gA=0,vE=0,Pg=0,Di=0,kE=0,SE=0,bE=0,DE=0,_E=0,LE=0,_i=0,xE=0,RE=0,FE=0,Og=0,Ci=0,hA=0,Za=0,qg=0,Hg=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Vg=0,Kg=0,GE=0,UE=0,zg=0,PE=0,vs=0,uA=0,fA=0,OE=0,Wa=0,qE=0,HE=0,Zg=0,ks=0,YE=0,JE=0,ja=0,Xa=0,dA=0,e$=0,t$=0,ar=0,xr=0,Rr=0,i$=0,r$=0,Ss=0,$r=0,yn=0,VE=0,lr=0,wn=0,KE=0,_7=0,L7=0,x7=0,IA=0,EA=0,Wg=0,jg=0,mA=0,n$=0,R7=0,CA=0,Fr=0,s$=0,zE=0,o$=0,ZE=0,A$=0,Xg=0,pA=0,WE=0,jE=0,BA=0,XE=0,QA=0,vn=0,Ke=0,k4=0,eh=0,em=0,a$=0,th=0,tm=0,im=0,yA=0,rm=0,nm=0,sm=0,om=0,ih=0,Am=0,am=0,$m=0,ti=0,wA=0,kn=0,$$=0,bs=0,Ds=0,Xt=0,_s=0,rh=0,nh=0,vA=0,Ls=0,xs=0,Rs=0,lm=0,Fs=0,cr=0,sh=0,Mr=0,ii=0,l$=0,c$=0,Ki=0,g$=0,h$=0,u$=0,Tr=0,$6=0,kA=0,Nr=0,oh=0,ke=0,f$=0,Q8=0,Ms=0,Sn=0,bn=0,F9=0,Dn=0,Gr=0,J4=0,d$=0;d$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,h4=t+11|0,q4=h4&-8,ve=h2?16:q4,No=ve>>>3,ga=e[138262]|0,Wo=ga>>>No,Yc=Wo&3,pg=(Yc|0)==0,!pg){$2=Wo&1,u3=$2^1,l3=u3+No|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,L6=553088+(w0<<2)|0,b6=e[L6>>2]|0,x6=b6+8|0,D6=e[x6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,ce&&Q2(),B4=D6+12|0,p9=e[B4>>2]|0,N8=(p9|0)==(b6|0),N8){e[B4>>2]=g3,e[L6>>2]=D6;break}else Q2();while(!1);return f8=l3<<3,ft=f8|3,Re=b6+4|0,e[Re>>2]=ft,B0=f8|4,ye=b6+B0|0,H4=e[ye>>2]|0,st=H4|1,e[ye>>2]=st,Ke=x6,Ke|0}if(Je=e[138264]|0,Yt=ve>>>0>Je>>>0,Yt){if(U7=(Wo|0)==0,!U7){O7=Wo<>>12,An=Qo&16,as=Xn>>>An,tr=as>>>5,ir=tr&8,Ph=ir|An,al=as>>>ir,Xh=al>>>2,sa=Xh&4,au=Ph|sa,pl=al>>>sa,wl=pl>>>1,Dl=wl&2,ku=au|Dl,Nl=pl>>>Dl,Nu=Nl>>>1,ql=Nu&1,Ku=ku|ql,ju=Nl>>>ql,Ea=Ku+ju|0,ec=Ea<<1,nc=553088+(ec<<2)|0,U1=ec+2|0,$c=553088+(U1<<2)|0,En=e[$c>>2]|0,va=En+8|0,ds=e[va>>2]|0,Vf=(nc|0)==(ds|0);do if(Vf)Ec=1<>>0>>0,or&&Q2(),_c=ds+12|0,Md=e[_c>>2]|0,Ud=(Md|0)==(En|0),Ud){e[_c>>2]=nc,e[$c>>2]=ds,w=e[138264]|0,oA=w;break}else Q2();while(!1);return Jc=Ea<<3,Ma=Jc-ve|0,iI=ve|3,cI=En+4|0,e[cI>>2]=iI,mI=En+ve|0,QI=Ma|1,j1=ve|4,_I=En+j1|0,e[_I>>2]=QI,FI=En+Jc|0,e[FI>>2]=Ma,Eg=(oA|0)==0,Eg||(AA=e[138267]|0,vg=oA>>>3,$A=vg<<1,Dg=553088+($A<<2)|0,Lg=e[138262]|0,Fg=1<>2]|0,C2=e[138266]|0,o5=i2>>>0>>0,o5?Q2():(G=vs,dA=i2)),e[G>>2]=AA,l5=dA+12|0,e[l5>>2]=AA,G5=AA+8|0,e[G5>>2]=dA,W2=AA+12|0,e[W2>>2]=Dg),e[138264]=Ma,e[138267]=mI,Ke=va,Ke|0}if($5=e[138263]|0,m3=($5|0)==0,m3)k4=ve;else{for(V5=0-$5|0,v3=$5&V5,B3=v3+-1|0,z3=B3>>>12,G3=z3&16,z5=B3>>>G3,w3=z5>>>5,W5=w3&8,i6=W5|G3,x3=z5>>>W5,U3=x3>>>2,a3=U3&4,c3=i6|a3,C3=x3>>>a3,H5=C3>>>1,U5=H5&2,O5=c3|U5,v5=C3>>>U5,P3=v5>>>1,M5=P3&1,o6=O5|M5,e3=v5>>>M5,R3=o6+e3|0,u6=553352+(R3<<2)|0,Q3=e[u6>>2]|0,k3=Q3+4|0,y3=e[k3>>2]|0,r6=y3&-8,j3=r6-ve|0,wA=j3,c$=Q3,f$=Q3;;){if(O3=c$+16|0,K5=e[O3>>2]|0,S3=(K5|0)==0,S3)if(q3=c$+20|0,l6=e[q3>>2]|0,d3=(l6|0)==0,d3){kn=wA,Q8=f$;break}else k6=l6;else k6=K5;v6=k6+4|0,S6=e[v6>>2]|0,p6=S6&-8,X3=p6-ve|0,c6=X3>>>0>>0,q=c6?X3:wA,A2=c6?k6:f$,wA=q,c$=k6,f$=A2}B6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ve|0,b3=Q8>>>0>>0,b3||Q2(),e6=Q8+24|0,t6=e[e6>>2]|0,f6=Q8+12|0,H3=e[f6>>2]|0,D3=(H3|0)==(Q8|0);do if(D3){if(N6=Q8+20|0,n6=e[N6>>2]|0,Q6=(n6|0)==0,Q6)if(K6=Q8+16|0,I6=e[K6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else $r=I6,IA=K6;else $r=n6,IA=N6;for(;;){if(F3=$r+20|0,j6=e[F3>>2]|0,G6=(j6|0)==0,!G6){$r=j6,IA=F3;continue}if(e9=$r+16|0,s9=e[e9>>2]|0,R6=(s9|0)==0,R6){lr=$r,jg=IA;break}else $r=s9,IA=e9}if(U6=jg>>>0>>0,U6)Q2();else{e[jg>>2]=0,_7=lr;break}}else if(Y3=Q8+8|0,Z3=e[Y3>>2]|0,A6=Z3>>>0>>0,A6&&Q2(),t3=Z3+12|0,O6=e[t3>>2]|0,s3=(O6|0)==(Q8|0),s3||Q2(),a6=H3+8|0,d6=e[a6>>2]|0,_3=(d6|0)==(Q8|0),_3){e[t3>>2]=H3,e[a6>>2]=Z3,_7=H3;break}else Q2();while(!1);z6=(t6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,M3=553352+(F6<<2)|0,M6=e[M3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[M3>>2]=_7,WE=(_7|0)==0,WE){A9=1<>>0>>0,$9&&Q2(),T9=t6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_7:(i9=t6+20|0,e[i9>>2]=_7),N9=(_7|0)==0,N9)break;I9=e[138266]|0,E4=_7>>>0>>0,E4&&Q2(),o4=_7+24|0,e[o4>>2]=t6,z9=Q8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(q6=b9>>>0>>0,q6)Q2();else{r9=_7+16|0,e[r9>>2]=b9,m4=b9+24|0,e[m4>>2]=_7;break}while(!1);if(S4=Q8+20|0,A4=e[S4>>2]|0,y9=(A4|0)==0,!y9)if(b4=e[138266]|0,x4=A4>>>0>>0,x4)Q2();else{T4=_7+20|0,e[T4>>2]=A4,X4=A4+24|0,e[X4>>2]=_7;break}}while(!1);return C4=kn>>>0<16,C4?(N4=kn+ve|0,U9=N4|3,G4=Q8+4|0,e[G4>>2]=U9,Z1=N4+4|0,a4=Q8+Z1|0,R4=e[a4>>2]|0,u4=R4|1,e[a4>>2]=u4):(q9=ve|3,m9=Q8+4|0,e[m9>>2]=q9,pe=kn|1,h0=ve|4,Ne=Q8+h0|0,e[Ne>>2]=pe,g0=kn+ve|0,Xe=Q8+g0|0,e[Xe>>2]=kn,U4=e[138264]|0,Ge=(U4|0)==0,Ge||(P4=e[138267]|0,ee=U4>>>3,be=ee<<1,Z9=553088+(be<<2)|0,$e=e[138262]|0,f4=1<>2]|0,le=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(T=$4,Xa=_4)),e[T>>2]=P4,ge=Xa+12|0,e[ge>>2]=P4,p4=P4+8|0,e[p4>>2]=Xa,te=P4+12|0,e[te>>2]=Z9),e[138264]=kn,e[138267]=C6),F4=Q8+8|0,Ke=F4,Ke|0}}else k4=ve}else if(he=t>>>0>4294967231,he)k4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)k4=g6;else{Be=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?vn=0:(De=g6>>>0>16777215,De?vn=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,v4=c4<>>16,w9=J3&4,M4=w9|g4,ie=v4<>>16,gt=Le&2,vt=M4|gt,W8=14-vt|0,ht=ie<>>15,T8=W8+ut|0,G8=T8<<1,U8=T8+7|0,j8=g6>>>U8,X8=j8&1,kt=X8|G8,vn=kt)),P8=553352+(vn<<2)|0,O8=e[P8>>2]|0,q8=(O8|0)==0;e:do if(q8)Ds=Be,g$=0,bn=0,J4=86;else for(k8=(vn|0)==31,S8=vn>>>1,H8=25-S8|0,Y8=k8?0:H8,et=g6<>2]|0,Pe=d8&-8,xe=Pe-g6|0,i8=xe>>>0<$$>>>0,i8)if(b8=(Pe|0)==(g6|0),b8){_s=xe,Tr=Ki,Gr=Ki,J4=90;break e}else bs=xe,Sn=Ki;else bs=$$,Sn=Ms;if(v9=Ki+20|0,Qe=e[v9>>2]|0,dt=vA>>>31,St=(Ki+16|0)+(dt<<2)|0,it=e[St>>2]|0,bt=(Qe|0)==0,re=(Qe|0)==(it|0),rm=bt|re,nh=rm?rh:Qe,rt=(it|0)==0,J8=vA<<1,rt){Ds=bs,g$=nh,bn=Sn,J4=86;break}else $$=bs,rh=nh,vA=J8,Ki=it,Ms=Sn}while(!1);if((J4|0)==86){if(D8=(g$|0)==0,r8=(bn|0)==0,tm=D8&r8,tm){if(n8=2<>>12,fe=m8&16,Oe=o8>>>fe,qe=Oe>>>5,X9=qe&8,Fe=X9|fe,de=Oe>>>X9,A8=de>>>2,we=A8&4,Q4=Fe|we,C8=de>>>we,nt=C8>>>1,I3=nt&2,He=Q4|I3,p8=C8>>>I3,ne=p8>>>1,H9=ne&1,se=He|H9,D9=p8>>>H9,Ye=se+D9|0,V8=553352+(Ye<<2)|0,It=e[V8>>2]|0,h$=It,Dn=0}else h$=g$,Dn=bn;ot=(h$|0)==0,ot?(Xt=Ds,F9=Dn):(_s=Ds,Tr=h$,Gr=Dn,J4=90)}if((J4|0)==90)for(;;){if(J4=0,K8=Tr+4|0,At=e[K8>>2]|0,z8=At&-8,a8=z8-g6|0,$8=a8>>>0<_s>>>0,X=$8?a8:_s,u$=$8?Tr:Gr,L8=Tr+16|0,Y4=e[L8>>2]|0,at=(Y4|0)==0,!at){_s=X,Tr=Y4,Gr=u$,J4=90;continue}if(x8=Tr+20|0,B9=e[x8>>2]|0,$t=(B9|0)==0,$t){Xt=X,F9=u$;break}else _s=X,Tr=B9,Gr=u$,J4=90}if(Ve=(F9|0)==0,Ve)k4=g6;else if(Gt=e[138264]|0,Ht=Gt-g6|0,Dt=Xt>>>0>>0,Dt){lt=e[138266]|0,_t=F9>>>0>>0,_t&&Q2(),oe=F9+g6|0,Ut=F9>>>0>>0,Ut||Q2(),l8=F9+24|0,R8=e[l8>>2]|0,Lt=F9+12|0,Z8=e[Lt>>2]|0,Me=(Z8|0)==(F9|0);do if(Me){if(Vt=F9+20|0,E7=e[Vt>>2]|0,Kt=(E7|0)==0,Kt)if(m7=F9+16|0,n7=e[m7>>2]|0,$i=(n7|0)==0,$i){x7=0;break}else wn=n7,mA=m7;else wn=E7,mA=Vt;for(;;){if(C7=wn+20|0,p7=e[C7>>2]|0,li=(p7|0)==0,!li){wn=p7,mA=C7;continue}if(B7=wn+16|0,s7=e[B7>>2]|0,ci=(s7|0)==0,ci){KE=wn,n$=mA;break}else wn=s7,mA=B7}if(q7=n$>>>0>>0,q7)Q2();else{e[n$>>2]=0,x7=KE;break}}else if(Ie=F9+8|0,e4=e[Ie>>2]|0,xt=e4>>>0>>0,xt&&Q2(),r7=e4+12|0,G7=e[r7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=Z8+8|0,Jt=e[d7>>2]|0,I7=(Jt|0)==(F9|0),I7){e[r7>>2]=Z8,e[d7>>2]=e4,x7=Z8;break}else Q2();while(!1);H7=(R8|0)==0;do if(!H7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,V7=e[Q7>>2]|0,zt=(F9|0)==(V7|0),zt){if(e[Q7>>2]=x7,BA=(x7|0)==0,BA){A7=1<>>0>>0,hi&&Q2(),y7=R8+16|0,w7=e[y7>>2]|0,v7=(w7|0)==(F9|0),v7?e[y7>>2]=x7:(Z7=R8+20|0,e[Z7>>2]=x7),k7=(x7|0)==0,k7)break;Wt=e[138266]|0,S7=x7>>>0>>0,S7&&Q2(),W7=x7+24|0,e[W7>>2]=R8,a7=F9+16|0,Ot=e[a7>>2]|0,b7=(Ot|0)==0;do if(!b7)if(Rt=Ot>>>0>>0,Rt)Q2();else{$7=x7+16|0,e[$7>>2]=Ot,n9=Ot+24|0,e[n9>>2]=x7;break}while(!1);if(Et=F9+20|0,B8=e[Et>>2]|0,mt=(B8|0)==0,!mt)if(Ft=e[138266]|0,jr=B8>>>0>>0,jr)Q2();else{Cr=x7+20|0,e[Cr>>2]=B8,io=B8+24|0,e[io>>2]=x7;break}}while(!1);ro=Xt>>>0<16;e:do if(ro)Hn=Xt+g6|0,no=Hn|3,so=F9+4|0,e[so>>2]=no,c1=Hn+4|0,Yn=F9+c1|0,oo=e[Yn>>2]|0,Xr=oo|1,e[Yn>>2]=Xr;else{if(Ao=g6|3,ao=F9+4|0,e[ao>>2]=Ao,$o=Xt|1,n0=g6|4,lo=F9+n0|0,e[lo>>2]=$o,I0=Xt+g6|0,Vn=F9+I0|0,e[Vn>>2]=Xt,Kn=Xt>>>3,co=Xt>>>0<256,co){en=Kn<<1,zn=553088+(en<<2)|0,tn=e[138262]|0,Zn=1<>2]|0,fo=e[138266]|0,pr=jn>>>0>>0,pr?Q2():(M=rn,t$=jn)),e[M>>2]=oe,nn=t$+12|0,e[nn>>2]=oe,q0=g6+8|0,Io=F9+q0|0,e[Io>>2]=t$,H0=g6+12|0,Eo=F9+H0|0,e[Eo>>2]=zn;break}if(sn=Xt>>>8,ui=(sn|0)==0,ui?xr=0:(mo=Xt>>>0>16777215,mo?xr=31:(Co=sn+1048320|0,es=Co>>>16,ts=es&8,is=sn<>>16,on=fi&4,Bo=on|ts,rs=is<>>16,ns=wo&2,vo=Bo|ns,ko=14-vo|0,So=rs<>>15,ss=ko+bo|0,Do=ss<<1,_o=ss+7|0,Br=Xt>>>_o,an=Br&1,Lo=an|Do,xr=Lo)),er=553352+(xr<<2)|0,g1=g6+28|0,xo=F9+g1|0,e[xo>>2]=xr,x1=g6+16|0,os=F9+x1|0,_1=g6+20|0,$n=F9+_1|0,e[$n>>2]=0,e[os>>2]=0,As=e[138263]|0,ln=1<>2]=oe,H1=g6+24|0,ls=F9+H1|0,e[ls>>2]=er,n2=g6+12|0,cs=F9+n2|0,e[cs>>2]=oe,P1=g6+8|0,Mo=F9+P1|0,e[Mo>>2]=oe;break}Qr=e[er>>2]|0,gs=Qr+4|0,di=e[gs>>2]|0,cn=di&-8,yr=(cn|0)==(Xt|0);t:do if(yr)R7=Qr;else{for(wr=(xr|0)==31,Ji=xr>>>1,vr=25-Ji|0,hs=wr?0:vr,Vi=Xt<>>31,Ii=(s$+16|0)+(Sr<<2)|0,j7=e[Ii>>2]|0,To=(j7|0)==0,To){v=Ii,zE=s$;break}if(vi=i$<<1,ki=j7+4|0,Si=e[ki>>2]|0,kr=Si&-8,rr=(kr|0)==(Xt|0),rr){R7=j7;break t}else i$=vi,s$=j7}if(l7=e[138266]|0,rl=v>>>0>>0,rl)Q2();else{e[v>>2]=oe,d0=g6+24|0,gn=F9+d0|0,e[gn>>2]=zE,P0=g6+12|0,hn=F9+P0|0,e[hn>>2]=oe,O0=g6+8|0,Uh=F9+O0|0,e[Uh>>2]=oe;break e}}while(!1);if(nl=R7+8|0,ta=e[nl>>2]|0,sl=e[138266]|0,Oh=ta>>>0>=sl>>>0,eh=R7>>>0>=sl>>>0,qh=Oh&eh,qh){Hh=ta+12|0,e[Hh>>2]=oe,e[nl>>2]=oe,c2=g6+8|0,ia=F9+c2|0,e[ia>>2]=ta,u2=g6+12|0,ol=F9+u2|0,e[ol>>2]=R7,C0=g6+24|0,Al=F9+C0|0,e[Al>>2]=0;break}else Q2()}while(!1);return ra=F9+8|0,Ke=ra,Ke|0}else k4=g6}while(!1);if(un=e[138264]|0,Yh=un>>>0>>0,!Yh)return Go=un-k4|0,nr=e[138267]|0,Jh=Go>>>0>15,Jh?(Vh=nr+k4|0,e[138267]=Vh,e[138264]=Go,Kh=Go|1,u1=k4+4|0,zh=nr+u1|0,e[zh>>2]=Kh,Zh=nr+un|0,e[Zh>>2]=Go,Wh=k4|3,jh=nr+4|0,e[jh>>2]=Wh):(e[138264]=0,e[138267]=0,eu=un|3,tu=nr+4|0,e[tu>>2]=eu,o0=un+4|0,$l=nr+o0|0,br=e[$l>>2]|0,iu=br|1,e[$l>>2]=iu),ru=nr+8|0,Ke=ru,Ke|0;if(ll=e[138265]|0,nu=ll>>>0>k4>>>0,nu)return na=ll-k4|0,e[138265]=na,Uo=e[138268]|0,su=Uo+k4|0,e[138268]=su,ou=na|1,U=k4+4|0,oa=Uo+U|0,e[oa>>2]=ou,cl=k4|3,gl=Uo+4|0,e[gl>>2]=cl,hl=Uo+8|0,Ke=hl,Ke|0;Aa=e[138380]|0,ul=(Aa|0)==0;do if(ul)if(Po=Nk(30)|0,Au=Po+-1|0,fl=Au&Po,$u=(fl|0)==0,$u){e[138382]=Po,e[138381]=Po,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,lu=eQ(0)|0,dl=lu&-16,cu=dl^1431655768,e[138380]=cu;break}else Q2();while(!1);if(gu=k4+48|0,Il=e[138382]|0,El=k4+47|0,ml=Il+El|0,Cl=0-Il|0,fn=ml&Cl,hu=fn>>>0>k4>>>0,!hu||(Bl=e[138372]|0,uu=(Bl|0)==0,!uu&&(Ql=e[138370]|0,yl=Ql+fn|0,fu=yl>>>0<=Ql>>>0,du=yl>>>0>Bl>>>0,yA=fu|du,yA)))return Ke=0,Ke|0;Iu=e[138373]|0,aa=Iu&4,vl=(aa|0)==0;e:do if(vl){us=e[138268]|0,kl=(us|0)==0;t:do if(kl)J4=174;else{for(Ls=553496;;){if($a=e[Ls>>2]|0,Eu=$a>>>0>us>>>0,!Eu&&(Sl=Ls+4|0,mu=e[Sl>>2]|0,bl=$a+mu|0,Cu=bl>>>0>us>>>0,Cu)){S=Ls,b=Sl;break}if(pu=Ls+8|0,_l=e[pu>>2]|0,Bu=(_l|0)==0,Bu){J4=174;break t}else Ls=_l}if(Ru=e[138265]|0,Fu=ml-Ru|0,Yo=Fu&Cl,Mu=Yo>>>0<2147483647,Mu)if(Jo=N7(Yo|0)|0,Tu=e[S>>2]|0,Gu=e[b>>2]|0,Uu=Tu+Gu|0,Ul=(Jo|0)==(Uu|0),n=Ul?Yo:0,Ul)if(Pu=(Jo|0)==-1,Pu)Nr=n;else{$6=Jo,ke=n,J4=194;break e}else pA=Jo,ii=Yo,kA=n,J4=184;else Nr=0}while(!1);do if((J4|0)==174)if(Oo=N7(0)|0,Qu=(Oo|0)==-1,Qu)Nr=0;else if(la=Oo,Ll=e[138381]|0,xl=Ll+-1|0,yu=xl&la,wu=(yu|0)==0,wu?Mr=fn:(vu=xl+la|0,Su=0-Ll|0,bu=vu&Su,qo=fn-la|0,Rl=qo+bu|0,Mr=Rl),Fl=e[138370]|0,Ml=Fl+Mr|0,Ho=Mr>>>0>k4>>>0,Du=Mr>>>0<2147483647,im=Ho&Du,im){if(Tl=e[138372]|0,_u=(Tl|0)==0,!_u&&(Lu=Ml>>>0<=Fl>>>0,xu=Ml>>>0>Tl>>>0,nm=Lu|xu,nm)){Nr=0;break}if(Gl=N7(Mr|0)|0,ca=(Gl|0)==(Oo|0),sh=ca?Mr:0,ca){$6=Oo,ke=sh,J4=194;break e}else pA=Gl,ii=Mr,kA=sh,J4=184}else Nr=0;while(!1);t:do if((J4|0)==184){Ou=0-ii|0,qu=(pA|0)!=-1,Hu=ii>>>0<2147483647,om=Hu&qu,Pl=gu>>>0>ii>>>0,Am=Pl&om;do if(Am)if(Ol=e[138382]|0,sr=El-ii|0,Vo=sr+Ol|0,ha=0-Ol|0,ua=Vo&ha,dn=ua>>>0<2147483647,dn)if(Hl=N7(ua|0)|0,In=(Hl|0)==-1,In){N7(Ou|0)|0,Nr=kA;break t}else{Yu=ua+ii|0,l$=Yu;break}else l$=ii;else l$=ii;while(!1);if(Yl=(pA|0)==-1,Yl)Nr=kA;else{$6=pA,ke=l$,J4=194;break e}}while(!1);Ju=e[138373]|0,Vu=Ju|4,e[138373]=Vu,oh=Nr,J4=191}else oh=0,J4=191;while(!1);if((J4|0)==191&&(zu=fn>>>0<2147483647,zu&&(Ko=N7(fn|0)|0,fa=N7(0)|0,Dr=(Ko|0)!=-1,Zu=(fa|0)!=-1,sm=Dr&Zu,Wu=Ko>>>0>>0,am=Wu&sm,am&&(Jl=fa,da=Ko,Vl=Jl-da|0,Kl=k4+40|0,zl=Vl>>>0>Kl>>>0,E2=zl?Vl:oh,zl&&($6=Ko,ke=E2,J4=194)))),(J4|0)==194){Xu=e[138370]|0,Ia=Xu+ke|0,e[138370]=Ia,ef=e[138371]|0,tf=Ia>>>0>ef>>>0,tf&&(e[138371]=Ia),P9=e[138268]|0,rf=(P9|0)==0;e:do if(rf){for(Zl=e[138266]|0,nf=(Zl|0)==0,sf=$6>>>0>>0,$m=nf|sf,$m&&(e[138266]=$6),e[138374]=$6,e[138375]=ke,e[138377]=0,of=e[138380]|0,e[138271]=of,e[138270]=-1,QA=0;ma=QA<<1,Wl=553088+(ma<<2)|0,l0=ma+3|0,Af=553088+(l0<<2)|0,e[Af>>2]=Wl,j=ma+2|0,af=553088+(j<<2)|0,e[af>>2]=Wl,jl=QA+1|0,XE=(jl|0)==32,!XE;)QA=jl;Xl=ke+-40|0,$f=$6+8|0,Ca=$f,pa=Ca&7,tc=(pa|0)==0,lf=0-Ca|0,ic=lf&7,Ba=tc?0:ic,cf=$6+Ba|0,rc=Xl-Ba|0,e[138268]=cf,e[138265]=rc,gf=rc|1,K=Ba+4|0,hf=$6+K|0,e[hf>>2]=gf,l1=ke+-36|0,uf=$6+l1|0,e[uf>>2]=40,ff=e[138384]|0,e[138269]=ff}else{for(Rs=553496;;){if(sc=e[Rs>>2]|0,Qa=Rs+4|0,zo=e[Qa>>2]|0,oc=sc+zo|0,df=($6|0)==(oc|0),df){m=sc,B=Qa,p=zo,lm=Rs,J4=204;break}if(Ac=Rs+8|0,ac=e[Ac>>2]|0,If=(ac|0)==0,If)break;Rs=ac}if((J4|0)==204&&(Ef=lm+12|0,mf=e[Ef>>2]|0,Cf=mf&8,pf=(Cf|0)==0,pf&&(Bf=P9>>>0>=m>>>0,Qf=P9>>>0<$6>>>0,ih=Qf&Bf,ih))){yf=p+ke|0,e[B>>2]=yf,wf=e[138265]|0,lc=wf+ke|0,vf=P9+8|0,cc=vf,kf=cc&7,Sf=(kf|0)==0,gc=0-cc|0,bf=gc&7,fs=Sf?0:bf,hc=P9+fs|0,ya=lc-fs|0,e[138268]=hc,e[138265]=ya,Df=ya|1,s0=fs+4|0,Zo=P9+s0|0,e[Zo>>2]=Df,n1=lc+4|0,wa=P9+n1|0,e[wa>>2]=40,_f=e[138384]|0,e[138269]=_f;break}for(uc=e[138266]|0,Lf=$6>>>0>>0,Lf?(e[138266]=$6,ms=$6):ms=uc,xf=$6+ke|0,Fs=553496;;){if(Rf=e[Fs>>2]|0,Ff=(Rf|0)==(xf|0),Ff){I=Fs,cr=Fs,J4=212;break}if(Mf=Fs+8|0,fc=e[Mf>>2]|0,Tf=(fc|0)==0,Tf){xs=553496;break}else Fs=fc}if((J4|0)==212)if(Nf=cr+12|0,Gf=e[Nf>>2]|0,ka=Gf&8,Uf=(ka|0)==0,Uf){e[I>>2]=$6,Sa=cr+4|0,Pf=e[Sa>>2]|0,Of=Pf+ke|0,e[Sa>>2]=Of,qf=$6+8|0,dc=qf,Hf=dc&7,Yf=(Hf|0)==0,Jf=0-dc|0,Kf=Jf&7,jo=Yf?0:Kf,zf=$6+jo|0,E0=ke+8|0,Zf=$6+E0|0,Ic=Zf,Wf=Ic&7,jf=(Wf|0)==0,Xf=0-Ic|0,ed=Xf&7,Ei=jf?0:ed,b0=Ei+ke|0,mi=$6+b0|0,mc=mi,ba=zf,td=mc-ba|0,r0=jo+k4|0,X7=$6+r0|0,Is=td-k4|0,id=k4|3,u0=jo+4|0,rd=$6+u0|0,e[rd>>2]=id,nd=(mi|0)==(P9|0);t:do if(nd)sd=e[138265]|0,Cc=sd+Is|0,e[138265]=Cc,e[138268]=X7,Ad=Cc|1,q1=r0+4|0,ad=$6+q1|0,e[ad>>2]=Ad;else{if(pc=e[138267]|0,$d=(mi|0)==(pc|0),$d){ld=e[138264]|0,Es=ld+Is|0,e[138264]=Es,e[138267]=X7,Da=Es|1,V1=r0+4|0,cd=$6+V1|0,e[cd>>2]=Da,O1=Es+r0|0,Bc=$6+O1|0,e[Bc>>2]=Es;break}if(o1=ke+4|0,K0=o1+Ei|0,hd=$6+K0|0,Xo=e[hd>>2]|0,ud=Xo&3,fd=(ud|0)==1,fd){Qc=Xo&-8,yc=Xo>>>3,dd=Xo>>>0<256;i:do if(dd){G1=Ei|8,V0=G1+ke|0,Id=$6+V0|0,mn=e[Id>>2]|0,v1=ke+12|0,J0=v1+Ei|0,Ed=$6+J0|0,Cn=e[Ed>>2]|0,Cd=yc<<1,wc=553088+(Cd<<2)|0,pd=(mn|0)==(wc|0);do if(!pd){if(Bd=mn>>>0>>0,Bd&&Q2(),vc=mn+12|0,Qd=e[vc>>2]|0,kc=(Qd|0)==(mi|0),kc)break;Q2()}while(!1);if(yd=(Cn|0)==(mn|0),yd){_a=1<>>0>>0,kd&&Q2(),Dc=Cn+8|0,Sd=e[Dc>>2]|0,bd=(Sd|0)==(mi|0),bd){N=Dc;break}Q2()}while(!1);Dd=mn+12|0,e[Dd>>2]=Cn,e[N>>2]=mn}else{R1=Ei|24,L0=R1+ke|0,_d=$6+L0|0,Cs=e[_d>>2]|0,Y1=ke+12|0,Q0=Y1+Ei|0,Ld=$6+Q0|0,pn=e[Ld>>2]|0,xd=(pn|0)==(mi|0);do if(xd){if(W1=Ei|16,_0=o1+W1|0,Fc=$6+_0|0,Mc=e[Fc>>2]|0,Nd=(Mc|0)==0,Nd)if(N0=W1+ke|0,Tc=$6+N0|0,Nc=e[Tc>>2]|0,Gd=(Nc|0)==0,Gd){L7=0;break}else yn=Nc,EA=Tc;else yn=Mc,EA=Fc;for(;;){if(Gc=yn+20|0,Uc=e[Gc>>2]|0,Pd=(Uc|0)==0,!Pd){yn=Uc,EA=Gc;continue}if(Pc=yn+16|0,Oc=e[Pc>>2]|0,Od=(Oc|0)==0,Od){VE=yn,Wg=EA;break}else yn=Oc,EA=Pc}if(qd=Wg>>>0>>0,qd)Q2();else{e[Wg>>2]=0,L7=VE;break}}else if(F1=Ei|8,M0=F1+ke|0,Rd=$6+M0|0,La=e[Rd>>2]|0,Fd=La>>>0>>0,Fd&&Q2(),xa=La+12|0,Ra=e[xa>>2]|0,Lc=(Ra|0)==(mi|0),Lc||Q2(),xc=pn+8|0,Td=e[xc>>2]|0,Rc=(Td|0)==(mi|0),Rc){e[xa>>2]=pn,e[xc>>2]=La,L7=pn;break}else Q2();while(!1);if(qc=(Cs|0)==0,qc)break;w1=ke+28|0,T0=w1+Ei|0,Fa=$6+T0|0,Hc=e[Fa>>2]|0,Vc=553352+(Hc<<2)|0,Hd=e[Vc>>2]|0,Yd=(mi|0)==(Hd|0);do if(Yd){if(e[Vc>>2]=L7,jE=(L7|0)==0,!jE)break;Jd=1<>>0>>0,Wd&&Q2(),Kc=Cs+16|0,jd=e[Kc>>2]|0,Xd=(jd|0)==(mi|0),Xd?e[Kc>>2]=L7:(eI=Cs+20|0,e[eI>>2]=L7),zc=(L7|0)==0,zc)break i;while(!1);Zc=e[138266]|0,tI=L7>>>0>>0,tI&&Q2(),Wc=L7+24|0,e[Wc>>2]=Cs,b1=Ei|16,G0=b1+ke|0,Ta=$6+G0|0,eA=e[Ta>>2]|0,jc=(eA|0)==0;do if(!jc)if(rI=eA>>>0>>0,rI)Q2();else{nI=L7+16|0,e[nI>>2]=eA,sI=eA+24|0,e[sI>>2]=L7;break}while(!1);if(Y0=o1+b1|0,Xc=$6+Y0|0,tA=e[Xc>>2]|0,oI=(tA|0)==0,oI)break;if(AI=e[138266]|0,aI=tA>>>0>>0,aI)Q2();else{$I=L7+20|0,e[$I>>2]=tA,lI=tA+24|0,e[lI>>2]=L7;break}}while(!1);o2=Qc|Ei,F0=o2+ke|0,gI=$6+F0|0,hI=Qc+Is|0,th=gI,ti=hI}else th=mi,ti=Is;if(eg=th+4|0,uI=e[eg>>2]|0,fI=uI&-2,e[eg>>2]=fI,dI=ti|1,v0=r0+4|0,II=$6+v0|0,e[II>>2]=dI,p0=ti+r0|0,iA=$6+p0|0,e[iA>>2]=ti,tg=ti>>>3,EI=ti>>>0<256,EI){Bn=tg<<1,ig=553088+(Bn<<2)|0,rg=e[138262]|0,Na=1<>2]|0,BI=e[138266]|0,yI=og>>>0>>0,!yI){F=sg,e$=og;break}Q2()}while(!1);e[F>>2]=X7,wI=e$+12|0,e[wI>>2]=X7,p1=r0+8|0,vI=$6+p1|0,e[vI>>2]=e$,B1=r0+12|0,rA=$6+B1|0,e[rA>>2]=ig;break}Ga=ti>>>8,kI=(Ga|0)==0;do if(kI)Rr=0;else{if(SI=ti>>>0>16777215,SI){Rr=31;break}bI=Ga+1048320|0,DI=bI>>>16,Ag=DI&8,ag=Ga<>>16,$g=xI&4,_r=$g|Ag,lg=ag<<$g,cg=lg+245760|0,RI=cg>>>16,gg=RI&2,nA=_r|gg,MI=14-nA|0,TI=lg<>>15,hg=MI+sA|0,NI=hg<<1,GI=hg+7|0,ug=ti>>>GI,UI=ug&1,PI=UI|NI,Rr=PI}while(!1);if(Ua=553352+(Rr<<2)|0,y0=r0+28|0,OI=$6+y0|0,e[OI>>2]=Rr,z0=r0+16|0,qI=$6+z0|0,U0=r0+20|0,HI=$6+U0|0,e[HI>>2]=0,e[qI>>2]=0,fg=e[138263]|0,dg=1<>2]=X7,r1=r0+24|0,ps=$6+r1|0,e[ps>>2]=Ua,e1=r0+12|0,VI=$6+e1|0,e[VI>>2]=X7,i1=r0+8|0,KI=$6+i1|0,e[KI>>2]=X7;break}Pa=e[Ua>>2]|0,mg=Pa+4|0,zI=e[mg>>2]|0,ZI=zI&-8,WI=(ZI|0)==(ti|0);i:do if(WI)Fr=Pa;else{for(jI=(Rr|0)==31,Cg=Rr>>>1,XI=25-Cg|0,eE=jI?0:XI,tE=ti<>>31,wg=(o$+16|0)+(yg<<2)|0,Bs=e[wg>>2]|0,bi=(Bs|0)==0,bi){A=wg,ZE=o$;break}if(iE=Ss<<1,rE=Bs+4|0,Bg=e[rE>>2]|0,Qg=Bg&-8,nE=(Qg|0)==(ti|0),nE){Fr=Bs;break i}else Ss=iE,o$=Bs}if(Ar=e[138266]|0,sE=A>>>0>>0,sE)Q2();else{e[A>>2]=X7,m1=r0+24|0,oE=$6+m1|0,e[oE>>2]=ZE,d1=r0+12|0,AE=$6+d1|0,e[AE>>2]=X7,E1=r0+8|0,aE=$6+E1|0,e[aE>>2]=X7;break t}}while(!1);if(Oa=Fr+8|0,aA=e[Oa>>2]|0,kg=e[138266]|0,Sg=aA>>>0>=kg>>>0,a$=Fr>>>0>=kg>>>0,$E=Sg&a$,$E){Qs=aA+12|0,e[Qs>>2]=X7,e[Oa>>2]=X7,Z0=r0+8|0,lE=$6+Z0|0,e[lE>>2]=aA,I1=r0+12|0,lA=$6+I1|0,e[lA>>2]=Fr,h1=r0+24|0,qa=$6+h1|0,e[qa>>2]=0;break}else Q2()}while(!1);return $1=jo|8,cE=$6+$1|0,Ke=cE,Ke|0}else xs=553496;for(;;){if(Ha=e[xs>>2]|0,gE=Ha>>>0>P9>>>0,!gE&&(hE=xs+4|0,bg=e[hE>>2]|0,cA=Ha+bg|0,uE=cA>>>0>P9>>>0,uE)){g=Ha,f=bg,E=cA;break}fE=xs+8|0,dE=e[fE>>2]|0,xs=dE}if($0=f+-47|0,c0=f+-39|0,IE=g+c0|0,_g=IE,EE=_g&7,jt=(EE|0)==0,y4=0-_g|0,ei=y4&7,mE=jt?0:ei,a1=$0+mE|0,xg=g+a1|0,Ya=P9+16|0,CE=xg>>>0>>0,Lr=CE?P9:xg,ys=Lr+8|0,pE=ke+-40|0,BE=$6+8|0,Rg=BE,Ja=Rg&7,QE=(Ja|0)==0,Mg=0-Rg|0,Tg=Mg&7,Va=QE?0:Tg,Ka=$6+Va|0,Ng=pE-Va|0,e[138268]=Ka,e[138265]=Ng,ws=Ng|1,Z=Va+4|0,za=$6+Z|0,e[za>>2]=ws,s1=ke+-36|0,Gg=$6+s1|0,e[Gg>>2]=40,yE=e[138384]|0,e[138269]=yE,Qn=Lr+4|0,e[Qn>>2]=27,e[ys>>2]=e[138374]|0,e[ys+4>>2]=e[138375]|0,e[ys+8>>2]=e[138376]|0,e[ys+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ke,e[138377]=0,e[138376]=ys,Ug=Lr+28|0,e[Ug>>2]=7,gA=Lr+32|0,vE=gA>>>0>>0,vE)for(Di=Ug;Pg=Di+4|0,e[Pg>>2]=7,kE=Di+8|0,SE=kE>>>0>>0,SE;)Di=Pg;if(bE=(Lr|0)==(P9|0),!bE){if(DE=Lr,_E=P9,_i=DE-_E|0,xE=e[Qn>>2]|0,RE=xE&-2,e[Qn>>2]=RE,FE=_i|1,Og=P9+4|0,e[Og>>2]=FE,e[Lr>>2]=_i,Ci=_i>>>3,hA=_i>>>0<256,hA){Za=Ci<<1,qg=553088+(Za<<2)|0,Hg=e[138262]|0,Yg=1<>2]|0,GE=e[138266]|0,UE=Kg>>>0>>0,UE?Q2():(L=Vg,ja=Kg)),e[L>>2]=P9,zg=ja+12|0,e[zg>>2]=P9,PE=P9+8|0,e[PE>>2]=ja,uA=P9+12|0,e[uA>>2]=qg;break}if(fA=_i>>>8,OE=(fA|0)==0,OE?ar=0:(Wa=_i>>>0>16777215,Wa?ar=31:(qE=fA+1048320|0,HE=qE>>>16,Zg=HE&8,ks=fA<>>16,l2=JE&4,r2=l2|Zg,a2=ks<>>16,f2=s2&2,t2=r2|f2,y2=14-t2|0,k2=a2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=_i>>>N2,K2=d2&1,G2=K2|D2,ar=G2)),H2=553352+(ar<<2)|0,M2=P9+28|0,e[M2>>2]=ar,P2=P9+20|0,e[P2>>2]=0,e[Ya>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=H2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}f5=e[H2>>2]|0,k5=f5+4|0,P5=e[k5>>2]|0,v2=P5&-8,m5=(v2|0)==(_i|0);t:do if(m5)CA=f5;else{for(n5=(ar|0)==31,L2=ar>>>1,_2=25-L2|0,p2=n5?0:_2,C5=_i<>>31,c5=(A$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,p5=(D5|0)==0,p5){a=c5,Xg=A$;break}if(R5=r$<<1,d5=D5+4|0,_5=e[d5>>2]|0,q2=_5&-8,I5=(q2|0)==(_i|0),I5){CA=D5;break t}else r$=R5,A$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Xg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(B5=CA+8|0,t5=e[B5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,em=CA>>>0>=s5>>>0,J2=h5&em,J2){u5=t5+12|0,e[u5>>2]=P9,e[B5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,L5=P9+12|0,e[L5>>2]=CA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(x2=e[138265]|0,Q5=x2>>>0>k4>>>0,Q5)return q5=x2-k4|0,e[138265]=q5,j5=e[138268]|0,E5=j5+k4|0,e[138268]=E5,f3=q5|1,V=k4+4|0,h3=j5+V|0,e[h3>>2]=f3,J5=k4|3,X5=j5+4|0,e[X5>>2]=J5,n3=j5+8|0,Ke=n3,Ke|0}return F5=XB()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,A=0,a=0,g=0,f=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,w=0,D=0,y=0,_=0,x=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,r0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,L0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,L1=0,x1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,x5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,L2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,L5=0,j2=0,$5=0,x2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,x3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,L6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,x6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,T4=0,X4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,ee=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,p4=0,te=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,M4=0,ie=0,ct=0,Le=0;if(Le=C,X=(t|0)==0,!X){U=t+-8|0,K2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,x4=(z9|0)==1,x4&&Q2(),q9=$9&-8,B=q9+-8|0,Z9=t+B|0,l0=$9&1,j=(l0|0)==0;do if(j){if(b0=e[U>>2]|0,_0=(z9|0)==0,_0)return;if(y=-8-b0|0,D0=t+y|0,Z0=b0+q9|0,w1=D0>>>0>>0,w1&&Q2(),O1=e[138267]|0,o2=(D0|0)==(O1|0),o2){if(z=q9+-4|0,s0=t+z|0,r0=e[s0>>2]|0,n0=r0&3,V=(n0|0)==3,!V){J3=D0,w9=Z0;break}e[138264]=Z0,h0=r0&-2,e[s0>>2]=h0,o0=Z0|1,_=y+4|0,g0=t+_|0,e[g0>>2]=o0,e[Z9>>2]=Z0;return}if(s2=b0>>>3,G2=b0>>>0<256,G2){if(Y=y+8|0,b5=t+Y|0,p2=e[b5>>2]|0,t0=y+12|0,p5=t+t0|0,J2=e[p5>>2]|0,f3=s2<<1,z3=553088+(f3<<2)|0,C3=(p2|0)==(z3|0),C3||(u6=p2>>>0>>0,u6&&Q2(),l6=p2+12|0,b3=e[l6>>2]|0,O6=(b3|0)==(D0|0),O6||Q2()),J6=(J2|0)==(p2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,M3=(F6|0)==(D0|0),M3?g=z6:Q2()),M6=p2+12|0,e[M6>>2]=J2,e[g>>2]=p2,J3=D0,w9=Z0;break}x=y+24|0,t9=t+x|0,A9=e[t9>>2]|0,L=y+12|0,X6=t+L|0,u9=e[X6>>2]|0,f9=(u9|0)==(D0|0);do if(f9){if(M=y+20|0,o4=t+M|0,h4=e[o4>>2]|0,G9=(h4|0)==0,G9)if(F=y+16|0,b9=t+F|0,E9=e[b9>>2]|0,q6=(E9|0)==0,q6){C9=0;break}else F4=E9,Be=b9;else F4=h4,Be=o4;for(;;){if(r9=F4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){F4=m4,Be=r9;continue}if(A4=F4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){he=F4,B4=Be;break}else F4=y9,Be=A4}if(D4=B4>>>0>>0,D4)Q2();else{e[B4>>2]=0,C9=he;break}}else if(O=y+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(D0|0),i9||Q2(),N9=u9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(D0|0),E4){e[E6>>2]=u9,e[N9>>2]=a9,C9=u9;break}else Q2();while(!1);if(T4=(A9|0)==0,T4)J3=D0,w9=Z0;else{if(T=y+28|0,X4=t+T|0,C4=e[X4>>2]|0,N4=553352+(C4<<2)|0,U9=e[N4>>2]|0,G4=(D0|0)==(U9|0),G4){if(e[N4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,pe&&Q2(),Ne=A9+16|0,Xe=e[Ne>>2]|0,U4=(Xe|0)==(D0|0),U4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),P4=(C9|0)==0,P4){J3=D0,w9=Z0;break}ee=e[138266]|0,be=C9>>>0>>0,be&&Q2(),e8=C9+24|0,e[e8>>2]=A9,N=y+16|0,$e=t+N|0,f4=e[$e>>2]|0,_6=(f4|0)==0;do if(!_6)if(O4=f4>>>0>>0,O4)Q2();else{R9=C9+16|0,e[R9>>2]=f4,$4=f4+24|0,e[$4>>2]=C9;break}while(!1);if(G=y+20|0,_4=t+G|0,le=e[_4>>2]|0,W9=(le|0)==0,W9)J3=D0,w9=Z0;else if(ce=e[138266]|0,Z=le>>>0>>0,Z)Q2();else{K=C9+20|0,e[K>>2]=le,$0=le+24|0,e[$0>>2]=C9,J3=D0,w9=Z0;break}}}else J3=U,w9=q9;while(!1);if(c0=J3>>>0>>0,c0||Q2(),D=q9+-4|0,u0=t+D|0,I0=e[u0>>2]|0,w0=I0&1,C0=(w0|0)==0,C0&&Q2(),v0=I0&2,d0=(v0|0)==0,d0){if(p0=e[138268]|0,B0=(Z9|0)==(p0|0),B0){if(E0=e[138265]|0,K0=E0+w9|0,e[138265]=K0,e[138268]=J3,L0=K0|1,Q0=J3+4|0,e[Q0>>2]=L0,M0=e[138267]|0,T0=(J3|0)==(M0|0),!T0)return;e[138267]=0,e[138264]=0;return}if(G0=e[138267]|0,P0=(Z9|0)==(G0|0),P0){y0=e[138264]|0,Y0=y0+w9|0,e[138264]=Y0,e[138267]=J3,F0=Y0|1,N0=J3+4|0,e[N0>>2]=F0,V0=J3+Y0|0,e[V0>>2]=Y0;return}J0=I0&-8,O0=J0+w9|0,z0=I0>>>3,U0=I0>>>0<256;do if(U0){if(q0=t+q9|0,r1=e[q0>>2]|0,w=q9|4,H0=t+w|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(u1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){o1=1<>>0>>0,p1&&Q2(),B1=e1+8|0,Q1=e[B1>>2]|0,L1=(Q1|0)==(Z9|0),L1?a=B1:Q2()),x1=r1+12|0,e[x1>>2]=e1,e[a>>2]=r1}else{J=q9+16|0,b1=t+J|0,R1=e[b1>>2]|0,W=q9|4,F1=t+W|0,G1=e[F1>>2]|0,v1=(G1|0)==(Z9|0);do if(v1){if(q=q9+12|0,W1=t+q|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=q9+8|0,z1=t+e0|0,u2=e[z1>>2]|0,E2=(u2|0)==0,E2){l4=0;break}else g6=u2,c4=z1;else g6=P1,c4=W1;for(;;){if(A2=g6+20|0,K1=e[A2>>2]|0,h2=(K1|0)==0,!h2){g6=K1,c4=A2;continue}if($2=g6+16|0,i2=e[$2>>2]|0,l2=(i2|0)==0,l2){Ue=g6,P6=c4;break}else g6=i2,c4=$2}if(r2=e[138266]|0,a2=P6>>>0>>0,a2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+q9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,_1=Z1>>>0>>0,_1&&Q2(),V1=Z1+12|0,q1=e[V1>>2]|0,H1=(q1|0)==(Z9|0),H1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,n2=(j1|0)==(Z9|0),n2){e[V1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(R1|0)==0,!X1){if(S=q9+20|0,f2=t+S|0,t2=e[f2>>2]|0,y2=553352+(t2<<2)|0,k2=e[y2>>2]|0,w2=(Z9|0)==(k2|0),w2){if(e[y2>>2]=l4,v4=(l4|0)==0,v4){C2=1<>>0>>0,H2&&Q2(),M2=R1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=R1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),x5=l4+24|0,e[x5>>2]=R1,b=q9+8|0,e5=t+b|0,Z2=e[e5>>2]|0,f5=(Z2|0)==0;do if(!f5)if(k5=Z2>>>0>>0,k5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(v=q9+12|0,v2=t+v|0,m5=e[v2>>2]|0,n5=(m5|0)==0,!n5)if(L2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,R5=m5+24|0,e[R5>>2]=l4;break}}}while(!1);if(d5=O0|1,D5=J3+4|0,e[D5>>2]=d5,G5=J3+O0|0,e[G5>>2]=O0,_5=e[138267]|0,q2=(J3|0)==(_5|0),q2){e[138264]=O0;return}else p9=O0}else I5=I0&-2,e[u0>>2]=I5,A5=w9|1,c5=J3+4|0,e[c5>>2]=A5,M1=J3+w9|0,e[M1>>2]=w9,p9=w9;if(S5=p9>>>3,g5=p9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,B5=1<>2]|0,L5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(f=u5,ge=i5)),e[f>>2]=J3,$5=ge+12|0,e[$5>>2]=J3,x2=J3+8|0,e[x2>>2]=ge,Q5=J3+12|0,e[Q5>>2]=W2;return}q5=p9>>>8,j5=(q5|0)==0,j5?p4=0:(E5=p9>>>0>16777215,E5?p4=31:(h3=q5+1048320|0,J5=h3>>>16,X5=J5&8,n3=q5<>>16,V5=F5&4,v3=V5|X5,u3=n3<>>16,z5=G3&2,w3=v3|z5,W5=14-w3|0,i6=u3<>>15,U3=W5+x3|0,a3=U3<<1,l3=U3+7|0,c3=p9>>>l3,H5=c3&1,U5=H5|a3,p4=U5)),O5=553352+(p4<<2)|0,v5=J3+28|0,e[v5>>2]=p4,P3=J3+16|0,M5=J3+20|0,e[M5>>2]=0,e[P3>>2]=0,o6=e[138263]|0,e3=1<>2]=J3,k3=J3+24|0,e[k3>>2]=O5,y3=J3+12|0,e[y3>>2]=J3,r6=J3+8|0,e[r6>>2]=J3;else{j3=e[O5>>2]|0,O3=j3+4|0,K5=e[O3>>2]|0,S3=K5&-8,g3=(S3|0)==(p9|0);t:do if(g3)De=j3;else{for(q3=(p4|0)==31,d3=p4>>>1,v6=25-d3|0,k6=q3?0:v6,S6=p9<>>31,t6=(_e+16|0)+(e6<<2)|0,c6=e[t6>>2]|0,f6=(c6|0)==0,f6){n=t6,t8=_e;break}if(p6=te<<1,X3=c6+4|0,B6=e[X3>>2]|0,L6=B6&-8,Y6=(L6|0)==(p9|0),Y6){De=c6;break t}else te=p6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

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

`;this.lyricsElement.text.other.innerHTML=o}var Pr=32,Gy="#ccc",Uy="#555",eD="#333",tD="#ddd",iD="Shift_JIS",Ms=class{constructor(r,l,c){this.iconColor=Gy,this.iconDisabledColor=Uy,this.controls=r,this.encoding=iD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=eD,this.iconDisabledColor=tD):(this.mode="dark",this.iconColor=Gy,this.iconDisabledColor=Uy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(r=!0){r&&this.seq.play(),this.playPause.innerHTML=w$(Pr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=yy(Pr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(r,l=!1){let c=0;for(;;)try{return this.decoder.decode(r)}catch{c++,this.changeEncoding(Sm[c]),this.encodingSelector.value=Sm[c]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,c)=>{let f=this.decodeTextFix(l.buffer);switch(c){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:c,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=f,this.rawLyrics.push(...l),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[Mt.encoding]!==void 0,l.isEmbedded){let c=(m0,f0,A0,f1="")=>this.seq.midiData.RMIDInfo?.[m0]===void 0?f0:f1+A0.decode(this.seq.midiData.RMIDInfo?.[m0]).replace(/\0$/,""),f=new TextDecoder,w=c(Mt.midiEncoding,this.encoding,f),n0=c(Mt.encoding,"utf-8",f);this.infoDecoder=new TextDecoder(n0),this.changeEncoding(w)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(r){this.encoding=r,this.decoder=new TextDecoder(r),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(r)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=r,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=R=>{R.preventDefault();let L0=r.getBoundingClientRect(),k0=R.clientX-L0.left,S1=L0.width;this.seq.currentTime=k0/S1*this.seq.duration,c.innerHTML=w$(Pr)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),c=uh("Play/Pause",w$(Pr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let f=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=f;let w=uh("Previous song",Sy(Pr));this.locale.bindObjectProperty(w,"title","locale.sequencerController.previousSong"),w.onclick=()=>this.switchToPreviousSong();let n0=uh("Next song",ky(Pr));this.locale.bindObjectProperty(n0,"title","locale.sequencerController.nextSong"),n0.onclick=()=>this.switchToNextSong();let m0=uh("Loop this",wy(Pr));this.locale.bindObjectProperty(m0,"title","locale.sequencerController.loopThis");let f0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),m0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};m0.onclick=f0,this.loopButton=m0;let A0=uh("Show lyrics",vy(Pr));this.locale.bindObjectProperty(A0,"title","locale.sequencerController.lyrics.show"),A0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let f1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),A0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};A0.onclick=f1,document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.playPause:R.preventDefault(),f();break;case e7.toggleLoop:R.preventDefault(),f0();break;case e7.toggleLyrics:R.preventDefault(),f1();break;default:break}}),l.appendChild(w),l.appendChild(m0),l.appendChild(c),l.appendChild(A0),l.appendChild(n0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.seekBackwards:R.preventDefault(),this.seq.currentTime-=5,c.innerHTML=w$(Pr);break;case e7.seekForwards:R.preventDefault(),this.seq.currentTime+=5,c.innerHTML=w$(Pr);break;case e7.previousSong:this.switchToPreviousSong();break;case e7.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(R.key))){R.preventDefault();let L0=parseInt(R.key);0<=L0&&L0<=9&&(this.seq.currentTime=this.seq.duration*(L0/10),c.innerHTML=w$(Pr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=m$(this.seq.currentTime),l=m$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Ms.prototype.createNavigatorHandler=Ry;Ms.prototype.updateTitleAndMediaStatus=Fy;Ms.prototype.createLyrics=My;Ms.prototype.setLyricsText=Ty;Ms.prototype.updateOtherTextEvents=Ny;function Py(){this.controllers.forEach(o=>{o.voiceMeter.hide(),o.pitchWheel.hide(),o.pan.hide(),o.expression.hide(),o.volume.hide(),o.mod.hide(),o.chorus.hide(),o.reverb.hide(),o.brightness.hide()})}function Oy(){this.controllers.forEach(o=>{o.voiceMeter.show(),o.pitchWheel.show(),o.pan.show(),o.expression.show(),o.volume.show(),o.mod.show(),o.chorus.show(),o.reverb.show(),o.brightness.show()})}function qy(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(o=>{o.classList.toggle("synthui_button"),o.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(o=>{o.toggleMode(!0)}),this.controllers.forEach(o=>{o.voiceMeter.toggleMode(),o.pitchWheel.toggleMode(),o.pan.toggleMode(),o.expression.toggleMode(),o.volume.toggleMode(),o.mod.toggleMode(),o.chorus.toggleMode(),o.reverb.toggleMode(),o.brightness.toggleMode(),o.preset.toggleMode(),o.drumsToggle.classList.toggle("mute_button_light"),o.muteButton.classList.toggle("mute_button_light")})}var hr=class{constructor(r="none",l,c,f,w=0,n0=100,m0=!1,f0=void 0,A0=void 0,f1=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",l+".title"),this.min=w,this.max=n0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=A0,this.unlockCallback=f1,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),r!=="none"&&r!==""&&(this.div.style.borderColor=r),c.bindObjectProperty(this.div,"title",l+".description",f),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=r,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,m0){if(f0===void 0)throw new Error("No editable function given!");this.div.onmousedown=R=>{R.preventDefault(),R.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=R=>{if(!this.isActive)return;let L0=R.currentTarget.getBoundingClientRect(),k0=L0.left,S1=L0.width,e2=R.clientX-k0,y1=Math.max(0,Math.min(1,e2/S1));f0(y1*(n0-w)+w)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=R=>{this.div.onmousemove(R),this.isActive=!1},this.text.oncontextmenu=R=>{R.preventDefault()},this.div.onclick=R=>{R.preventDefault(),this.isActive=!0,this.div.onmousemove(R),this.isActive=!1},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(r=!1){r&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let r=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${r*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(r,l=!1){if(!(r===this.currentValue&&l===!1))if(this.currentValue=r,this.isShown){let c=Math.max(0,Math.min((r-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(r*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Hy=["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 xC=class{constructor(r,l,c,f,w=void 0,n0=void 0){this.elements=r.map(m0=>({name:m0.name,program:m0.program,bank:m0.bank,stringified:`${m0.bank.toString().padStart(3,"0")}:${m0.program.toString().padStart(3,"0")} ${m0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",c+".description",f),this.locale=l,this.localePath=c,this.localeArgs=f,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=w,this.selectionMenu=void 0,this.lockCallback=n0,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let r=document.createElement("div");r.classList.add("voice_selector_window");let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),r.appendChild(l);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),r.appendChild(c);let f=document.createElement("input");f.type="text",this.locale.bindObjectProperty(f,"placeholder",this.localePath+".searchPrompt"),c.appendChild(f),f.onkeydown=A0=>A0.stopPropagation();let w=document.createElement("div");w.innerHTML=this.locked?Dm(t7):Gp(t7),this.locale.bindObjectProperty(w,"title",J4+"channelController.presetReset.description",this.localeArgs),w.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&w.classList.add("voice_reset_light"),w.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?w.innerHTML=Dm(t7):w.innerHTML=Gp(t7)},c.appendChild(w),this.presetLock=w;let n0=document.createElement("div");n0.classList.add("voice_selector_table_wrapper"),r.appendChild(n0);let f0=this.generateTable(n0,this.elements).querySelector(".voice_selector_selected");f.oninput=A0=>{A0.stopPropagation();let f1=f.value,R=this.elements.filter(e2=>e2.stringified.search(new RegExp(f1,"i"))>=0);if(R.length===this.elements.length)return;n0.replaceChildren();let L0=this.generateTable(n0,R),k0=L0.querySelector(".voice_selector_selected");if(k0){f0=k0;return}let S1=L0.querySelector(".voice_selector_option");S1.classList.add("voice_selector_selected"),f0=S1},f.addEventListener("keydown",A0=>{switch(A0.key){case"Enter":let f1=f0.getAttribute("bank"),R=f0.getAttribute("program"),L0=`${f1}:${R}`;if(this.value===L0){this.hideSelectionMenu();return}this.editCallback(L0),this.locked=!0,this.presetLock.innerHTML=Dm(t7),this.hideSelectionMenu();break;case"ArrowDown":let k0=f0.nextElementSibling;for(;k0;){if(k0.classList.contains("voice_selector_option")){f0.classList.remove("voice_selector_selected"),k0.classList.add("voice_selector_selected"),f0=k0;return}k0=k0.nextElementSibling}break;case"ArrowUp":let S1=f0.previousElementSibling;for(;S1;){if(S1.classList.contains("voice_selector_option")){f0.classList.remove("voice_selector_selected"),S1.classList.add("voice_selector_selected"),f0=S1;return}S1=S1.previousElementSibling}break}}),r.onclick=A0=>{A0.stopPropagation()},this.selectionMenu.appendChild(r),this.selectionMenu.onclick=A0=>{A0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,f.focus()}generateTable(r,l){let c=document.createElement("table");c.classList.add("voice_selector_table");let f=parseInt(this.value.split(":")[0]),w=parseInt(this.value.split(":")[1]),n0=-20;for(let m0 of l){let f0=document.createElement("tr"),A0=m0.program;if(f0.classList.add("voice_selector_option"),f0.setAttribute("program",A0.toString()),f0.setAttribute("bank",m0.bank.toString()),A0===w&&m0.bank===f&&(f0.classList.add("voice_selector_selected"),setTimeout(()=>{f0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),f0.onclick=()=>{let e2=`${m0.bank}:${A0}`;if(this.value===e2){this.hideSelectionMenu();return}this.editCallback(e2),this.locked=!0,this.presetLock.innerHTML=Dm(t7),this.hideSelectionMenu()},A0!==n0&&(n0=A0,m0.bank!==128)){let e2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=Hy[n0],e2.appendChild(y1),c.appendChild(e2)}let f1=`${m0.program.toString().padStart(3,"0")}`,R=`${m0.bank.toString().padStart(3,"0")}`,L0=document.createElement("td");L0.classList.add("voice_selector_preset_name"),L0.textContent=m0.name;let k0=document.createElement("td");L0.classList.add("voice_selector_preset_program"),k0.textContent=f1;let S1=document.createElement("td");L0.classList.add("voice_selector_preset_program"),S1.textContent=R,f0.appendChild(S1),f0.appendChild(k0),f0.appendChild(L0),c.appendChild(f0)}return r.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(r=this.elements){if(this.elements=r.map(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),this.elements.length>0){let l=this.elements[0],c=l.bank,f=parseInt(this.value.split(":")[1]),w=f;this.elements.find(n0=>n0.program===f)===void 0&&(w=l.program),this.mainButton.textContent=this.getString(`${c}:${w}`)}}set(r){if(this.value=r,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],f=parseInt(this.value.split(":")[0]),w=parseInt(this.value.split(":")[1]);for(let n0 of c.rows){if(n0.cells.length===1)continue;let m0=parseInt(n0.cells[0].textContent),f0=parseInt(n0.cells[1].textContent);m0===f&&f0===w&&(n0.classList.add("voice_selector_selected"),n0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(r){let l=r.split(":"),c=parseInt(l[0]),f=parseInt(l[1]),w=this.elements.find(n0=>n0.bank===c&&n0.program===f);return w?c===128||this.elements.filter(n0=>n0.program===f&&n0.bank!==128).length<2?`${f}. ${w.name}`:`${c}:${f} ${w.name}`:""}};var t7=32;function Yy(o){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new hr(this.channelColors[o%this.channelColors.length],J4+"channelController.voiceMeter",this.locale,[o+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let c=new hr(this.channelColors[o%this.channelColors.length],J4+"channelController.pitchBendMeter",this.locale,[o+1],-8192,8191,!0,T2=>{let V2=c.isLocked;V2&&this.synth.lockController(o,p$+Ft.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(o,i3,r3),V2&&this.synth.lockController(o,p$+Ft.pitchWheel,!0)},()=>this.synth.lockController(o,p$+Ft.pitchWheel,!0),()=>this.synth.lockController(o,p$+Ft.pitchWheel,!1));c.update(0),r.appendChild(c.div);let f=(T2,V2,i3)=>{i3.isLocked?(this.synth.lockController(o,T2,!1),this.synth.controllerChange(o,T2,V2),this.synth.lockController(o,T2,!0)):this.synth.controllerChange(o,T2,V2)},w=(T2,V2,i3)=>{let r3=new hr(this.channelColors[o%this.channelColors.length],J4+V2,this.locale,[o+1],0,127,!0,a0=>f(T2,Math.round(a0),r3),()=>this.synth.lockController(o,T2,!0),()=>this.synth.lockController(o,T2,!1));return r3.update(i3),r3},n0=w(p3.pan,"channelController.panMeter",64);r.appendChild(n0.div);let m0=w(p3.expressionController,"channelController.expressionMeter",127);r.appendChild(m0.div);let f0=w(p3.mainVolume,"channelController.volumeMeter",100);r.appendChild(f0.div);let A0=w(p3.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(A0.div);let f1=w(p3.chorusDepth,"channelController.chorusMeter",0);r.appendChild(f1.div);let R=w(p3.reverbDepth,"channelController.reverbMeter",0);r.appendChild(R.div);let L0=w(p3.brightness,"channelController.filterMeter",64);r.appendChild(L0.div);let k0=new hr(this.channelColors[o%this.channelColors.length],J4+"channelController.transposeMeter",this.locale,[o+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(o,T2,!0),k0.update(T2)});k0.update(0),r.appendChild(k0.div);let S1=new xC([],this.locale,J4+"channelController.presetSelector",[o+1],async T2=>{let V2=T2.split(":");this.synth.lockController(o,ri,!1),this.synth.controllerChange(o,p3.bankSelect,parseInt(V2[0]),!0),this.synth.programChange(o,parseInt(V2[1]),!0),S1.mainButton.classList.add("locked_selector"),this.synth.lockController(o,ri,!0)},T2=>this.synth.lockController(o,ri,T2));r.appendChild(S1.mainButton);let e2=document.createElement("div");e2.innerHTML=hh(t7),this.locale.bindObjectProperty(e2,"title",J4+"channelController.soloButton.description",[o+1]),e2.classList.add("controller_element"),e2.classList.add("mute_button"),e2.onclick=()=>{if(this.soloChannels.has(o)?this.soloChannels.delete(o):this.soloChannels.add(o),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let T2=0;T2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let T2=0;T2{if(y1.hasAttribute("is_muted")){y1.removeAttribute("is_muted");let T2=this.soloChannels.size===0||this.soloChannels.has(o);this.synth.muteChannel(o,!T2),y1.innerHTML=bm(t7)}else this.synth.muteChannel(o,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=Dy(t7)},r.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=o===xi?DC(t7):_C(t7),this.locale.bindObjectProperty(Y2,"title",J4+"channelController.drumToggleButton.description",[o+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{S1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(o,ri,!1),S1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(o,!this.synth.channelProperties[o].isDrum)},r.appendChild(Y2),{controller:r,voiceMeter:l,pitchWheel:c,pan:n0,expression:m0,volume:f0,mod:A0,chorus:f1,reverb:R,brightness:L0,preset:S1,drumsToggle:Y2,soloButton:e2,muteButton:y1,transpose:k0}}function Jy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r0;)r[0].parentNode.removeChild(r[0])}function Up(o,r=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let c=o.getAttribute("min"),f=o.getAttribute("max"),w=o.getAttribute("value"),n0=o.getAttribute("units"),m0=o.getAttribute("input_id"),f0=document.createElement("input");f0.classList.add("settings_slider"),f0.type="range",f0.id=m0,f0.min=c,f0.max=f,f0.value=w;let A0;r&&(A0=document.createElement("span"),A0.textContent=w+n0);let f1=document.createElement("div");f1.classList.add("settings_visual_wrapper");let R=document.createElement("div");R.classList.add("settings_slider_progress"),f1.appendChild(R);let L0=document.createElement("div");return L0.classList.add("settings_slider_thumb"),f1.appendChild(L0),f1.appendChild(f0),f0.addEventListener("input",()=>{let k0=parseInt(f1.style.getPropertyValue("--visual-width").replace("%","")),S1=Math.round((f0.value-f0.min)/(f0.max-f0.min)*100);Math.abs((k0-S1)/100)>.05?f1.classList.add("settings_slider_transition"):f1.classList.remove("settings_slider_transition"),f1.style.setProperty("--visual-width",`${S1}%`)}),f1.style.setProperty("--visual-width",`${(f0.value-f0.min)/(f0.max-f0.min)*100}%`),l.appendChild(f1),r&&l.appendChild(A0),l}function GA(o,r,l){if(r.textContent&&(o.textContent=r.textContent),r.translatePathTitle){if(!l)throw new Error("Translate path title provided but no locale provided.");l.bindObjectProperty(o,"textContent",r.translatePathTitle+".title"),l.bindObjectProperty(o,"title",r.translatePathTitle+".description")}}function Ky(o,r){switch(o.type){case"button":let l=document.createElement("button");return GA(l,o,r),v$(o,[l]),l;case"text":let c=document.createElement("p");return GA(c,o,r),v$(o,[c]),c;case"input":let f=document.createElement("div");f.classList.add("notification_input_wrapper");let w=document.createElement("input");GA(w,o,r),w.addEventListener("keydown",Y2=>Y2.stopPropagation());let n0=document.createElement("label");return GA(n0,o,r),v$(o,[w,n0]),f.append(n0),f.appendChild(w),f;case"file":let m0=document.createElement("label");m0.classList.add("notification_input_wrapper");let f0=document.createElement("input");f0.type="file";let A0=document.createElement("label");A0.classList.add("notification_file_button"),GA(A0,o,r);let f1=document.createElement("label");return GA(f1,o,r),v$(o,[A0,f0,f1]),A0.appendChild(f0),m0.append(f1),m0.appendChild(A0),m0;case"progress":let R=document.createElement("div");R.classList.add("notification_progress_background");let L0=document.createElement("div");return L0.classList.add("notification_progress"),v$(o,[L0,R]),R.appendChild(L0),R;case"toggle":return rD(o,r);case"range":let k0=document.createElement("input");k0.type="range";let S1=document.createElement("label");v$(o,[k0,S1]),GA(S1,o,r);let e2=Up(k0,!1),y1=document.createElement("div");return y1.classList.add("notification_slider_wrapper"),y1.appendChild(S1),y1.appendChild(e2),y1}}function v$(o,r){if(o.attributes)for(let[l,c]of Object.entries(o.attributes))for(let f of r)f.setAttribute(l,c);if(o.listeners)for(let[l,c]of Object.entries(o.listeners))for(let f of r)f.addEventListener(l,c)}function rD(o,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let c=document.createElement("label");GA(c,o,r);let f=document.createElement("input");f.type="checkbox",v$(o,[c,f]);let w=document.createElement("div");w.classList.add("notification_switch"),w.appendChild(f);let n0=document.createElement("div");return n0.classList.add("notification_switch_slider"),w.appendChild(n0),l.appendChild(c),l.appendChild(w),l}var nD=13,sD=0,_m={};function mt(o,r,l=nD,c=!0,f=void 0,w=void 0,n0=void 0){let m0=document.createElement("div"),f0=sD++;m0.classList.add("notification"),m0.innerHTML=` +`}function uh(o,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=o,l.innerHTML=r,l}var e7={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Ry(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",o=>{this.seq.currentTime-=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",o=>{this.seq.currentTime+=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",o=>{this.seq.currentTime=o.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Fy(o=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let r=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=xp(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((c,f)=>c+f.length,0));let l=0;for(let c of r)this.currentLyrics.set(c,l),l+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),o&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var Xb=parseFloat(getComputedStyle(document.body).fontSize);function My(){this.lyricsElement={};let o=document.createElement("div");o.classList.add("lyrics");let r=document.createElement("div");r.classList.add("lyrics_title_wrapper"),o.append(r),this.lyricsElement.titleWrapper=r;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),r.appendChild(l),this.lyricsElement.title=l;let c=document.createElement("select");Sm.forEach(f1=>{let R=document.createElement("option");R.innerText=f1,R.value=f1,c.appendChild(R)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,r.appendChild(c);let f=document.createElement("p");f.classList.add("lyrics_text"),o.appendChild(f);let v=document.createElement("span");v.classList.add("lyrics_text_highlight"),f.appendChild(v);let r0=document.createElement("span");r0.classList.add("lyrics_text_gray"),f.appendChild(r0);let m0=document.createElement("details"),f0=document.createElement("summary");this.locale.bindObjectProperty(f0,"textContent","locale.sequencerController.lyrics.otherText.title"),m0.appendChild(f0);let A0=document.createElement("div");A0.innerText="",m0.appendChild(A0),o.appendChild(m0),this.lyricsElement.text={highlight:v,gray:r0,main:f,other:A0},this.lyricsElement.mainDiv=o,this.lyricsElement.selector=c,this.controls.appendChild(o),this.requiresTextUpdate=!0}function Ty(o){let r=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(o,""),r.innerText=o,this.lyricsElement.text.main.scrollTo(0,r.offsetHeight-Xb*5)}function Ny(){let o="";for(let r of this.rawOtherTextEvents)o+=`
${Object.keys(K3).find(l=>K3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=o}var Or=32,Gy="#ccc",Uy="#555",eD="#333",tD="#ddd",iD="Shift_JIS",Ts=class{constructor(r,l,c){this.iconColor=Gy,this.iconDisabledColor=Uy,this.controls=r,this.encoding=iD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=eD,this.iconDisabledColor=tD):(this.mode="dark",this.iconColor=Gy,this.iconDisabledColor=Uy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(r=!0){r&&this.seq.play(),this.playPause.innerHTML=w$(Or),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=yy(Or),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(r,l=!1){let c=0;for(;;)try{return this.decoder.decode(r)}catch{c++,this.changeEncoding(Sm[c]),this.encodingSelector.value=Sm[c]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,c)=>{let f=this.decodeTextFix(l.buffer);switch(c){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:c,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=f,this.rawLyrics.push(...l),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[Mt.encoding]!==void 0,l.isEmbedded){let c=(m0,f0,A0,f1="")=>this.seq.midiData.RMIDInfo?.[m0]===void 0?f0:f1+A0.decode(this.seq.midiData.RMIDInfo?.[m0]).replace(/\0$/,""),f=new TextDecoder,v=c(Mt.midiEncoding,this.encoding,f),r0=c(Mt.encoding,"utf-8",f);this.infoDecoder=new TextDecoder(r0),this.changeEncoding(v)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(r){this.encoding=r,this.decoder=new TextDecoder(r),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(r)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=r,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=R=>{R.preventDefault();let L0=r.getBoundingClientRect(),k0=R.clientX-L0.left,S1=L0.width;this.seq.currentTime=k0/S1*this.seq.duration,c.innerHTML=w$(Or)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),c=uh("Play/Pause",w$(Or));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let f=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=f;let v=uh("Previous song",Sy(Or));this.locale.bindObjectProperty(v,"title","locale.sequencerController.previousSong"),v.onclick=()=>this.switchToPreviousSong();let r0=uh("Next song",ky(Or));this.locale.bindObjectProperty(r0,"title","locale.sequencerController.nextSong"),r0.onclick=()=>this.switchToNextSong();let m0=uh("Loop this",wy(Or));this.locale.bindObjectProperty(m0,"title","locale.sequencerController.loopThis");let f0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),m0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};m0.onclick=f0,this.loopButton=m0;let A0=uh("Show lyrics",vy(Or));this.locale.bindObjectProperty(A0,"title","locale.sequencerController.lyrics.show"),A0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let f1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),A0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};A0.onclick=f1,document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.playPause:R.preventDefault(),f();break;case e7.toggleLoop:R.preventDefault(),f0();break;case e7.toggleLyrics:R.preventDefault(),f1();break;default:break}}),l.appendChild(v),l.appendChild(m0),l.appendChild(c),l.appendChild(A0),l.appendChild(r0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",R=>{switch(R.key.toLowerCase()){case e7.seekBackwards:R.preventDefault(),this.seq.currentTime-=5,c.innerHTML=w$(Or);break;case e7.seekForwards:R.preventDefault(),this.seq.currentTime+=5,c.innerHTML=w$(Or);break;case e7.previousSong:this.switchToPreviousSong();break;case e7.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(R.key))){R.preventDefault();let L0=parseInt(R.key);0<=L0&&L0<=9&&(this.seq.currentTime=this.seq.duration*(L0/10),c.innerHTML=w$(Or))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=m$(this.seq.currentTime),l=m$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Ts.prototype.createNavigatorHandler=Ry;Ts.prototype.updateTitleAndMediaStatus=Fy;Ts.prototype.createLyrics=My;Ts.prototype.setLyricsText=Ty;Ts.prototype.updateOtherTextEvents=Ny;function Py(){this.controllers.forEach(o=>{o.voiceMeter.hide(),o.pitchWheel.hide(),o.pan.hide(),o.expression.hide(),o.volume.hide(),o.mod.hide(),o.chorus.hide(),o.reverb.hide(),o.brightness.hide()})}function Oy(){this.controllers.forEach(o=>{o.voiceMeter.show(),o.pitchWheel.show(),o.pan.show(),o.expression.show(),o.volume.show(),o.mod.show(),o.chorus.show(),o.reverb.show(),o.brightness.show()})}function qy(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(o=>{o.classList.toggle("synthui_button"),o.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(o=>{o.toggleMode(!0)}),this.controllers.forEach(o=>{o.voiceMeter.toggleMode(),o.pitchWheel.toggleMode(),o.pan.toggleMode(),o.expression.toggleMode(),o.volume.toggleMode(),o.mod.toggleMode(),o.chorus.toggleMode(),o.reverb.toggleMode(),o.brightness.toggleMode(),o.preset.toggleMode(),o.drumsToggle.classList.toggle("mute_button_light"),o.muteButton.classList.toggle("mute_button_light")})}var ur=class{constructor(r="none",l,c,f,v=0,r0=100,m0=!1,f0=void 0,A0=void 0,f1=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",l+".title"),this.min=v,this.max=r0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=A0,this.unlockCallback=f1,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),r!=="none"&&r!==""&&(this.div.style.borderColor=r),c.bindObjectProperty(this.div,"title",l+".description",f),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=r,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,m0){if(f0===void 0)throw new Error("No editable function given!");this.div.onmousedown=R=>{R.preventDefault(),R.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=R=>{if(!this.isActive)return;let L0=R.currentTarget.getBoundingClientRect(),k0=L0.left,S1=L0.width,e2=R.clientX-k0,y1=Math.max(0,Math.min(1,e2/S1));f0(y1*(r0-v)+v)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=R=>{this.div.onmousemove(R),this.isActive=!1},this.text.oncontextmenu=R=>{R.preventDefault()},this.div.onclick=R=>{R.preventDefault(),this.isActive=!0,this.div.onmousemove(R),this.isActive=!1,hr&&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(r=!1){r&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let r=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${r*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(r,l=!1){if(!(r===this.currentValue&&l===!1))if(this.currentValue=r,this.isShown){let c=Math.max(0,Math.min((r-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(r*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Hy=["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 xC=class{constructor(r,l,c,f,v=void 0,r0=void 0){this.elements=r.map(m0=>({name:m0.name,program:m0.program,bank:m0.bank,stringified:`${m0.bank.toString().padStart(3,"0")}:${m0.program.toString().padStart(3,"0")} ${m0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",c+".description",f),this.locale=l,this.localePath=c,this.localeArgs=f,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=v,this.selectionMenu=void 0,this.lockCallback=r0,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let r=document.createElement("div");r.classList.add("voice_selector_window");let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),r.appendChild(l);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),r.appendChild(c);let f=document.createElement("input");f.type="text",this.locale.bindObjectProperty(f,"placeholder",this.localePath+".searchPrompt"),c.appendChild(f),f.onkeydown=A0=>A0.stopPropagation();let v=document.createElement("div");v.innerHTML=this.locked?Dm(t7):Gp(t7),this.locale.bindObjectProperty(v,"title",J4+"channelController.presetReset.description",this.localeArgs),v.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&v.classList.add("voice_reset_light"),v.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?v.innerHTML=Dm(t7):v.innerHTML=Gp(t7)},c.appendChild(v),this.presetLock=v;let r0=document.createElement("div");r0.classList.add("voice_selector_table_wrapper"),r.appendChild(r0);let f0=this.generateTable(r0,this.elements).querySelector(".voice_selector_selected");f.oninput=A0=>{A0.stopPropagation();let f1=f.value,R=this.elements.filter(e2=>e2.stringified.search(new RegExp(f1,"i"))>=0);if(R.length===this.elements.length)return;r0.replaceChildren();let L0=this.generateTable(r0,R),k0=L0.querySelector(".voice_selector_selected");if(k0){f0=k0;return}let S1=L0.querySelector(".voice_selector_option");S1.classList.add("voice_selector_selected"),f0=S1},f.addEventListener("keydown",A0=>{switch(A0.key){case"Enter":let f1=f0.getAttribute("bank"),R=f0.getAttribute("program"),L0=`${f1}:${R}`;if(this.value===L0){this.hideSelectionMenu();return}this.editCallback(L0),this.locked=!0,this.presetLock.innerHTML=Dm(t7),this.hideSelectionMenu();break;case"ArrowDown":let k0=f0.nextElementSibling;for(;k0;){if(k0.classList.contains("voice_selector_option")){f0.classList.remove("voice_selector_selected"),k0.classList.add("voice_selector_selected"),f0=k0;return}k0=k0.nextElementSibling}break;case"ArrowUp":let S1=f0.previousElementSibling;for(;S1;){if(S1.classList.contains("voice_selector_option")){f0.classList.remove("voice_selector_selected"),S1.classList.add("voice_selector_selected"),f0=S1;return}S1=S1.previousElementSibling}break}}),r.onclick=A0=>{A0.stopPropagation()},this.selectionMenu.appendChild(r),this.selectionMenu.onclick=A0=>{A0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,hr||f.focus()}generateTable(r,l){let c=document.createElement("table");c.classList.add("voice_selector_table");let f=parseInt(this.value.split(":")[0]),v=parseInt(this.value.split(":")[1]),r0=-20;for(let m0 of l){let f0=document.createElement("tr"),A0=m0.program;if(f0.classList.add("voice_selector_option"),f0.setAttribute("program",A0.toString()),f0.setAttribute("bank",m0.bank.toString()),A0===v&&m0.bank===f&&(f0.classList.add("voice_selector_selected"),setTimeout(()=>{f0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),f0.onclick=()=>{let e2=`${m0.bank}:${A0}`;if(this.value===e2){this.hideSelectionMenu();return}this.editCallback(e2),this.locked=!0,this.presetLock.innerHTML=Dm(t7),this.hideSelectionMenu()},A0!==r0&&(r0=A0,m0.bank!==128)){let e2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=Hy[r0],e2.appendChild(y1),c.appendChild(e2)}let f1=`${m0.program.toString().padStart(3,"0")}`,R=`${m0.bank.toString().padStart(3,"0")}`,L0=document.createElement("td");L0.classList.add("voice_selector_preset_name"),L0.textContent=m0.name;let k0=document.createElement("td");L0.classList.add("voice_selector_preset_program"),k0.textContent=f1;let S1=document.createElement("td");L0.classList.add("voice_selector_preset_program"),S1.textContent=R,f0.appendChild(S1),f0.appendChild(k0),f0.appendChild(L0),c.appendChild(f0)}return r.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(r=this.elements){if(this.elements=r.map(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),this.elements.length>0){let l=this.elements[0],c=l.bank,f=parseInt(this.value.split(":")[1]),v=f;this.elements.find(r0=>r0.program===f)===void 0&&(v=l.program),this.mainButton.textContent=this.getString(`${c}:${v}`)}}set(r){if(this.value=r,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],f=parseInt(this.value.split(":")[0]),v=parseInt(this.value.split(":")[1]);for(let r0 of c.rows){if(r0.cells.length===1)continue;let m0=parseInt(r0.cells[0].textContent),f0=parseInt(r0.cells[1].textContent);m0===f&&f0===v&&(r0.classList.add("voice_selector_selected"),r0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(r){let l=r.split(":"),c=parseInt(l[0]),f=parseInt(l[1]),v=this.elements.find(r0=>r0.bank===c&&r0.program===f);return v?c===128||this.elements.filter(r0=>r0.program===f&&r0.bank!==128).length<2?`${f}. ${v.name}`:`${c}:${f} ${v.name}`:""}};var t7=32;function Yy(o){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new ur(this.channelColors[o%this.channelColors.length],J4+"channelController.voiceMeter",this.locale,[o+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let c=new ur(this.channelColors[o%this.channelColors.length],J4+"channelController.pitchBendMeter",this.locale,[o+1],-8192,8191,!0,T2=>{let V2=c.isLocked;V2&&this.synth.lockController(o,p$+Ft.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(o,i3,r3),V2&&this.synth.lockController(o,p$+Ft.pitchWheel,!0)},()=>this.synth.lockController(o,p$+Ft.pitchWheel,!0),()=>this.synth.lockController(o,p$+Ft.pitchWheel,!1));c.update(0),r.appendChild(c.div);let f=(T2,V2,i3)=>{i3.isLocked?(this.synth.lockController(o,T2,!1),this.synth.controllerChange(o,T2,V2),this.synth.lockController(o,T2,!0)):this.synth.controllerChange(o,T2,V2)},v=(T2,V2,i3)=>{let r3=new ur(this.channelColors[o%this.channelColors.length],J4+V2,this.locale,[o+1],0,127,!0,a0=>f(T2,Math.round(a0),r3),()=>this.synth.lockController(o,T2,!0),()=>this.synth.lockController(o,T2,!1));return r3.update(i3),r3},r0=v(p3.pan,"channelController.panMeter",64);r.appendChild(r0.div);let m0=v(p3.expressionController,"channelController.expressionMeter",127);r.appendChild(m0.div);let f0=v(p3.mainVolume,"channelController.volumeMeter",100);r.appendChild(f0.div);let A0=v(p3.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(A0.div);let f1=v(p3.chorusDepth,"channelController.chorusMeter",0);r.appendChild(f1.div);let R=v(p3.reverbDepth,"channelController.reverbMeter",0);r.appendChild(R.div);let L0=v(p3.brightness,"channelController.filterMeter",64);r.appendChild(L0.div);let k0=new ur(this.channelColors[o%this.channelColors.length],J4+"channelController.transposeMeter",this.locale,[o+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(o,T2,!0),k0.update(T2)});k0.update(0),r.appendChild(k0.div);let S1=new xC([],this.locale,J4+"channelController.presetSelector",[o+1],async T2=>{let V2=T2.split(":");this.synth.lockController(o,ri,!1),this.synth.controllerChange(o,p3.bankSelect,parseInt(V2[0]),!0),this.synth.programChange(o,parseInt(V2[1]),!0),S1.mainButton.classList.add("locked_selector"),this.synth.lockController(o,ri,!0)},T2=>this.synth.lockController(o,ri,T2));r.appendChild(S1.mainButton);let e2=document.createElement("div");e2.innerHTML=hh(t7),this.locale.bindObjectProperty(e2,"title",J4+"channelController.soloButton.description",[o+1]),e2.classList.add("controller_element"),e2.classList.add("mute_button"),e2.onclick=()=>{if(this.soloChannels.has(o)?this.soloChannels.delete(o):this.soloChannels.add(o),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let T2=0;T2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let T2=0;T2{if(y1.hasAttribute("is_muted")){y1.removeAttribute("is_muted");let T2=this.soloChannels.size===0||this.soloChannels.has(o);this.synth.muteChannel(o,!T2),y1.innerHTML=bm(t7)}else this.synth.muteChannel(o,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=Dy(t7)},r.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=o===xi?DC(t7):_C(t7),this.locale.bindObjectProperty(Y2,"title",J4+"channelController.drumToggleButton.description",[o+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{S1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(o,ri,!1),S1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(o,!this.synth.channelProperties[o].isDrum)},r.appendChild(Y2),{controller:r,voiceMeter:l,pitchWheel:c,pan:r0,expression:m0,volume:f0,mod:A0,chorus:f1,reverb:R,brightness:L0,preset:S1,drumsToggle:Y2,soloButton:e2,muteButton:y1,transpose:k0}}function Jy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r0;)r[0].parentNode.removeChild(r[0])}function Up(o,r=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let c=o.getAttribute("min"),f=o.getAttribute("max"),v=o.getAttribute("value"),r0=o.getAttribute("units"),m0=o.getAttribute("input_id"),f0=document.createElement("input");f0.classList.add("settings_slider"),f0.type="range",f0.id=m0,f0.min=c,f0.max=f,f0.value=v;let A0;r&&(A0=document.createElement("span"),A0.textContent=v+r0);let f1=document.createElement("div");f1.classList.add("settings_visual_wrapper");let R=document.createElement("div");R.classList.add("settings_slider_progress"),f1.appendChild(R);let L0=document.createElement("div");return L0.classList.add("settings_slider_thumb"),f1.appendChild(L0),f1.appendChild(f0),f0.addEventListener("input",()=>{let k0=parseInt(f1.style.getPropertyValue("--visual-width").replace("%","")),S1=Math.round((f0.value-f0.min)/(f0.max-f0.min)*100);Math.abs((k0-S1)/100)>.05?f1.classList.add("settings_slider_transition"):f1.classList.remove("settings_slider_transition"),f1.style.setProperty("--visual-width",`${S1}%`)}),f1.style.setProperty("--visual-width",`${(f0.value-f0.min)/(f0.max-f0.min)*100}%`),l.appendChild(f1),r&&l.appendChild(A0),l}function GA(o,r,l){if(r.textContent&&(o.textContent=r.textContent),r.translatePathTitle){if(!l)throw new Error("Translate path title provided but no locale provided.");l.bindObjectProperty(o,"textContent",r.translatePathTitle+".title"),l.bindObjectProperty(o,"title",r.translatePathTitle+".description")}}function Ky(o,r){switch(o.type){case"button":let l=document.createElement("button");return GA(l,o,r),v$(o,[l]),l;case"text":let c=document.createElement("p");return GA(c,o,r),v$(o,[c]),c;case"input":let f=document.createElement("div");f.classList.add("notification_input_wrapper");let v=document.createElement("input");GA(v,o,r),v.addEventListener("keydown",Y2=>Y2.stopPropagation());let r0=document.createElement("label");return GA(r0,o,r),v$(o,[v,r0]),f.append(r0),f.appendChild(v),f;case"file":let m0=document.createElement("label");m0.classList.add("notification_input_wrapper");let f0=document.createElement("input");f0.type="file";let A0=document.createElement("label");A0.classList.add("notification_file_button"),GA(A0,o,r);let f1=document.createElement("label");return GA(f1,o,r),v$(o,[A0,f0,f1]),A0.appendChild(f0),m0.append(f1),m0.appendChild(A0),m0;case"progress":let R=document.createElement("div");R.classList.add("notification_progress_background");let L0=document.createElement("div");return L0.classList.add("notification_progress"),v$(o,[L0,R]),R.appendChild(L0),R;case"toggle":return rD(o,r);case"range":let k0=document.createElement("input");k0.type="range";let S1=document.createElement("label");v$(o,[k0,S1]),GA(S1,o,r);let e2=Up(k0,!1),y1=document.createElement("div");return y1.classList.add("notification_slider_wrapper"),y1.appendChild(S1),y1.appendChild(e2),y1}}function v$(o,r){if(o.attributes)for(let[l,c]of Object.entries(o.attributes))for(let f of r)f.setAttribute(l,c);if(o.listeners)for(let[l,c]of Object.entries(o.listeners))for(let f of r)f.addEventListener(l,c)}function rD(o,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let c=document.createElement("label");GA(c,o,r);let f=document.createElement("input");f.type="checkbox",v$(o,[c,f]);let v=document.createElement("div");v.classList.add("notification_switch"),v.appendChild(f);let r0=document.createElement("div");return r0.classList.add("notification_switch_slider"),v.appendChild(r0),l.appendChild(c),l.appendChild(v),l}var nD=13,sD=0,_m={};function mt(o,r,l=nD,c=!0,f=void 0,v=void 0,r0=void 0){let m0=document.createElement("div"),f0=sD++;m0.classList.add("notification"),m0.innerHTML=`

${o}

\xD7 -
`;let A0=document.createElement("div");if(A0.classList.add("notification_content"),w)for(let[R,L0]of Object.entries(w))A0.style[R]=L0;m0.appendChild(A0);for(let R of r){let L0=Ky(R,f);R.onClick&&(L0.onclick=()=>R.onClick({div:m0,id:f0},L0)),A0.appendChild(L0)}c?m0.getElementsByClassName("close_btn")[0].onclick=()=>{R8(f0)}:m0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{m0.classList.add("drop")},75);let f1=setTimeout(()=>{R8(f0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(m0),_m[f0]={div:m0,timeout:f1,onclose:n0},{div:m0,id:f0}}function R8(o){if(_m[o]===void 0)return;let r=_m[o],l=r.div;clearTimeout(_m[o].timeout),l.classList.remove("drop"),setTimeout(()=>l.parentElement.removeChild(l),500),r.onclose&&r.onclose(),_m[o]=void 0}var Ai={nodesAmount:Nr.nodesAmount,defaultDelay:Nr.defaultDelay,delayVariation:Nr.delayVariation,stereoDifference:Nr.stereoDifference,oscillatorFrequency:Nr.oscillatorFrequency,oscillatorFrequencyVariation:Nr.oscillatorFrequencyVariation,oscillatorGain:Nr.oscillatorGain};function zy(o,r,l){let c=r+"effectsConfig.",f=mt(o.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:r+"disableCustomVibrato",onClick:(w,n0)=>{l.disableGSNRPparams(),n0.parentNode.removeChild(n0)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async w=>{if(w.target.files.length===0)return;w.stopImmediatePropagation(),w.preventDefault();let n0=w.target.parentElement.parentElement;n0.textContent=o.getLocaleString("locale.synthInit.genericLoading");let m0=await l.context.decodeAudioData(await w.target.files[0].arrayBuffer());l.setReverbResponse(m0),n0.textContent=o.getLocaleString("locale.synthInit.done"),K5("%cReverb response set!",D1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:Ai.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:Ai.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:Ai.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:Ai.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:Ai.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:Ai.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:Ai.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:w=>{Ai.nodesAmount=parseFloat(w.div.querySelector("input[setting='nodes']").value),Ai.defaultDelay=parseFloat(w.div.querySelector("input[setting='delay']").value),Ai.delayVariation=parseFloat(w.div.querySelector("input[setting='delay-var']").value),Ai.stereoDifference=parseFloat(w.div.querySelector("input[setting='stereo']").value),Ai.oscillatorFrequency=parseFloat(w.div.querySelector("input[setting='osc-freq']").value),Ai.defaultDelay=parseFloat(w.div.querySelector("input[setting='delay']").value),Ai.oscillatorFrequencyVariation=parseFloat(w.div.querySelector("input[setting='freq-var']").value),Ai.oscillatorGain=parseFloat(w.div.querySelector("input[setting='osc-gain']").value),l.setChorusConfig(Ai),R8(w.id)}}],999999,!0,o);return f.div.onclick=w=>w.stopImmediatePropagation(),f}function Zy(){let o=document.createElement("div");o.classList.add("controls_wrapper"),this.voiceMeter=new hr("",J4+"mainVoiceMeter",this.locale,[],0,Fp),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new hr("",J4+"mainVolumeMeter",this.locale,[],0,200,!0,A0=>{this.synth.setMainVolume(Math.round(A0)/100),this.volumeController.update(A0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new hr("",J4+"mainPanMeter",this.locale,[],-1,1,!0,A0=>{this.synth.setMasterPan(A0),this.panController.update(A0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new hr("",J4+"mainTransposeMeter",this.locale,[],-12,12,!0,A0=>{this.synth.transpose(Math.round(A0*2)/2),this.transposeController.update(Math.round(A0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let r=document.createElement("button");this.locale.bindObjectProperty(r,"textContent",J4+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",J4+"midiPanic.description"),r.classList.add("synthui_button"),r.classList.add("main_controller_element"),r.onclick=()=>this.synth.stopAll(!0);let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",J4+"systemReset.title"),this.locale.bindObjectProperty(l,"title",J4+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((A0,f1)=>{A0.pitchWheel.isLocked&&A0.pitchWheel.lockMeter(),A0.pan.isLocked&&A0.pan.lockMeter(),A0.expression.isLocked&&A0.expression.lockMeter(),A0.volume.isLocked&&A0.volume.lockMeter(),A0.mod.isLocked&&A0.mod.lockMeter(),A0.chorus.isLocked&&A0.chorus.lockMeter(),A0.reverb.isLocked&&A0.reverb.lockMeter(),A0.brightness.isLocked&&A0.brightness.lockMeter(),A0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(f1,ri,!1),A0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(f1,0,!0),A0.transpose.update(0),A0.soloButton.innerHTML=hh(t7),A0.muteButton.innerHTML=bm(t7),this.synth.muteChannel(f1,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",J4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",J4+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let f=document.createElement("button");this.locale.bindObjectProperty(f,"textContent",J4+"effectsConfig.button.title"),this.locale.bindObjectProperty(f,"title",J4+"effectsConfig.button.description"),f.classList.add("synthui_button"),f.classList.add("main_controller_element"),f.onclick=()=>{if(this.effectsConfigWindow!==void 0){R8(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=zy(this.locale,J4,this.synth).id};let w=document.createElement("a");w.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",w.target="#",w.classList.add("main_controller_element"),w.classList.add("synthui_button"),this.locale.bindObjectProperty(w,"textContent",J4+"helpButton.title"),this.locale.bindObjectProperty(w,"title",J4+"helpButton.description");let n0=document.createElement("select");n0.classList.add("main_controller_element"),n0.classList.add("synthui_button"),this.locale.bindObjectProperty(n0,"title",J4+"interpolation.description");{let A0=document.createElement("option");A0.value="0",this.locale.bindObjectProperty(A0,"textContent",J4+"interpolation.linear"),n0.appendChild(A0);let f1=document.createElement("option");f1.value="1",this.locale.bindObjectProperty(f1,"textContent",J4+"interpolation.nearestNeighbor"),n0.appendChild(f1);let R=document.createElement("option");R.value="2",R.selected=!0,this.locale.bindObjectProperty(R,"textContent",J4+"interpolation.cubic"),n0.appendChild(R),n0.onchange=()=>{this.synth.setInterpolationType(parseInt(n0.value))}}let m0=document.createElement("div");m0.classList.add("synthui_controller"),this.uiDiv.appendChild(m0);let f0=document.createElement("button");this.locale.bindObjectProperty(f0,"textContent",J4+"toggleButton.title"),this.locale.bindObjectProperty(f0,"title",J4+"toggleButton.description"),f0.classList.add("synthui_button"),f0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},o.appendChild(this.volumeController.div),o.appendChild(this.panController.div),o.appendChild(this.transposeController.div),o.appendChild(r),o.appendChild(l),o.appendChild(c),o.appendChild(f),o.appendChild(w),o.appendChild(n0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,c,f,f0,w,n0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(f0),m0.appendChild(o),this.mainControllerDiv=m0,this.mainControllerDiv.onclick=A0=>A0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(R8(this.effectsConfigWindow),this.effectsConfigWindow=void 0),m0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Wy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",r=>{this.controllers[r.channel].preset.set(`${r.bank}:${r.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let r of this.controllers)r.pan.update(64),r.mod.update(0),r.chorus.update(0),r.pitchWheel.update(0),r.expression.update(127),r.volume.update(100),r.reverb.update(0),r.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,c=r.channel,f=r.controllerValue;switch(l){default:break;case p3.expressionController:this.controllers[c].expression.update(f);break;case p3.mainVolume:this.controllers[c].volume.update(f);break;case p3.pan:this.controllers[c].pan.update(f);break;case p3.modulationWheel:this.controllers[c].mod.update(f);break;case p3.chorusDepth:this.controllers[c].chorus.update(f);break;case p3.reverbDepth:this.controllers[c].reverb.update(f);break;case p3.brightness:this.controllers[c].brightness.update(f)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",r=>{let l=r.MSB<<7|r.LSB;this.controllers[r.channel].pitchWheel.update(l-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",r=>{this.controllers[r.channel].drumsToggle.innerHTML=r.isDrumChannel?DC(32):_C(32),this.controllers[r.channel].preset.reload(r.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let r=this.createChannelController(this.controllers.length);this.controllers.push(r),o.appendChild(r.controller),this.hideControllers()})}var J4="locale.synthesizerController.",Or=class{constructor(r,l,c){this.channelColors=r;let f=l;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),f.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectSynth(r){this.synth=r,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case e7.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case e7.settingsShow:this.isShown=!0,this.toggleVisibility();break;case e7.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case e7.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let r=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(r.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{r.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(R8(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),r.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{r.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((r,l)=>{let c=this.synth.channelProperties[l].voicesAmount;r.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?r.controller.classList.add("no_voices"):r.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",r=>{let l=r;this.instrumentList=l.filter(c=>c.bank!==128).sort((c,f)=>c.program===f.program?c.bank-f.bank:c.program-f.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=l.filter(c=>c.bank===128).sort((c,f)=>c.program-f.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,f)=>{let w=this.synth.channelProperties[f].isDrum?this.percussionList:this.instrumentList;c.preset.reload(w),c.preset.set(`${w[0].bank}:${w[0].program}`)})})}};Or.prototype.hideControllers=Py;Or.prototype.showControllers=Oy;Or.prototype.toggleDarkMode=qy;Or.prototype.createChannelController=Yy;Or.prototype.createChannelControllers=Jy;Or.prototype.createMainSynthController=Zy;Or.prototype.setEventListeners=Wy;var xm=null,LC=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=xm,this.selectedOutput=xm,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,K5("%cMIDI handler created!",D1.recognized),!0}catch(r){return Ie("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return Ie("Web MIDI Api not supported!",D1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),K5(`%cPlaying MIDI to %c${r.name}`,D1.info,D1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=xm,r.connectMidiOutput(void 0),K5("%cDisconnected from MIDI out.",D1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=c=>{l.sendMessage(c.data)},K5(`%cListening for messages on %c${r.name}`,D1.info,D1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=xm,r.onmidimessage=void 0,K5(`%cDisconnected from %c${r.name}`,D1.info,D1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=xm;for(let r of this.inputs)r[1].onmidimessage=void 0}};var RC=class{constructor(r){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let c=l.data.split(",");if(c[0]!=="midi")return;c.shift();let f=c.map(w=>parseInt(w,16));r.sendMessage(f)}),K5("%cWeb MIDI Link handler created!",D1.recognized)}};var UA="midi range";function jy(o,r,l){let c=0,f=this.htmlControls.keyboard,w=()=>{let n0=document.createElement("option");n0.value=c.toString(),this.locale.bindObjectProperty(n0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]),n0.style.background=r.channelColors[c%r.channelColors.length],n0.style.color="rgb(0, 0, 0)",f.channelSelector.appendChild(n0),c++};for(let n0=0;n0{o.selectChannel(parseInt(f.channelSelector.value))},f.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{f.sizeSelector.value===UA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},600);return}f.sizeSelector.value===UA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},this.addSequencer=n0=>{n0.addOnSongChangeEvent(m0=>{this.autoKeyRange&&(o.keyRange=m0.keyRange,l.keyRange=m0.keyRange),m0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{w()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",n0=>{n0.userCalled&&(o.selectChannel(n0.channel),f.channelSelector.value=n0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",n0=>{if(n0.isMuted&&n0.channel===o.channel){let m0=0;for(;r.synth.channelProperties[m0].isMuted;)m0++;m0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{o.toggleMode(),this._saveSettings()},600);return}o.toggleMode(),this._saveSettings()},f.showSelector.onclick=()=>{o.shown=!o.shown,this._saveSettings()}}var Xy=` + `;let A0=document.createElement("div");if(A0.classList.add("notification_content"),v)for(let[R,L0]of Object.entries(v))A0.style[R]=L0;m0.appendChild(A0);for(let R of r){let L0=Ky(R,f);R.onClick&&(L0.onclick=()=>R.onClick({div:m0,id:f0},L0)),A0.appendChild(L0)}c?m0.getElementsByClassName("close_btn")[0].onclick=()=>{$t(f0)}:m0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{m0.classList.add("drop")},75);let f1=setTimeout(()=>{$t(f0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(m0),_m[f0]={div:m0,timeout:f1,onclose:r0},{div:m0,id:f0}}function $t(o){if(_m[o]===void 0)return;let r=_m[o],l=r.div;clearTimeout(_m[o].timeout),l.classList.remove("drop"),setTimeout(()=>l.parentElement.removeChild(l),500),r.onclose&&r.onclose(),_m[o]=void 0}var Ai={nodesAmount:Gr.nodesAmount,defaultDelay:Gr.defaultDelay,delayVariation:Gr.delayVariation,stereoDifference:Gr.stereoDifference,oscillatorFrequency:Gr.oscillatorFrequency,oscillatorFrequencyVariation:Gr.oscillatorFrequencyVariation,oscillatorGain:Gr.oscillatorGain};function zy(o,r,l){let c=r+"effectsConfig.",f=mt(o.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:r+"disableCustomVibrato",onClick:(v,r0)=>{l.disableGSNRPparams(),r0.parentNode.removeChild(r0)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async v=>{if(v.target.files.length===0)return;v.stopImmediatePropagation(),v.preventDefault();let r0=v.target.parentElement.parentElement;r0.textContent=o.getLocaleString("locale.synthInit.genericLoading");let m0=await l.context.decodeAudioData(await v.target.files[0].arrayBuffer());l.setReverbResponse(m0),r0.textContent=o.getLocaleString("locale.synthInit.done"),K5("%cReverb response set!",D1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:Ai.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:Ai.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:Ai.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:Ai.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:Ai.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:Ai.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:Ai.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:v=>{Ai.nodesAmount=parseFloat(v.div.querySelector("input[setting='nodes']").value),Ai.defaultDelay=parseFloat(v.div.querySelector("input[setting='delay']").value),Ai.delayVariation=parseFloat(v.div.querySelector("input[setting='delay-var']").value),Ai.stereoDifference=parseFloat(v.div.querySelector("input[setting='stereo']").value),Ai.oscillatorFrequency=parseFloat(v.div.querySelector("input[setting='osc-freq']").value),Ai.defaultDelay=parseFloat(v.div.querySelector("input[setting='delay']").value),Ai.oscillatorFrequencyVariation=parseFloat(v.div.querySelector("input[setting='freq-var']").value),Ai.oscillatorGain=parseFloat(v.div.querySelector("input[setting='osc-gain']").value),l.setChorusConfig(Ai)}}],999999,!0,o);return f.div.onclick=v=>v.stopImmediatePropagation(),f}function Zy(){let o=document.createElement("div");o.classList.add("controls_wrapper"),this.voiceMeter=new ur("",J4+"mainVoiceMeter",this.locale,[],0,Fp),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new ur("",J4+"mainVolumeMeter",this.locale,[],0,200,!0,A0=>{this.synth.setMainVolume(Math.round(A0)/100),this.volumeController.update(A0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new ur("",J4+"mainPanMeter",this.locale,[],-1,1,!0,A0=>{this.synth.setMasterPan(A0),this.panController.update(A0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new ur("",J4+"mainTransposeMeter",this.locale,[],-12,12,!0,A0=>{this.synth.transpose(Math.round(A0*2)/2),this.transposeController.update(Math.round(A0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let r=document.createElement("button");this.locale.bindObjectProperty(r,"textContent",J4+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",J4+"midiPanic.description"),r.classList.add("synthui_button"),r.classList.add("main_controller_element"),r.onclick=()=>this.synth.stopAll(!0);let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",J4+"systemReset.title"),this.locale.bindObjectProperty(l,"title",J4+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((A0,f1)=>{A0.pitchWheel.isLocked&&A0.pitchWheel.lockMeter(),A0.pan.isLocked&&A0.pan.lockMeter(),A0.expression.isLocked&&A0.expression.lockMeter(),A0.volume.isLocked&&A0.volume.lockMeter(),A0.mod.isLocked&&A0.mod.lockMeter(),A0.chorus.isLocked&&A0.chorus.lockMeter(),A0.reverb.isLocked&&A0.reverb.lockMeter(),A0.brightness.isLocked&&A0.brightness.lockMeter(),A0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(f1,ri,!1),A0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(f1,0,!0),A0.transpose.update(0),A0.soloButton.innerHTML=hh(t7),A0.muteButton.innerHTML=bm(t7),this.synth.muteChannel(f1,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",J4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",J4+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let f=document.createElement("button");this.locale.bindObjectProperty(f,"textContent",J4+"effectsConfig.button.title"),this.locale.bindObjectProperty(f,"title",J4+"effectsConfig.button.description"),f.classList.add("synthui_button"),f.classList.add("main_controller_element"),f.onclick=()=>{if(this.effectsConfigWindow!==void 0){$t(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=zy(this.locale,J4,this.synth).id};let v=document.createElement("a");v.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",v.target="#",v.classList.add("main_controller_element"),v.classList.add("synthui_button"),this.locale.bindObjectProperty(v,"textContent",J4+"helpButton.title"),this.locale.bindObjectProperty(v,"title",J4+"helpButton.description");let r0=document.createElement("select");r0.classList.add("main_controller_element"),r0.classList.add("synthui_button"),this.locale.bindObjectProperty(r0,"title",J4+"interpolation.description");{let A0=document.createElement("option");A0.value="0",this.locale.bindObjectProperty(A0,"textContent",J4+"interpolation.linear"),r0.appendChild(A0);let f1=document.createElement("option");f1.value="1",this.locale.bindObjectProperty(f1,"textContent",J4+"interpolation.nearestNeighbor"),r0.appendChild(f1);let R=document.createElement("option");R.value="2",R.selected=!0,this.locale.bindObjectProperty(R,"textContent",J4+"interpolation.cubic"),r0.appendChild(R),r0.onchange=()=>{this.synth.setInterpolationType(parseInt(r0.value))}}let m0=document.createElement("div");m0.classList.add("synthui_controller"),this.uiDiv.appendChild(m0);let f0=document.createElement("button");this.locale.bindObjectProperty(f0,"textContent",J4+"toggleButton.title"),this.locale.bindObjectProperty(f0,"title",J4+"toggleButton.description"),f0.classList.add("synthui_button"),f0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},o.appendChild(this.volumeController.div),o.appendChild(this.panController.div),o.appendChild(this.transposeController.div),o.appendChild(r),o.appendChild(l),o.appendChild(c),o.appendChild(f),o.appendChild(v),o.appendChild(r0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,c,f,f0,v,r0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(f0),m0.appendChild(o),this.mainControllerDiv=m0,this.mainControllerDiv.onclick=A0=>A0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&($t(this.effectsConfigWindow),this.effectsConfigWindow=void 0),m0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Wy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",r=>{this.controllers[r.channel].preset.set(`${r.bank}:${r.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let r of this.controllers)r.pan.update(64),r.mod.update(0),r.chorus.update(0),r.pitchWheel.update(0),r.expression.update(127),r.volume.update(100),r.reverb.update(0),r.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,c=r.channel,f=r.controllerValue;switch(l){default:break;case p3.expressionController:this.controllers[c].expression.update(f);break;case p3.mainVolume:this.controllers[c].volume.update(f);break;case p3.pan:this.controllers[c].pan.update(f);break;case p3.modulationWheel:this.controllers[c].mod.update(f);break;case p3.chorusDepth:this.controllers[c].chorus.update(f);break;case p3.reverbDepth:this.controllers[c].reverb.update(f);break;case p3.brightness:this.controllers[c].brightness.update(f)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",r=>{let l=r.MSB<<7|r.LSB;this.controllers[r.channel].pitchWheel.update(l-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",r=>{this.controllers[r.channel].drumsToggle.innerHTML=r.isDrumChannel?DC(32):_C(32),this.controllers[r.channel].preset.reload(r.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let r=this.createChannelController(this.controllers.length);this.controllers.push(r),o.appendChild(r.controller),this.hideControllers()})}var J4="locale.synthesizerController.",qr=class{constructor(r,l,c){this.channelColors=r;let f=l;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),f.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectSynth(r){this.synth=r,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case e7.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case e7.settingsShow:this.isShown=!0,this.toggleVisibility();break;case e7.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case e7.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let r=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(r.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{r.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&($t(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),r.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{r.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((r,l)=>{let c=this.synth.channelProperties[l].voicesAmount;r.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?r.controller.classList.add("no_voices"):r.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",r=>{let l=r;this.instrumentList=l.filter(c=>c.bank!==128).sort((c,f)=>c.program===f.program?c.bank-f.bank:c.program-f.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=l.filter(c=>c.bank===128).sort((c,f)=>c.program-f.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,f)=>{let v=this.synth.channelProperties[f].isDrum?this.percussionList:this.instrumentList;c.preset.reload(v),c.preset.set(`${v[0].bank}:${v[0].program}`)})})}};qr.prototype.hideControllers=Py;qr.prototype.showControllers=Oy;qr.prototype.toggleDarkMode=qy;qr.prototype.createChannelController=Yy;qr.prototype.createChannelControllers=Jy;qr.prototype.createMainSynthController=Zy;qr.prototype.setEventListeners=Wy;var xm=null,LC=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=xm,this.selectedOutput=xm,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,K5("%cMIDI handler created!",D1.recognized),!0}catch(r){return Ie("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return Ie("Web MIDI Api not supported!",D1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),K5(`%cPlaying MIDI to %c${r.name}`,D1.info,D1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=xm,r.connectMidiOutput(void 0),K5("%cDisconnected from MIDI out.",D1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=c=>{l.sendMessage(c.data)},K5(`%cListening for messages on %c${r.name}`,D1.info,D1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=xm,r.onmidimessage=void 0,K5(`%cDisconnected from %c${r.name}`,D1.info,D1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=xm;for(let r of this.inputs)r[1].onmidimessage=void 0}};var RC=class{constructor(r){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let c=l.data.split(",");if(c[0]!=="midi")return;c.shift();let f=c.map(v=>parseInt(v,16));r.sendMessage(f)}),K5("%cWeb MIDI Link handler created!",D1.recognized)}};var UA="midi range";function jy(o,r,l){let c=0,f=this.htmlControls.keyboard,v=()=>{let r0=document.createElement("option");r0.value=c.toString(),this.locale.bindObjectProperty(r0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]),r0.style.background=r.channelColors[c%r.channelColors.length],r0.style.color="rgb(0, 0, 0)",f.channelSelector.appendChild(r0),c++};for(let r0=0;r0{o.selectChannel(parseInt(f.channelSelector.value))},f.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{f.sizeSelector.value===UA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},600);return}f.sizeSelector.value===UA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},this.addSequencer=r0=>{r0.addOnSongChangeEvent(m0=>{this.autoKeyRange&&(o.keyRange=m0.keyRange,l.keyRange=m0.keyRange),m0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{v()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",r0=>{r0.userCalled&&(o.selectChannel(r0.channel),f.channelSelector.value=r0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",r0=>{if(r0.isMuted&&r0.channel===o.channel){let m0=0;for(;r.synth.channelProperties[m0].isMuted;)m0++;m0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{o.toggleMode(),this._saveSettings()},600);return}o.toggleMode(),this._saveSettings()},f.showSelector.onclick=()=>{o.shown=!o.shown,this._saveSettings()}}var Xy=`

@@ -157,7 +157,7 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(
@@ -190,6 +190,7 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>( @@ -202,7 +203,7 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(
-`;async function ew(){let o=await window.savedSettings;if(!o.interface)return;K5("Loading saved settings...",o);let r=this.htmlControls.renderer,l=this.renderer,c=o.renderer;l.noteFallingTimeMs=c.noteFallingTimeMs,r.noteTimeSlider.value=c.noteFallingTimeMs,r.noteTimeSlider.dispatchEvent(new Event("input")),xn(r.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,r.analyserThicknessSlider.value=c.waveformThickness,r.analyserThicknessSlider.dispatchEvent(new Event("input")),l.lineThickness=c.waveformThickness,xn(r.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let f=c.sampleSize;r.analyserFftSlider.value=Math.log2(f),r.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=f,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(f)+2)),l.updateFftSize(),xn(r.analyserFftSlider).innerText=`${f}`,l.waveMultiplier=c.amplifier,r.waveMultiplierSlizer.value=c.amplifier,r.waveMultiplierSlizer.dispatchEvent(new Event("input")),xn(r.waveMultiplierSlizer).innerText=c.amplifier.toString();let w=this.htmlControls.renderer;l.renderAnalysers=c.renderWaveforms,w.analyserToggler.checked=c.renderWaveforms,l.renderNotes=c.renderNotes,w.noteToggler.checked=c.renderNotes,l.drawActiveNotes=c.drawActiveNotes,w.activeNoteToggler.checked=c.drawActiveNotes,l.showVisualPitch=c.showVisualPitch,w.visualPitchToggler.checked=c.showVisualPitch,l.stabilizeWaveforms=c.stabilizeWaveforms,w.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,l.keyRange=c.keyRange;let n0=this.htmlControls.keyboard,m0=this.midiKeyboard,f0=o.keyboard;m0.setKeyRange(f0.keyRange,!1),f0.autoRange?(n0.sizeSelector.value=UA,this.autoKeyRange=!0):(this.autoKeyRange=!1,n0.sizeSelector.value=Object.keys(this.keyboardSizes).find(A0=>this.keyboardSizes[A0].min===f0.keyRange.min&&this.keyboardSizes[A0].max===f0.keyRange.max)),f0.mode==="dark"&&(m0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),f0.show===!1&&(m0.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(o.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=o.interface.language},100),o.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=o.interface.layout||"downwards",this._changeLayout(o.interface.layout||"downwards")}function tw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function iw(){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===UA,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 rw(){let o=this.htmlControls.interface.themeSelector;o.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let r=this.htmlControls.interface.languageSelector;for(let[c,f]of Object.entries(this.locales)){let w=document.createElement("option");w.value=c,w.textContent=f.localeName,r.appendChild(w)}r.onchange=()=>{this.locale.changeGlobalLocale(r.value),this._saveSettings()};let l=this.htmlControls.interface.layoutSelector;l.onchange=()=>{this._changeLayout(l.value),this._saveSettings(),l.blur()}}function nw(o){let r=document.getElementById("keyboard_canvas_wrapper"),l=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(o){case"downwards":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":r.classList.add("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":r.classList.remove("upwards"),r.classList.add("left_to_right"),r.classList.remove("right_to_left"),l.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.add("right_to_left"),l.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var FC={start:"#101010",end:"#212121"},MC={start:"#bbb",end:"#f0f0f0"},sw="#eee",ow="#333",TC={start:"#222",end:"#333"},NC={start:"#ccc",end:"#fff"},Ln=.2;function Aw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let o=document.styleSheets[0].cssRules;for(let r of o)if(r.selectorText==="*"){this.mode==="dark"?(Rn(ow,sw,Ln,r,"--font-color"),Rn(NC.start,TC.start,Ln,r,"--top-buttons-color-start"),Rn(NC.end,TC.end,Ln,r,"--top-buttons-color-end"),Rn(MC.start,FC.start,Ln,r,"--top-color-start"),Rn(MC.end,FC.end,Ln,r,"--top-color-end")):(Rn(sw,ow,Ln,r,"--font-color"),Rn(TC.start,NC.start,Ln,r,"--top-buttons-color-start"),Rn(TC.end,NC.end,Ln,r,"--top-buttons-color-end"),Rn(FC.start,MC.start,Ln,r,"--top-color-start"),Rn(FC.end,MC.end,Ln,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var fh={};function Rn(o,r,l,c,f){fh[f]&&(clearInterval(fh[f]),fh[f]=void 0);function w(R){R.length===4&&(R=`#${R[1]}${R[1]}${R[2]}${R[2]}${R[3]}${R[3]}`);let L0=parseInt(R.slice(1),16);return{r:L0>>16&255,g:L0>>8&255,b:L0&255}}function n0(R,L0,k0){return R+(L0-R)*k0}let m0=w(o),f0=w(r),A0=performance.now()/1e3;function f1(){let L0=performance.now()/1e3-A0,k0=Math.min(L0/l,1),S1=Math.round(n0(m0.r,f0.r,k0)),e2=Math.round(n0(m0.g,f0.g,k0)),y1=Math.round(n0(m0.b,f0.b,k0));c.style.setProperty(f,`rgb(${S1}, ${e2}, ${y1})`),k0>=1&&(clearInterval(fh[f]),fh[f]=void 0)}fh[f]=setInterval(f1,1e3/60)}function aw(o){let r=this.htmlControls.renderer;r.noteTimeSlider.addEventListener("input",()=>{o.noteFallingTimeMs=r.noteTimeSlider.value,xn(r.noteTimeSlider).innerText=`${r.noteTimeSlider.value}ms`}),r.noteTimeSlider.onchange=()=>{this._saveSettings()},r.analyserThicknessSlider.addEventListener("input",()=>{o.lineThickness=parseInt(r.analyserThicknessSlider.value),xn(r.analyserThicknessSlider).innerText=`${r.analyserThicknessSlider.value}px`}),r.analyserThicknessSlider.onchange=()=>{this._saveSettings()},r.analyserFftSlider.addEventListener("input",()=>{let l=Math.pow(2,parseInt(r.analyserFftSlider.value));o.normalAnalyserFft=l,o.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(r.analyserFftSlider.value)+2)),o.updateFftSize(),xn(r.analyserFftSlider).innerText=`${l}`}),r.analyserFftSlider.onchange=()=>{this._saveSettings()},r.waveMultiplierSlizer.addEventListener("input",()=>{o.waveMultiplier=parseInt(r.waveMultiplierSlizer.value),xn(r.waveMultiplierSlizer).innerText=r.waveMultiplierSlizer.value}),r.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},r.analyserToggler.onclick=()=>{o.renderAnalysers=!o.renderAnalysers,this._saveSettings()},r.noteToggler.onclick=()=>{o.renderNotes=!o.renderNotes,this._saveSettings()},r.activeNoteToggler.onclick=()=>{o.drawActiveNotes=!o.drawActiveNotes,this._saveSettings()},r.visualPitchToggler.onclick=()=>{o.showVisualPitch=!o.showVisualPitch,this._saveSettings()},r.stabilizeWaveformsToggler.onclick=()=>{o.stabilizeWaveforms=!o.stabilizeWaveforms,this._saveSettings()}}function $w(o,r,l){o.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(o,l.synth),this._createMidiOutputHandler(o,r)):(RA||mt(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function lw(o,r){if(o.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let c of o.inputs){let f=document.createElement("option");f.value=c[0],f.innerText=c[1].name,l.appendChild(f)}l.onchange=()=>{l.value==="-1"?o.disconnectAllDevicesFromSynth():o.connectDeviceToSynth(o.inputs.get(l.value),r),this._saveSettings()}}function cw(o,r){if(!o.outputs){setTimeout(()=>{this._createMidiOutputHandler(o,r)},1e3);return}if(o.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let c of o.outputs){let f=document.createElement("option");f.value=c[0],f.innerText=c[1].name,l.appendChild(f)}l.onchange=()=>{r.seq&&(l.value==="-1"?o.disconnectSeqFromMIDI(r.seq):o.connectMIDIOutputToSeq(o.outputs.get(l.value),r.seq),this._saveSettings())}}var gw={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 hw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var uw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var fw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:gw,keyboardSettings:hw,midiSettings:uw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var dw={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 Iw={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 Ew={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 mw={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:Iw,effectsConfig:Ew};var Cw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var pw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var Bw={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:pw,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:dw,settings:fw,synthesizerController:mw,sequencerController:Cw};var Qw={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 yw={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 ww={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 vw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Qw,keyboardSettings:yw,midiSettings:ww,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var kw={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 Sw={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 bw={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 Dw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Sw,effectsConfig:bw};var _w={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var xw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Lw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:xw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:kw,settings:vw,synthesizerController:Dw,sequencerController:_w};var Rw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Fw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var Mw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Tw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Rw,keyboardSettings:Fw,midiSettings:Mw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var Nw={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Gw={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var Uw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Gw};var Pw={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var Ow={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var qw={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:Ow,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +`;async function ew(){let o=await window.savedSettings;if(!o.interface)return;K5("Loading saved settings...",o);let r=this.htmlControls.renderer,l=this.renderer,c=o.renderer;l.noteFallingTimeMs=c.noteFallingTimeMs,r.noteTimeSlider.value=c.noteFallingTimeMs,r.noteTimeSlider.dispatchEvent(new Event("input")),Ln(r.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,r.analyserThicknessSlider.value=c.waveformThickness,r.analyserThicknessSlider.dispatchEvent(new Event("input")),l.lineThickness=c.waveformThickness,Ln(r.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let f=c.sampleSize;r.analyserFftSlider.value=Math.log2(f),r.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=f,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(f)+2)),l.updateFftSize(),Ln(r.analyserFftSlider).innerText=`${f}`,l.waveMultiplier=c.amplifier,r.waveMultiplierSlizer.value=c.amplifier,r.waveMultiplierSlizer.dispatchEvent(new Event("input")),Ln(r.waveMultiplierSlizer).innerText=c.amplifier.toString();let v=this.htmlControls.renderer;l.renderAnalysers=c.renderWaveforms,v.analyserToggler.checked=c.renderWaveforms,l.renderNotes=c.renderNotes,v.noteToggler.checked=c.renderNotes,l.drawActiveNotes=c.drawActiveNotes,v.activeNoteToggler.checked=c.drawActiveNotes,l.showVisualPitch=c.showVisualPitch,v.visualPitchToggler.checked=c.showVisualPitch,l.stabilizeWaveforms=c.stabilizeWaveforms,v.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,l.keyRange=c.keyRange;let r0=this.htmlControls.keyboard,m0=this.midiKeyboard,f0=o.keyboard;m0.setKeyRange(f0.keyRange,!1),f0.autoRange?(r0.sizeSelector.value=UA,this.autoKeyRange=!0):(this.autoKeyRange=!1,r0.sizeSelector.value=Object.keys(this.keyboardSizes).find(A0=>this.keyboardSizes[A0].min===f0.keyRange.min&&this.keyboardSizes[A0].max===f0.keyRange.max)),f0.mode==="dark"&&(m0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),f0.show===!1&&(m0.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(o.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=o.interface.language},100),o.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=o.interface.layout||"downwards",this._changeLayout(o.interface.layout||"downwards")}function tw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function iw(){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===UA,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 rw(){let o=this.htmlControls.interface.themeSelector;o.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let r=this.htmlControls.interface.languageSelector;for(let[c,f]of Object.entries(this.locales)){let v=document.createElement("option");v.value=c,v.textContent=f.localeName,r.appendChild(v)}r.onchange=()=>{if(r.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),r.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(r.value),this._saveSettings()};let l=this.htmlControls.interface.layoutSelector;l.onchange=()=>{this._changeLayout(l.value),this._saveSettings(),l.blur()}}function nw(o){let r=document.getElementById("keyboard_canvas_wrapper"),l=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(o){case"downwards":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":r.classList.add("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":r.classList.remove("upwards"),r.classList.add("left_to_right"),r.classList.remove("right_to_left"),l.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.add("right_to_left"),l.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var FC={start:"#101010",end:"#212121"},MC={start:"#bbb",end:"#f0f0f0"},sw="#eee",ow="#333",TC={start:"#222",end:"#333"},NC={start:"#ccc",end:"#fff"},Rn=.2;function Aw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let o=document.styleSheets[0].cssRules;for(let r of o)if(r.selectorText==="*"){this.mode==="dark"?(Fn(ow,sw,Rn,r,"--font-color"),Fn(NC.start,TC.start,Rn,r,"--top-buttons-color-start"),Fn(NC.end,TC.end,Rn,r,"--top-buttons-color-end"),Fn(MC.start,FC.start,Rn,r,"--top-color-start"),Fn(MC.end,FC.end,Rn,r,"--top-color-end")):(Fn(sw,ow,Rn,r,"--font-color"),Fn(TC.start,NC.start,Rn,r,"--top-buttons-color-start"),Fn(TC.end,NC.end,Rn,r,"--top-buttons-color-end"),Fn(FC.start,MC.start,Rn,r,"--top-color-start"),Fn(FC.end,MC.end,Rn,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var fh={};function Fn(o,r,l,c,f){fh[f]&&(clearInterval(fh[f]),fh[f]=void 0);function v(R){R.length===4&&(R=`#${R[1]}${R[1]}${R[2]}${R[2]}${R[3]}${R[3]}`);let L0=parseInt(R.slice(1),16);return{r:L0>>16&255,g:L0>>8&255,b:L0&255}}function r0(R,L0,k0){return R+(L0-R)*k0}let m0=v(o),f0=v(r),A0=performance.now()/1e3;function f1(){let L0=performance.now()/1e3-A0,k0=Math.min(L0/l,1),S1=Math.round(r0(m0.r,f0.r,k0)),e2=Math.round(r0(m0.g,f0.g,k0)),y1=Math.round(r0(m0.b,f0.b,k0));c.style.setProperty(f,`rgb(${S1}, ${e2}, ${y1})`),k0>=1&&(clearInterval(fh[f]),fh[f]=void 0)}fh[f]=setInterval(f1,1e3/60)}function aw(o){let r=this.htmlControls.renderer;r.noteTimeSlider.addEventListener("input",()=>{o.noteFallingTimeMs=r.noteTimeSlider.value,Ln(r.noteTimeSlider).innerText=`${r.noteTimeSlider.value}ms`}),r.noteTimeSlider.onchange=()=>{this._saveSettings()},r.analyserThicknessSlider.addEventListener("input",()=>{o.lineThickness=parseInt(r.analyserThicknessSlider.value),Ln(r.analyserThicknessSlider).innerText=`${r.analyserThicknessSlider.value}px`}),r.analyserThicknessSlider.onchange=()=>{this._saveSettings()},r.analyserFftSlider.addEventListener("input",()=>{let l=Math.pow(2,parseInt(r.analyserFftSlider.value));o.normalAnalyserFft=l,o.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(r.analyserFftSlider.value)+2)),o.updateFftSize(),Ln(r.analyserFftSlider).innerText=`${l}`}),r.analyserFftSlider.onchange=()=>{this._saveSettings()},r.waveMultiplierSlizer.addEventListener("input",()=>{o.waveMultiplier=parseInt(r.waveMultiplierSlizer.value),Ln(r.waveMultiplierSlizer).innerText=r.waveMultiplierSlizer.value}),r.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},r.analyserToggler.onclick=()=>{o.renderAnalysers=!o.renderAnalysers,this._saveSettings()},r.noteToggler.onclick=()=>{o.renderNotes=!o.renderNotes,this._saveSettings()},r.activeNoteToggler.onclick=()=>{o.drawActiveNotes=!o.drawActiveNotes,this._saveSettings()},r.visualPitchToggler.onclick=()=>{o.showVisualPitch=!o.showVisualPitch,this._saveSettings()},r.stabilizeWaveformsToggler.onclick=()=>{o.stabilizeWaveforms=!o.stabilizeWaveforms,this._saveSettings()}}function $w(o,r,l){o.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(o,l.synth),this._createMidiOutputHandler(o,r)):(hr||mt(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function lw(o,r){if(o.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let c of o.inputs){let f=document.createElement("option");f.value=c[0],f.innerText=c[1].name,l.appendChild(f)}l.onchange=()=>{l.value==="-1"?o.disconnectAllDevicesFromSynth():o.connectDeviceToSynth(o.inputs.get(l.value),r),this._saveSettings()}}function cw(o,r){if(!o.outputs){setTimeout(()=>{this._createMidiOutputHandler(o,r)},1e3);return}if(o.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let c of o.outputs){let f=document.createElement("option");f.value=c[0],f.innerText=c[1].name,l.appendChild(f)}l.onchange=()=>{r.seq&&(l.value==="-1"?o.disconnectSeqFromMIDI(r.seq):o.connectMIDIOutputToSeq(o.outputs.get(l.value),r.seq),this._saveSettings())}}var gw={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 hw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var uw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var fw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:gw,keyboardSettings:hw,midiSettings:uw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",helpTranslate:"Translate SpessaSynth"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var dw={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 Iw={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 Ew={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 mw={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:Iw,effectsConfig:Ew};var Cw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var pw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var Bw={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:pw,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:dw,settings:fw,synthesizerController:mw,sequencerController:Cw};var Qw={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 yw={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 ww={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 vw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Qw,keyboardSettings:yw,midiSettings:ww,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"}}}};var kw={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 Sw={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 bw={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 Dw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Sw,effectsConfig:bw};var _w={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var xw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Lw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:xw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:kw,settings:vw,synthesizerController:Dw,sequencerController:_w};var Rw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Fw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var Mw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Tw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Rw,keyboardSettings:Fw,midiSettings:Mw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var Nw={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Gw={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var Uw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Gw};var Pw={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var Ow={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var qw={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:Ow,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 \uFF08\u30A8\u30E9\u30FC\u306B\u3064\u3044\u3066\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`,chromeMobile:`SpessaSynth\u306FChrome Mobile\u3067\u306E\u52D5\u4F5C\u304C\u826F\u304F\u3042\u308A\u307E\u305B\u3093\u3002 @@ -213,7 +214,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 Xw={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:jw,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:Kw,settings:Vw,synthesizerController:Zw,sequencerController:Ww};var Pp="en",k$={en:Bw,pl:Lw,ja:qw,fr:Xw};var oD=.2,Qi=class{addSequencer;constructor(r,l,c,f,w,n0,m0,f0){this.mode="dark",this.autoKeyRange=!1,this.renderer=f,this.midiKeyboard=w,this.midiDeviceHandler=n0,this.synthui=l,this.sequi=c,this.locale=f0,this.musicMode=m0,this.locales=k$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let A0=document.createElement("div");A0.style.position="relative",A0.classList.add("seamless_button"),A0.classList.add("settings_button"),r.appendChild(A0);let f1=document.createElement("div");f1.classList.add("seamless_button"),this.locale.bindObjectProperty(f1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(f1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(f1);let R=document.createElement("div");R.classList.add("seamless_button"),this.locale.bindObjectProperty(R,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(R,"title","locale.hideTopBar.description"),r.appendChild(R);let L0=document.getElementsByClassName("show_top_button")[0];L0.innerHTML=Ly(20);let k0=document.createElement("span");this.locale.bindObjectProperty(k0,"innerText","locale.settings.toggleButton"),A0.appendChild(k0);let S1=document.createElement("div");S1.innerHTML=_y(24),S1.classList.add("gear"),A0.appendChild(S1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,A0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),f1.onclick=this.toggleMusicPlayerMode.bind(this),R.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=Xy,Vy(this.mainDiv);for(let y1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(y1,"textContent",y1.getAttribute("translate-path"));for(let y1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Y2=y1.getAttribute("translate-path-title");this.locale.bindObjectProperty(y1,"textContent",Y2+".title"),this.locale.bindObjectProperty(y1,"title",Y2+".description")}this.getHtmlControls(),document.addEventListener("keydown",y1=>{switch(y1.key.toLowerCase()){case e7.settingsShow:this.setVisibility(!this.visible);break;case e7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(f,w,n0,c,l)}):this.createHandlers(f,w,n0,c,l),this.topPartVisible=!0;let e2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,V2=window.outerWidth,i3;i3=Y2===V2&&y1===T2,i3!==e2&&(e2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let r=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];r.style.display="",setTimeout(()=>{r.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let r=document.getElementsByClassName("top_part")[0];r.classList.add("top_part_hidden"),setTimeout(()=>{r.style.display="none"},200);let l=document.getElementsByClassName("show_top_button")[0];l.style.display="flex",setTimeout(()=>{l.classList.add("shown")},75),l.onclick=this.showTopPart.bind(this)}setVisibility(r){this.animationId&&clearTimeout(this.animationId),r?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},oD*1e3)),this.visible=r}createHandlers(r,l,c,f,w){this._createRendererHandler(r),this._createMidiSettingsHandler(c,f,w),this._createKeyboardHandler(l,w,r),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};Qi.prototype._toggleDarkMode=Aw;Qi.prototype._createInterfaceSettingsHandler=rw;Qi.prototype._changeLayout=nw;Qi.prototype._createRendererHandler=aw;Qi.prototype._createMidiSettingsHandler=$w;Qi.prototype._createMidiInputHandler=lw;Qi.prototype._createMidiOutputHandler=cw;Qi.prototype._createKeyboardHandler=jy;Qi.prototype._loadSettings=ew;Qi.prototype._serializeSettings=iw;Qi.prototype._saveSettings=tw;var ev=.5,GC=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=` +(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var Xw={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:jw,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:Kw,settings:Vw,synthesizerController:Zw,sequencerController:Ww};var Pp="en",k$={en:Bw,pl:Lw,ja:qw,fr:Xw};var oD=.2,Qi=class{addSequencer;constructor(r,l,c,f,v,r0,m0,f0){this.mode="dark",this.autoKeyRange=!1,this.renderer=f,this.midiKeyboard=v,this.midiDeviceHandler=r0,this.synthui=l,this.sequi=c,this.locale=f0,this.musicMode=m0,this.locales=k$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let A0=document.createElement("div");A0.style.position="relative",A0.classList.add("seamless_button"),A0.classList.add("settings_button"),r.appendChild(A0);let f1=document.createElement("div");f1.classList.add("seamless_button"),this.locale.bindObjectProperty(f1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(f1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(f1);let R=document.createElement("div");R.classList.add("seamless_button"),this.locale.bindObjectProperty(R,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(R,"title","locale.hideTopBar.description"),r.appendChild(R);let L0=document.getElementsByClassName("show_top_button")[0];L0.innerHTML=Ly(20);let k0=document.createElement("span");this.locale.bindObjectProperty(k0,"innerText","locale.settings.toggleButton"),A0.appendChild(k0);let S1=document.createElement("div");S1.innerHTML=_y(24),S1.classList.add("gear"),A0.appendChild(S1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,A0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),f1.onclick=this.toggleMusicPlayerMode.bind(this),R.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=Xy,Vy(this.mainDiv);for(let y1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(y1,"textContent",y1.getAttribute("translate-path"));for(let y1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Y2=y1.getAttribute("translate-path-title");this.locale.bindObjectProperty(y1,"textContent",Y2+".title"),this.locale.bindObjectProperty(y1,"title",Y2+".description")}this.getHtmlControls(),document.addEventListener("keydown",y1=>{switch(y1.key.toLowerCase()){case e7.settingsShow:this.setVisibility(!this.visible);break;case e7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(f,v,r0,c,l)}):this.createHandlers(f,v,r0,c,l),this.topPartVisible=!0;let e2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,V2=window.outerWidth,i3;i3=Y2===V2&&y1===T2,i3!==e2&&(e2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let r=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];r.style.display="",setTimeout(()=>{r.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let r=document.getElementsByClassName("top_part")[0];r.classList.add("top_part_hidden"),setTimeout(()=>{r.style.display="none"},200);let l=document.getElementsByClassName("show_top_button")[0];l.style.display="flex",setTimeout(()=>{l.classList.add("shown")},75),l.onclick=this.showTopPart.bind(this)}setVisibility(r){this.animationId&&clearTimeout(this.animationId),r?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},oD*1e3)),this.visible=r}createHandlers(r,l,c,f,v){this._createRendererHandler(r),this._createMidiSettingsHandler(c,f,v),this._createKeyboardHandler(l,v,r),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};Qi.prototype._toggleDarkMode=Aw;Qi.prototype._createInterfaceSettingsHandler=rw;Qi.prototype._changeLayout=nw;Qi.prototype._createRendererHandler=aw;Qi.prototype._createMidiSettingsHandler=$w;Qi.prototype._createMidiInputHandler=lw;Qi.prototype._createMidiOutputHandler=cw;Qi.prototype._createKeyboardHandler=jy;Qi.prototype._loadSettings=ew;Qi.prototype._serializeSettings=iw;Qi.prototype._saveSettings=tw;var ev=.5,GC=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=`
@@ -257,20 +258,20 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let c of this.mainDiv.querySelectorAll("*[translate-path]"))l.bindObjectProperty(c,"textContent",c.getAttribute("translate-path"));for(let c of this.mainDiv.querySelectorAll("*[translate-path-title]"))l.bindObjectProperty(c,"textContent",c.getAttribute("translate-path-title")+".title"),l.bindObjectProperty(c,"title",c.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=l}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(r){document.getElementById("player_info_title").textContent=r}connectSequencer(r){this.seq=r,this.seq.addOnSongChangeEvent(l=>{let c=l.copyright.replaceAll(` -`,""),f=(k0,S1,e2=!0)=>{let y1=document.getElementById(k0);if(S1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",S1.length>30&&e2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=S1,y1.appendChild(Y2)}else y1.textContent=S1;else y1.parentElement.classList.add("hidden")};f("player_info_detail",c),f("player_info_time",m$(this.seq.duration).time),f("player_info_file_name",l.fileName,!1);let w=(k0,S1,e2,y1="")=>this.seq.midiData.RMIDInfo?.[k0]===void 0?S1:y1+e2.decode(this.seq.midiData.RMIDInfo?.[k0]).replace(/\0$/,""),n0=w("IENC","ascii",new TextDecoder),m0=new TextDecoder(n0);f("player_info_album",w("IPRD","",m0)),f("player_info_artist",w("IART","",m0)),f("player_info_genre",w("IGNR","",m0)),f("player_info_creation",w("ICRD","",m0)+w("ICRT","",m0,` -`)),f("player_info_comment",w("ICMT","",m0));let f0=this.mainDiv.getElementsByTagName("svg")[0],A0=this.mainDiv.getElementsByTagName("img")[0],f1=document.getElementById("player_info_background_image");if(!l.isEmbedded){f0.style.display="",A0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){f0.style.display="",A0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}f0.style.display="none",A0.style.display="";let R=new Blob([l.RMIDInfo.IPIC.buffer]),L0=URL.createObjectURL(R);A0.src=L0,f1.style.setProperty("--bg-image",`url('${L0}')`)},"player-js-song-change")}setVisibility(r,l){if(r===this.visible)return;this.visible=r,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(r){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let f=l.clientHeight,w=l.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${w}px`,c.style.height=`${f}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},ev*1e3)}else{let f=c.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${f}px`,l.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},ev*1e3)}}};var UC=class{onLocaleChanged=[];constructor(r){this.locale=k$[r]||k$[Pp],this.fallbackLocale=k$[Pp],this.localeCode=r,this._boundObjectProperties=[]}getLocaleString(r,l=[]){let c=this._resolveLocalePath(r);return l.length>0?this._formatLocale(c,l):c}_applyPropertyInternal(r){if(r.isEdited)return;let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]=l}_validatePropertyIntegrity(r){let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]!==l&&(r.isEdited=!0)}_formatLocale(r,l){return r.replace(/{(\d+)}/g,(c,f)=>typeof l[f]<"u"?l[f]:c)}bindObjectProperty(r,l,c,f=[]){let w={object:r,propertyName:l,localePath:c,formattingArguments:f,isEdited:!1};this._applyPropertyInternal(w),this._boundObjectProperties.push(w)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let c=r.split("."),f=l?this.fallbackLocale:this.locale;for(let w=1;w{this._validatePropertyIntegrity(f)}),this.locale=c,this._boundObjectProperties.forEach(f=>{this._applyPropertyInternal(f)}),this.onLocaleChanged.forEach(f=>f())}};function Op(o,r=!0,l=0,c={},f=void 0){let w=o.getChannelData(l),n0=o.getChannelData(l+1),m0=w.length,f0=2,A0=new V3(0),f1=Object.keys(c).length>0;if(f1){let a0=new TextEncoder,y5=[MA("INFO"),Ze("ICMT",a0.encode("Created with SpessaSynth"),!0)];c.artist&&y5.push(Ze("IART",a0.encode(c.artist),!0)),c.album&&y5.push(Ze("IPRD",a0.encode(c.album),!0)),c.genre&&y5.push(Ze("IGNR",a0.encode(c.genre),!0)),c.title&&y5.push(Ze("INAM",a0.encode(c.title),!0)),A0=Ze("LIST",_n(y5))}let R=new V3(0),L0=f?.end!==void 0&&f?.start!==void 0;if(L0){let a0=Math.floor(f.start*o.sampleRate),y5=Math.floor(f.end*o.sampleRate),T3=new V3(24);c7(T3,0,4),c7(T3,0,4),h7(T3,"data"),c7(T3,0,4),c7(T3,0,4),c7(T3,a0,4);let $3=new V3(24);c7($3,1,4),c7($3,0,4),h7($3,"data"),c7($3,0,4),c7($3,0,4),c7($3,y5,4);let w6=_n([new V3([2,0,0,0]),T3,$3]);R=Ze("cue ",w6)}let k0=44,S1=m0*2*f0,e2=k0+S1+A0.length+R.length-8,y1=new Uint8Array(k0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([e2&255,e2>>8&255,e2>>16&255,e2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*f0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),40);let V2=new Uint8Array(e2+8),i3=k0;V2.set(y1,0);let r3=32767;if(r){let a0=w.map((y5,T3)=>Math.max(Math.abs(y5),Math.abs(n0[T3]))).reduce((y5,T3)=>Math.max(y5,T3));r3=a0>0?32767/a0:1}for(let a0=0;a0>8&255,V2[i3++]=T3&255,V2[i3++]=T3>>8&255}return f1&&(V2.set(A0,i3),i3+=A0.length),L0&&V2.set(R,i3),new Blob([V2.buffer],{type:"audio/wav"})}var PC="synthetizer/worklet_processor.min.js";var tv=1e3;async function iv(o=!0,r=2,l=!1,c={},f=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let w=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),n0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),m0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),f0=mt(w,[{type:"text",textContent:m0},{type:"progress"}],9999999,!1),A0=await this.seq.getMIDI(),f1=km(A0.loop.start,A0),R=km(A0.loop.end,A0),L0=R-f1,k0=A0.duration+r+L0*f,S1=this.context.sampleRate,e2=S1*k0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:S1,length:e2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+PC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,V2;try{V2=new lh(y1.destination,T2,!1,{parsedMIDI:A0,snapshot:Y2,oneOutput:l,loopCount:f},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw mt(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=f0.div.getElementsByTagName("p")[0],r3=f0.div.getElementsByClassName("notification_progress")[0],a0=tv/1e3,y5=V2.currentTime,T3=k0,$3=.1,w6=setInterval(()=>{let o9=V2.currentTime-y5;y5=V2.currentTime;let V4=V2.currentTime/k0;r3.style.width=`${V4*100}%`;let r4=o9/a0,V6=(1-V4)/r4*k0;V6!==1/0&&(T3=$3*V6+(1-$3)*T3,i3.innerText=`${n0} ${m$(T3).time}`)},tv),s6=await y1.startRendering();if(r3.style.width="100%",clearInterval(w6),i3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(o9=>setTimeout(o9,75)),l){let o9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",V4=[],r4=new Set;for(let We of A0.usedChannelsOnTrack)We.forEach(Yr=>r4.add(Yr));for(let We=0;We<16;We++){let Yr=!0;for(let Vi=We;Vi{let Ns=qA.textContent;qA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(ZC=>setTimeout(ZC,75));let Rm=Op(s6,!1,We*2),D$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(Rm,D$),qA.classList.add("green_button"),qA.textContent=Ns}})}let V6=mt(this.localeManager.getLocaleString(o9+"title"),V4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});V6.div.style.width="30rem"}else{let o9=km(A0.firstNoteOn,A0),V4=f1-o9,r4=R-o9,V6;f===0&&(V6={start:V4,end:r4});let We=Op(s6,o,0,c,V6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}R8(f0.id),this.isExporting=!1}async function rv(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(A0,f1,R)=>this.seq.midiData.RMIDInfo?.[A0]===void 0?f1:R.decode(this.seq.midiData.RMIDInfo?.[A0]).replace(/\0$/,""),c=l("IENC","ascii",new TextDecoder),f=new TextDecoder(c),w=l("IPRD","",f),n0=l("IART","",f),m0=l("IGNR","",f),f0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:r+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:r+"album",attributes:{value:w,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:n0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:m0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:A0=>{R8(A0.id);let f1=A0.div.querySelector("input[normalize-volume-toggle]").checked,R=A0.div.querySelector("input[additional-time]").value,L0=A0.div.querySelector("input[loop-count]").value,k0=A0.div.querySelector("input[separate-channels-toggle]").checked,S1=A0.div.querySelector("input[name='artist']").value,e2=A0.div.querySelector("input[name='album']").value,y1=A0.div.querySelector("input[name='song_title']").value,Y2=A0.div.querySelector("input[name='genre']").value,T2={artist:S1.length>0?S1:void 0,album:e2.length>0?e2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(f1,parseInt(R),k0,T2,parseInt(L0))}}];mt(this.localeManager.getLocaleString(o+"title"),f0,9999999,!0,this.localeManager)}async function nv(){let o=await this.seq.getMIDI();gh(o,await this.synth.getSynthesizerSnapshot());let r=SC(o),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function sv(o,r){ni("%cSearching for all used programs and keys...",D1.info);let l=16+o.midiPortChannelOffsets.reduce((R,L0)=>L0>R?L0:R),c=[];for(let R=0;R{n0[S1]>=k0.length||k0[n0[S1]].ticks0;){let R=f0(),L0=o.tracks[R];if(n0[R]>=L0.length){m0--;continue}let k0=L0[n0[R]];if(n0[R]++,k0.messageStatusByte===K3.midiPort){A0[R]=k0.messageData[0];continue}let S1=k0.messageStatusByte&240;if(S1!==K3.noteOn&&S1!==K3.controllerChange&&S1!==K3.programChange&&S1!==K3.systemExclusive)continue;let e2=(k0.messageStatusByte&15)+o.midiPortChannelOffsets[A0[R]]||0,y1=c[e2];switch(S1){case K3.programChange:y1.program=k0.messageData[0],f(y1);break;case K3.controllerChange:if(k0.messageData[0]!==p3.bankSelect||f1==="gs"&&y1.drums)continue;let Y2=k0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(f1==="xg"){let r3=Y2===120||Y2===126||Y2===127;r3!==y1.drums?(y1.drums=r3,y1.bank=y1.drums?128:T2,f(y1)):y1.bank=y1.drums?128:T2;continue}c[e2].bank=T2;break;case K3.noteOn:if(k0.messageData[1]===0)continue;f(y1),w[y1.string].add(`${k0.messageData[0]}-${k0.messageData[1]}`);break;case K3.systemExclusive:if(k0.messageData[0]!==65||k0.messageData[2]!==66||k0.messageData[3]!==18||k0.messageData[4]!==64||!(k0.messageData[5]&16)||k0.messageData[6]!==21){k0.messageData[0]===67&&k0.messageData[2]===76&&k0.messageData[5]===126&&k0.messageData[6]===0&&(f1="xg");continue}let V2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][k0.messageData[5]&15]+o.midiPortChannelOffsets[A0[R]],i3=!!(k0.messageData[7]>0&&k0.messageData[5]>>4);y1=c[V2],y1.drums=i3,y1.bank=i3?128:0,f(y1);break}}for(let R of Object.keys(w))w[R].size===0&&(K5(`%cDetected change but no keys for %c${R}`,D1.info,D1.value),delete w[R]);return i4(),w}function OC(o,r){function l(f,w){let n0=0;for(let m0=0;m0=A0.min&&L0.key<=A0.max&&L0.velocity>=f1.min&&L0.velocity<=f1.max){R=!0;break}R||(K5(`%c${f0.sample.sampleName} %cremoved from %c${f.instrumentName}%c. Use count: %c${f0.useCount-1}`,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized),f.safeDeleteZone(m0)&&(n0++,m0--,K5(`%c${f0.sample.sampleName} %cdeleted`,D1.recognized,D1.info)),f0.sample.useCount<1&&o.deleteSample(f0.sample))}return n0}gr("%cTrimming soundfont...",D1.info);let c=sv(r,o);ni("%cModifying soundfont...",D1.info),K5("Detected keys for midi:",c);for(let f=0;f{let R=f1.split("-");return{key:parseInt(R[0]),velocity:parseInt(R[1])}});ni(`%cTrimming %c${w.presetName}`,D1.info,D1.recognized),K5(`Keys for ${w.presetName}:`,f0);let A0=0;for(let f1=0;f1=L0.min&&e2.key<=L0.max&&e2.velocity>=k0.min&&e2.velocity<=k0.max){S1=!0;let y1=l(R.instrument,f0);K5(`%cTrimmed off %c${y1}%c zones from %c${R.instrument.instrumentName}`,D1.info,D1.recognized,D1.info,D1.recognized);break}S1||(A0++,w.deleteZone(f1),R.instrument.useCount<1&&o.deleteInstrument(R.instrument),f1--)}K5(`%cTrimmed off %c${A0}%c zones from %c${w.presetName}`,D1.info,D1.recognized,D1.info,D1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" +`,""),f=(k0,S1,e2=!0)=>{let y1=document.getElementById(k0);if(S1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",S1.length>30&&e2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=S1,y1.appendChild(Y2)}else y1.textContent=S1;else y1.parentElement.classList.add("hidden")};f("player_info_detail",c),f("player_info_time",m$(this.seq.duration).time),f("player_info_file_name",l.fileName,!1);let v=(k0,S1,e2,y1="")=>this.seq.midiData.RMIDInfo?.[k0]===void 0?S1:y1+e2.decode(this.seq.midiData.RMIDInfo?.[k0]).replace(/\0$/,""),r0=v("IENC","ascii",new TextDecoder),m0=new TextDecoder(r0);f("player_info_album",v("IPRD","",m0)),f("player_info_artist",v("IART","",m0)),f("player_info_genre",v("IGNR","",m0)),f("player_info_creation",v("ICRD","",m0)+v("ICRT","",m0,` +`)),f("player_info_comment",v("ICMT","",m0));let f0=this.mainDiv.getElementsByTagName("svg")[0],A0=this.mainDiv.getElementsByTagName("img")[0],f1=document.getElementById("player_info_background_image");if(!l.isEmbedded){f0.style.display="",A0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){f0.style.display="",A0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}f0.style.display="none",A0.style.display="";let R=new Blob([l.RMIDInfo.IPIC.buffer]),L0=URL.createObjectURL(R);A0.src=L0,f1.style.setProperty("--bg-image",`url('${L0}')`)},"player-js-song-change")}setVisibility(r,l){if(r===this.visible)return;this.visible=r,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(r){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let f=l.clientHeight,v=l.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${v}px`,c.style.height=`${f}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},ev*1e3)}else{let f=c.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${f}px`,l.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},ev*1e3)}}};var UC=class{onLocaleChanged=[];constructor(r){this.locale=k$[r]||k$[Pp],this.fallbackLocale=k$[Pp],this.localeCode=r,this._boundObjectProperties=[]}getLocaleString(r,l=[]){let c=this._resolveLocalePath(r);return l.length>0?this._formatLocale(c,l):c}_applyPropertyInternal(r){if(r.isEdited)return;let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]=l}_validatePropertyIntegrity(r){let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]!==l&&(r.isEdited=!0)}_formatLocale(r,l){return r.replace(/{(\d+)}/g,(c,f)=>typeof l[f]<"u"?l[f]:c)}bindObjectProperty(r,l,c,f=[]){let v={object:r,propertyName:l,localePath:c,formattingArguments:f,isEdited:!1};this._applyPropertyInternal(v),this._boundObjectProperties.push(v)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let c=r.split("."),f=l?this.fallbackLocale:this.locale;for(let v=1;v{this._validatePropertyIntegrity(f)}),this.locale=c,this._boundObjectProperties.forEach(f=>{this._applyPropertyInternal(f)}),this.onLocaleChanged.forEach(f=>f())}};function Op(o,r=!0,l=0,c={},f=void 0){let v=o.getChannelData(l),r0=o.getChannelData(l+1),m0=v.length,f0=2,A0=new V3(0),f1=Object.keys(c).length>0;if(f1){let a0=new TextEncoder,y5=[MA("INFO"),Ze("ICMT",a0.encode("Created with SpessaSynth"),!0)];c.artist&&y5.push(Ze("IART",a0.encode(c.artist),!0)),c.album&&y5.push(Ze("IPRD",a0.encode(c.album),!0)),c.genre&&y5.push(Ze("IGNR",a0.encode(c.genre),!0)),c.title&&y5.push(Ze("INAM",a0.encode(c.title),!0)),A0=Ze("LIST",xn(y5))}let R=new V3(0),L0=f?.end!==void 0&&f?.start!==void 0;if(L0){let a0=Math.floor(f.start*o.sampleRate),y5=Math.floor(f.end*o.sampleRate),T3=new V3(24);c7(T3,0,4),c7(T3,0,4),h7(T3,"data"),c7(T3,0,4),c7(T3,0,4),c7(T3,a0,4);let $3=new V3(24);c7($3,1,4),c7($3,0,4),h7($3,"data"),c7($3,0,4),c7($3,0,4),c7($3,y5,4);let w6=xn([new V3([2,0,0,0]),T3,$3]);R=Ze("cue ",w6)}let k0=44,S1=m0*2*f0,e2=k0+S1+A0.length+R.length-8,y1=new Uint8Array(k0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([e2&255,e2>>8&255,e2>>16&255,e2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*f0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),40);let V2=new Uint8Array(e2+8),i3=k0;V2.set(y1,0);let r3=32767;if(r){let a0=v.map((y5,T3)=>Math.max(Math.abs(y5),Math.abs(r0[T3]))).reduce((y5,T3)=>Math.max(y5,T3));r3=a0>0?32767/a0:1}for(let a0=0;a0>8&255,V2[i3++]=T3&255,V2[i3++]=T3>>8&255}return f1&&(V2.set(A0,i3),i3+=A0.length),L0&&V2.set(R,i3),new Blob([V2.buffer],{type:"audio/wav"})}var PC="synthetizer/worklet_processor.min.js";var tv=1e3;async function iv(o=!0,r=2,l=!1,c={},f=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let v=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),r0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),m0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),f0=mt(v,[{type:"text",textContent:m0},{type:"progress"}],9999999,!1),A0=await this.seq.getMIDI(),f1=km(A0.loop.start,A0),R=km(A0.loop.end,A0),L0=R-f1,k0=A0.duration+r+L0*f,S1=this.context.sampleRate,e2=S1*k0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:S1,length:e2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+PC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,V2;try{V2=new lh(y1.destination,T2,!1,{parsedMIDI:A0,snapshot:Y2,oneOutput:l,loopCount:f},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw mt(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=f0.div.getElementsByTagName("p")[0],r3=f0.div.getElementsByClassName("notification_progress")[0],a0=tv/1e3,y5=V2.currentTime,T3=k0,$3=.1,w6=setInterval(()=>{let o9=V2.currentTime-y5;y5=V2.currentTime;let V4=V2.currentTime/k0;r3.style.width=`${V4*100}%`;let r4=o9/a0,V6=(1-V4)/r4*k0;V6!==1/0&&(T3=$3*V6+(1-$3)*T3,i3.innerText=`${r0} ${m$(T3).time}`)},tv),s6=await y1.startRendering();if(r3.style.width="100%",clearInterval(w6),i3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(o9=>setTimeout(o9,75)),l){let o9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",V4=[],r4=new Set;for(let We of A0.usedChannelsOnTrack)We.forEach(Jr=>r4.add(Jr));for(let We=0;We<16;We++){let Jr=!0;for(let Vi=We;Vi{let Gs=qA.textContent;qA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(ZC=>setTimeout(ZC,75));let Rm=Op(s6,!1,We*2),D$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(Rm,D$),qA.classList.add("green_button"),qA.textContent=Gs}})}let V6=mt(this.localeManager.getLocaleString(o9+"title"),V4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});V6.div.style.width="30rem"}else{let o9=km(A0.firstNoteOn,A0),V4=f1-o9,r4=R-o9,V6;f===0&&(V6={start:V4,end:r4});let We=Op(s6,o,0,c,V6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}$t(f0.id),this.isExporting=!1}async function rv(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(A0,f1,R)=>this.seq.midiData.RMIDInfo?.[A0]===void 0?f1:R.decode(this.seq.midiData.RMIDInfo?.[A0]).replace(/\0$/,""),c=l("IENC","ascii",new TextDecoder),f=new TextDecoder(c),v=l("IPRD","",f),r0=l("IART","",f),m0=l("IGNR","",f),f0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:r+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:r+"album",attributes:{value:v,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:r0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:m0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:A0=>{$t(A0.id);let f1=A0.div.querySelector("input[normalize-volume-toggle]").checked,R=A0.div.querySelector("input[additional-time]").value,L0=A0.div.querySelector("input[loop-count]").value,k0=A0.div.querySelector("input[separate-channels-toggle]").checked,S1=A0.div.querySelector("input[name='artist']").value,e2=A0.div.querySelector("input[name='album']").value,y1=A0.div.querySelector("input[name='song_title']").value,Y2=A0.div.querySelector("input[name='genre']").value,T2={artist:S1.length>0?S1:void 0,album:e2.length>0?e2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(f1,parseInt(R),k0,T2,parseInt(L0))}}];mt(this.localeManager.getLocaleString(o+"title"),f0,9999999,!0,this.localeManager)}async function nv(){let o=await this.seq.getMIDI();gh(o,await this.synth.getSynthesizerSnapshot());let r=SC(o),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function sv(o,r){ni("%cSearching for all used programs and keys...",D1.info);let l=16+o.midiPortChannelOffsets.reduce((R,L0)=>L0>R?L0:R),c=[];for(let R=0;R{r0[S1]>=k0.length||k0[r0[S1]].ticks0;){let R=f0(),L0=o.tracks[R];if(r0[R]>=L0.length){m0--;continue}let k0=L0[r0[R]];if(r0[R]++,k0.messageStatusByte===K3.midiPort){A0[R]=k0.messageData[0];continue}let S1=k0.messageStatusByte&240;if(S1!==K3.noteOn&&S1!==K3.controllerChange&&S1!==K3.programChange&&S1!==K3.systemExclusive)continue;let e2=(k0.messageStatusByte&15)+o.midiPortChannelOffsets[A0[R]]||0,y1=c[e2];switch(S1){case K3.programChange:y1.program=k0.messageData[0],f(y1);break;case K3.controllerChange:if(k0.messageData[0]!==p3.bankSelect||f1==="gs"&&y1.drums)continue;let Y2=k0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(f1==="xg"){let r3=Y2===120||Y2===126||Y2===127;r3!==y1.drums?(y1.drums=r3,y1.bank=y1.drums?128:T2,f(y1)):y1.bank=y1.drums?128:T2;continue}c[e2].bank=T2;break;case K3.noteOn:if(k0.messageData[1]===0)continue;f(y1),v[y1.string].add(`${k0.messageData[0]}-${k0.messageData[1]}`);break;case K3.systemExclusive:if(k0.messageData[0]!==65||k0.messageData[2]!==66||k0.messageData[3]!==18||k0.messageData[4]!==64||!(k0.messageData[5]&16)||k0.messageData[6]!==21){k0.messageData[0]===67&&k0.messageData[2]===76&&k0.messageData[5]===126&&k0.messageData[6]===0&&(f1="xg");continue}let V2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][k0.messageData[5]&15]+o.midiPortChannelOffsets[A0[R]],i3=!!(k0.messageData[7]>0&&k0.messageData[5]>>4);y1=c[V2],y1.drums=i3,y1.bank=i3?128:0,f(y1);break}}for(let R of Object.keys(v))v[R].size===0&&(K5(`%cDetected change but no keys for %c${R}`,D1.info,D1.value),delete v[R]);return i4(),v}function OC(o,r){function l(f,v){let r0=0;for(let m0=0;m0=A0.min&&L0.key<=A0.max&&L0.velocity>=f1.min&&L0.velocity<=f1.max){R=!0;break}R||(K5(`%c${f0.sample.sampleName} %cremoved from %c${f.instrumentName}%c. Use count: %c${f0.useCount-1}`,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized),f.safeDeleteZone(m0)&&(r0++,m0--,K5(`%c${f0.sample.sampleName} %cdeleted`,D1.recognized,D1.info)),f0.sample.useCount<1&&o.deleteSample(f0.sample))}return r0}gr("%cTrimming soundfont...",D1.info);let c=sv(r,o);ni("%cModifying soundfont...",D1.info),K5("Detected keys for midi:",c);for(let f=0;f{let R=f1.split("-");return{key:parseInt(R[0]),velocity:parseInt(R[1])}});ni(`%cTrimming %c${v.presetName}`,D1.info,D1.recognized),K5(`Keys for ${v.presetName}:`,f0);let A0=0;for(let f1=0;f1=L0.min&&e2.key<=L0.max&&e2.velocity>=k0.min&&e2.velocity<=k0.max){S1=!0;let y1=l(R.instrument,f0);K5(`%cTrimmed off %c${y1}%c zones from %c${R.instrument.instrumentName}`,D1.info,D1.recognized,D1.info,D1.recognized);break}S1||(A0++,v.deleteZone(f1),R.instrument.useCount<1&&o.deleteInstrument(R.instrument),f1--)}K5(`%cTrimmed off %c${A0}%c zones from %c${v.presetName}`,D1.info,D1.recognized,D1.info,D1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" -`+o.soundFontInfo.ICMT,K5("%cSoundfont modified!",D1.recognized),i4(),i4()}function ov(){let o=4;for(let c of this.instruments)o+=c.instrumentZones.reduce((f,w)=>(w.generators=w.generators.filter(n0=>n0.generatorType!==k1.sampleID&&n0.generatorType!==k1.keyRange&&n0.generatorType!==k1.velRange),(w.velRange.max!==127||w.velRange.min!==0)&&w.generators.unshift({generatorType:k1.velRange,generatorValue:w.velRange.max<<8|w.velRange.min}),(w.keyRange.max!==127||w.keyRange.min!==0)&&w.generators.unshift({generatorType:k1.keyRange,generatorValue:w.keyRange.max<<8|w.keyRange.min}),w.isGlobal||w.generators.push({generatorType:k1.sampleID,generatorValue:this.samples.indexOf(w.sample)}),w.generators.length*4+f),0);let r=new V3(o),l=0;for(let c of this.instruments)for(let f of c.instrumentZones){f.generatorZoneStartIndex=l;for(let w of f.generators)Q9(r,w.generatorType),Q9(r,w.generatorValue),l++}return g7(r,0),ze(new me("igen",r.length,r))}function Av(o,r,l,c,f){let w=this.samples.map((A0,f1)=>{l&&A0.compressSample(c,f);let R=A0.getRawData();return K5(`%cEncoded sample %c${f1}. ${A0.sampleName}%c of %c${this.samples.length}`,D1.info,D1.recognized,D1.info,D1.recognized),R}),n0=this.samples.reduce((A0,f1,R)=>A0+w[R].length+46,0),m0=new V3(n0);this.samples.forEach((A0,f1)=>{let R=w[f1],L0,k0,S1=R.length;A0.isCompressed?(L0=m0.currentIndex,k0=L0+R.length):(L0=m0.currentIndex/2,k0=L0+R.length/2,S1+=46),o.push(L0),m0.set(R,m0.currentIndex),m0.currentIndex+=S1,r.push(k0)});let f0=ze(new me("smpl",m0.length,m0),new V3([115,100,116,97]));return ze(new me("LIST",f0.length,f0))}function av(o,r){let c=new V3(46*(this.samples.length+1));return this.samples.forEach((f,w)=>{h7(c,f.sampleName,20);let n0=o[w];g7(c,n0);let m0=r[w];g7(c,m0);let f0=f.sampleLoopStartIndex+n0,A0=f.sampleLoopEndIndex+n0;f.isCompressed&&(f0-=n0,A0-=n0),g7(c,f0),g7(c,A0),g7(c,f.sampleRate),c[c.currentIndex++]=f.samplePitch,c[c.currentIndex++]=f.samplePitchCorrection,Q9(c,f.sampleLink),Q9(c,f.sampleType)}),h7(c,"EOS",46),ze(new me("shdr",c.length,c))}function $v(){let o=10;for(let c of this.instruments)o+=c.instrumentZones.reduce((f,w)=>w.modulators.length*10+f,0);let r=new V3(o),l=0;for(let c of this.instruments)for(let f of c.instrumentZones){f.modulatorZoneStartIndex=l;for(let w of f.modulators)Q9(r,w.sourceEnum),Q9(r,w.modulatorDestination),Q9(r,w.transformAmount),Q9(r,w.secondarySourceEnum),Q9(r,w.transformType),l++}return c7(r,0,10),ze(new me("imod",r.length,r))}function lv(){let o=this.instruments.reduce((w,n0)=>n0.instrumentZones.length*4+w,4),r=new V3(o),l=0,c=0,f=0;for(let w of this.instruments){w.instrumentZoneIndex=l;for(let n0 of w.instrumentZones)n0.zoneID=l,Q9(r,c),Q9(r,f),c+=n0.generators.length,f+=n0.modulators.length,l++}return Q9(r,c),Q9(r,f),ze(new me("ibag",r.length,r))}function cv(){let o=this.instruments.length*22+22,r=new V3(o),l=0,c=0;for(let f of this.instruments)h7(r,f.instrumentName,20),Q9(r,l),l+=f.instrumentZones.length,f.instrumentID=c,c++;return h7(r,"EOI",20),Q9(r,l),ze(new me("inst",r.length,r))}function gv(){let o=4;for(let c of this.presets)o+=c.presetZones.reduce((f,w)=>(w.generators=w.generators.filter(n0=>n0.generatorType!==k1.instrument&&n0.generatorType!==k1.keyRange&&n0.generatorType!==k1.velRange),(w.velRange.max!==127||w.velRange.min!==0)&&w.generators.unshift({generatorType:k1.velRange,generatorValue:w.velRange.max<<8|w.velRange.min}),(w.keyRange.max!==127||w.keyRange.min!==0)&&w.generators.unshift({generatorType:k1.keyRange,generatorValue:w.keyRange.max<<8|w.keyRange.min}),w.isGlobal||w.generators.push({generatorType:k1.instrument,generatorValue:this.instruments.indexOf(w.instrument)}),w.generators.length*4+f),0);let r=new V3(o),l=0;for(let c of this.presets)for(let f of c.presetZones){f.generatorZoneStartIndex=l;for(let w of f.generators)Q9(r,w.generatorType),Q9(r,w.generatorValue);l+=f.generators.length}return Q9(r,0),Q9(r,0),ze(new me("pgen",r.length,r))}function hv(){let o=10;for(let c of this.presets)o+=c.presetZones.reduce((f,w)=>w.modulators.length*10+f,0);let r=new V3(o),l=0;for(let c of this.presets)for(let f of c.presetZones){f.modulatorZoneStartIndex=l;for(let w of f.modulators)Q9(r,w.sourceEnum),Q9(r,w.modulatorDestination),Q9(r,w.transformAmount),Q9(r,w.secondarySourceEnum),Q9(r,w.transformType),l++}return c7(r,0,10),ze(new me("pmod",r.length,r))}function uv(){let o=this.presets.reduce((w,n0)=>n0.presetZones.length*4+w,4),r=new V3(o),l=0,c=0,f=0;for(let w of this.presets){w.presetZoneStartIndex=l;for(let n0 of w.presetZones)n0.zoneID=l,Q9(r,c),Q9(r,f),c+=n0.generators.length,f+=n0.modulators.length,l++}return Q9(r,c),Q9(r,f),ze(new me("pbag",r.length,r))}function fv(){let o=this.presets.length*38+38,r=new V3(o),l=0;for(let c of this.presets)h7(r,c.presetName,20),Q9(r,c.program),Q9(r,c.bank),Q9(r,l),g7(r,c.library),g7(r,c.genre),g7(r,c.morphology),l+=c.presetZones.length;return h7(r,"EOP",20),Q9(r,0),Q9(r,0),Q9(r,l),g7(r,0),g7(r,0),g7(r,0),ze(new me("phdr",r.length,r))}var AD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function dv(o=AD){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ni("%cSaving soundfont...",D1.info),K5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,D1.info,D1.recognized,D1.info,D1.recognized),K5("%cWriting INFO...",D1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let a0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),T3=new V3(4);Q9(T3,a0),Q9(T3,y5),r.push(ze(new me(i3,4,T3)))}else if(i3==="DMOD")r.push(ze(new me(i3,r3.length,r3)));else{let a0=new V3(r3.length);h7(a0,r3),r.push(ze(new me(i3,r3.length,a0)))}let l=_n([new V3([73,78,70,79]),...r]),c=ze(new me("LIST",l.length,l));K5("%cWriting SDTA...",D1.info);let f=[],w=[],n0=Av.call(this,f,w,o?.compress,o?.compressionQuality||.5,o.compressionFunction);K5("%cWriting PDTA...",D1.info),K5("%cWriting SHDR...",D1.info);let m0=av.call(this,f,w);K5("%cWriting IGEN...",D1.info);let f0=ov.call(this);K5("%cWriting IMOD...",D1.info);let A0=$v.call(this);K5("%cWriting IBAG...",D1.info);let f1=lv.call(this);K5("%cWriting INST...",D1.info);let R=cv.call(this),L0=gv.call(this);K5("%cWriting PMOD...",D1.info);let k0=hv.call(this);K5("%cWriting PBAG...",D1.info);let S1=uv.call(this);K5("%cWriting PHDR...",D1.info);let e2=fv.call(this),y1=_n([new V3([112,100,116,97]),e2,S1,k0,L0,R,f1,A0,f0,m0]),Y2=ze(new me("LIST",y1.length,y1));K5("%cWriting the output file...",D1.info);let T2=_n([new V3([115,102,98,107]),c,n0,Y2]),V2=ze(new me("RIFF",T2.length,T2));return K5(`%cSaved succesfully! Final file size: %c${V2.length}`,D1.info,D1.recognized),i4(),V2}var S$=class o{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=BC.map(l=>oe.copy(l)),r?.presets&&(this.presets.push(...r.presets),this.soundFontInfo=r.info)}static mergeSoundfonts(...r){let l=r.shift(),c=l.presets;for(;r.length;)r.shift().presets.forEach(w=>{c.find(n0=>n0.bank===w.bank&&n0.program===w.program)===void 0&&c.push(w)});return new o({presets:c,info:l.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(r=>{r.useCount<1&&r.instrumentZones.forEach(l=>{l.isGlobal||l.sample.useCount--})}),this.instruments=this.instruments.filter(r=>r.useCount>0),this.samples=this.samples.filter(r=>r.useCount>0)}deleteInstrument(r){if(r.useCount>0)throw new Error(`Cannot delete an instrument that has ${r.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(r),1),r.deleteInstrument(),this.removeUnusedElements()}deletePreset(r){r.deletePreset(),this.presets.splice(this.presets.indexOf(r),1),this.removeUnusedElements()}deleteSample(r){if(r.useCount>0)throw new Error(`Cannot delete sample that has ${r.useCount} usages.`);this.samples.splice(this.samples.indexOf(r),1),this.removeUnusedElements()}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPresetNoFallback(r,l,c=!1){let f=this.presets.find(w=>w.bank===r&&w.program===l);if(f)return f;if(c!==!1)return r===128?this.presets.find(w=>w.bank===128):this.presets.find(w=>w.program===l)}getPreset(r,l){let c=this.presets.find(f=>f.bank===r&&f.program===l);return c||(r===128?(c=this.presets.find(f=>f.bank===128&&f.program===l),c||(c=this.presets.find(f=>f.bank===128))):c=this.presets.find(f=>f.program===l&&f.bank!==128),c&&Ie(`%cPreset ${r}.${l} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,D1.warn,D1.recognized)),c||(Ie(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(r){let l=this.presets.find(c=>c.presetName===r);return l||(Ie("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}};S$.prototype.write=dv;function Iv(o){ni("%cLoading instruments...",D1.info);for(let r=0;rr.deleteZone()),this.presetZones.length=0}deleteZone(r){this.presetZones[r].deleteZone(),this.presetZones.splice(r,1)}preload(r,l){for(let c=r;c{w.sample.isSampleLoaded||w.sample.getAudioData()})}preloadSpecific(r,l){this.getSamplesAndGenerators(r,l).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(r,l){let c=this.foundSamplesAndGenerators[r][l];if(c)return c;if(this.presetZones.length<1)return[];function f(R,L0,k0){return k0>=R&&k0<=L0}function w(R,L0){R.push(...L0.filter(k0=>!R.find(S1=>S1.generatorType===k0.generatorType)))}function n0(R,L0){R.push(...L0.filter(k0=>!R.find(S1=>oe.isIdentical(k0,S1))))}let m0=[],f0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],A0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(R=>f(R.keyRange.min,R.keyRange.max,r)&&f(R.velRange.min,R.velRange.max,l)&&!R.isGlobal).forEach(R=>{if(R.instrument.instrumentZones.length<1)return;let L0=R.generators,k0=R.modulators,S1=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].generators]:[],e2=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].modulators]:[];R.instrument.instrumentZones.filter(Y2=>f(Y2.keyRange.min,Y2.keyRange.max,r)&&f(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],V2=[...Y2.modulators];w(L0,f0),w(T2,S1),n0(k0,A0),n0(V2,e2),n0(V2,this.defaultModulators);let i3=[...V2];for(let r3=0;r3oe.isIdentical(a0,T3));y5!==-1?i3[y5]=i3[y5].sumTransform(a0):i3.push(a0)}m0.push({instrumentGenerators:T2,presetGenerators:L0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===k1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=m0,m0}};var Lm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var PA=class extends Lm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ih=class extends Lm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var Eh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(r=>r.useCount++)}removeUseCount(){this._useCount--;for(let r=0;rr.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(r){return this.instrumentZones[r].useCount--,this.instrumentZones[r].useCount<1?(this.deleteZone(r),!0):!1}deleteZone(r){this.instrumentZones[r].deleteZone(),this.instrumentZones.splice(r,1)}};var qC=class extends dh{constructor(r,l){super(BC),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new Eh,this.DLSInstrument.addUseCount();let f=new Ih;f.instrument=this.DLSInstrument,this.presetZones=[f]}};function Ev(o){this.verifyHeader(o,"LIST"),this.verifyText(Ee(o.chunkData,4),"ins ");let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(k0=>k0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let c=o3(l.chunkData,4),f=o3(l.chunkData,4),w=o3(l.chunkData,4),n0=new qC(f,w),m0="unnamedPreset",f0=Ri(r,"INFO");if(f0){let k0=d4(f0.chunkData);for(;k0.header!=="INAM";)k0=d4(f0.chunkData);m0=Ee(k0.chunkData,k0.chunkData.length).trim()}n0.presetName=m0,n0.DLSInstrument.instrumentName=m0,gr(`%cParsing %c"${m0}"%c...`,D1.info,D1.recognized,D1.info);let A0=Ri(r,"lrgn");if(!A0)throw i4(),new Error("No region list!");let f1=new PA;f1.isGlobal=!0;let R=Ri(r,"lart"),L0=Ri(r,"lar2");this.readLart(R,L0,f1),n0.DLSInstrument.instrumentZones.push(f1);for(let k0=0;k0>10&15;Y2===Ur.linear&&y1!==Ur.linear&&(Y2=y1);let T2=c>>14&1,V2=c>>15&1;n0===k1.initialAttenuation&&(V2=!V2),R=Gr(Y2,T2,V2,m0.isCC,m0.enum)}let L0=c>>4&15,k0=c>>8&1,S1=c>>9&1,e2=Gr(L0,k0,S1,f1.isCC,f1.enum);if(f0){let y1=e2;e2=R,R=y1}return new oe({srcEnum:R,secSrcEnum:e2,dest:n0,transform:0,amt:f})}function qp(o,r){let l=o.chunkData,c=[],f=[];o3(l,4);let w=o3(l,4);for(let n0=0;n0>16;if(m0===0&&f0===0&&f1===0){let k0;switch(A0){case m6.pan:k0=new W6(k1.pan,L0);break;case m6.gain:k0=new W6(k1.initialAttenuation,-L0*10/.4);break;case m6.filterCutoff:k0=new W6(k1.initialFilterFc,L0);break;case m6.filterQ:k0=new W6(k1.initialFilterQ,L0);break;case m6.modLfoFreq:k0=new W6(k1.freqModLFO,L0);break;case m6.modLfoDelay:k0=new W6(k1.delayModLFO,L0);break;case m6.vibLfoFreq:k0=new W6(k1.freqVibLFO,L0);break;case m6.vibLfoDelay:k0=new W6(k1.delayVibLFO,L0);break;case m6.volEnvDelay:k0=new W6(k1.delayVolEnv,L0);break;case m6.volEnvAttack:k0=new W6(k1.attackVolEnv,L0);break;case m6.volEnvHold:k0=new W6(k1.holdVolEnv,L0);break;case m6.volEnvDecay:k0=new W6(k1.decayVolEnv,L0);break;case m6.volEnvRelease:k0=new W6(k1.releaseVolEnv,L0);break;case m6.volEnvSustain:let S1=(1e3-L0)/10;k0=new W6(k1.sustainVolEnv,S1*10);break;case m6.modEnvDelay:k0=new W6(k1.delayModEnv,L0);break;case m6.modEnvAttack:k0=new W6(k1.attackModEnv,L0);break;case m6.modEnvHold:k0=new W6(k1.holdModEnv,L0);break;case m6.modEnvDecay:k0=new W6(k1.decayModEnv,L0);break;case m6.modEnvRelease:k0=new W6(k1.releaseModEnv,L0);break;case m6.modEnvSustain:let e2=1e3-L0;k0=new W6(k1.sustainModEnv,e2);break;case m6.reverbSend:k0=new W6(k1.reverbEffectsSend,L0);break;case m6.chorusSend:k0=new W6(k1.chorusEffectsSend,L0);break;case m6.pitch:let y1=Math.floor(L0/100),Y2=Math.floor(L0-y1*100);k0=new W6(k1.fineTune,Y2),c.push(new W6(k1.coarseTune,y1));break}k0&&c.push(k0)}else{let k0=!0;if(f0===w4.none)if(m0===w4.modLfo&&A0===m6.pitch)c.push(new W6(k1.modLfoToPitch,L0));else if(m0===w4.modLfo&&A0===m6.gain)c.push(new W6(k1.modLfoToVolume,L0));else if(m0===w4.modLfo&&A0===m6.filterCutoff)c.push(new W6(k1.modLfoToFilterFc,L0));else if(m0===w4.vibratoLfo&&A0===m6.pitch)c.push(new W6(k1.vibLfoToPitch,L0));else if(m0===w4.modEnv&&A0===m6.pitch)c.push(new W6(k1.modEnvToPitch,L0));else if(m0===w4.modEnv&&A0===m6.filterCutoff)c.push(new W6(k1.modEnvToFilterFc,L0));else if(m0===w4.keyNum&&A0===m6.volEnvHold){c.push(new W6(k1.keyNumToVolEnvHold,L0/-128));let S1=Math.round(60/128*L0);c.forEach(e2=>{e2.generatorType===k1.holdVolEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&A0===m6.volEnvDecay){c.push(new W6(k1.keyNumToVolEnvDecay,L0/-128));let S1=Math.round(60/128*L0);c.forEach(e2=>{e2.generatorType===k1.decayVolEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&A0===m6.modEnvHold){c.push(new W6(k1.keyNumToModEnvHold,L0/-128));let S1=Math.round(60/128*L0);c.forEach(e2=>{e2.generatorType===k1.holdModEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&A0===m6.modEnvDecay){c.push(new W6(k1.keyNumToModEnvDecay,L0/-128));let S1=Math.round(60/128*L0);c.forEach(e2=>{e2.generatorType===k1.decayModEnv&&(e2.generatorValue+=S1)})}else k0=!1;else k0=!1;if(k0===!1){let S1=Cv(m0,f0,A0,f1,L0);S1?(f.push(S1),K5("%cSucceeded converting to SF2 Modulator!",D1.recognized)):Ie("Failed converting to SF2 Modulator!")}}}return f.find(n0=>n0.modulatorDestination===k1.reverbEffectsSend)===void 0&&f.push(new oe({srcEnum:219,dest:k1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),f.find(n0=>n0.modulatorDestination===k1.chorusEffectsSend)===void 0&&f.push(new oe({srcEnum:221,dest:k1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&f.push(new oe({srcEnum:129,dest:k1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new oe({srcEnum:13,dest:k1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:f,generators:c}}function pv(o,r,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(T3=>T3.header==="rgnh"),c=o3(l.chunkData,2),f=o3(l.chunkData,2),w=o3(l.chunkData,2),n0=o3(l.chunkData,2),m0=new HC({min:c,max:f},{min:w,max:n0});o3(l.chunkData,2);let f0=o3(l.chunkData,2);f0!==0&&m0.generators.push(new W6(k1.exclusiveClass,f0));let A0=Ri(r,"lart"),f1=Ri(r,"lar2");this.readLart(A0,f1,m0),m0.isGlobal=!1;let R=r.find(T3=>T3.header==="wsmp");o3(R.chunkData,4);let L0=o3(R.chunkData,2),k0=FA(R.chunkData[R.chunkData.currentIndex++],R.chunkData[R.chunkData.currentIndex++]),e2=(o3(R.chunkData,4)|0)/-655360;o3(R.chunkData,4);let y1=o3(R.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{o3(R.chunkData,4),o3(R.chunkData,4)===0?Y2=1:Y2=3,T2.start=o3(R.chunkData,4);let $3=o3(R.chunkData,4);T2.end=T2.start+$3}let V2=r.find(T3=>T3.header==="wlnk");if(V2===void 0)return;o3(V2.chunkData,2),o3(V2.chunkData,2),o3(V2.chunkData,4);let i3=o3(V2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(e2||r3.sampleDbAttenuation)*10/.4;return m0.setWavesample(y5,Y2,T2,L0,r3,i3,k0),m0}var mh=class{constructor(r,l,c,f,w,n0,m0,f0){this.sampleName=r,this.sampleRate=l,this.samplePitch=c,this.samplePitchCorrection=f,this.sampleLink=w,this.sampleType=n0,this.sampleLoopStartIndex=m0,this.sampleLoopEndIndex=f0,this.isCompressed=(n0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}compressSample(r,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,r),this.sampleType|=16,this.isCompressed=!0}catch{Ie(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}};var YC=class extends mh{sampleDbAttenuation;sampleData;constructor(r,l,c,f,w,n0,m0,f0){super(r,l,c,f,0,1,w,n0-1),this.sampleData=m0,this.sampleDbAttenuation=f0}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let r=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return r}};function Qv(o){ni("%cLoading Wave samples...",D1.recognized);let r=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!f)throw new Error("No fmt chunk in the wave file!");if(o3(f.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(o3(f.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let m0=o3(f.chunkData,4);o3(f.chunkData,4),o3(f.chunkData,2);let f0=o3(f.chunkData,2),A0=f0/8,f1=Math.pow(2,A0*8-1),R=Math.pow(2,A0*8),L0,k0=!1;f0===8?(L0=255,k0=!0):L0=f1;let S1=c.find($3=>$3.header==="data");if(!S1)throw new Error("No data chunk in the wave chunk!");let e2=S1.size/A0,y1=new Float32Array(e2);for(let $3=0;$3=f1&&(w6-=R),y1[$3]=w6/L0)}let Y2=60,T2=0,V2=0,i3=y1.length-1,r3=0,a0=c.find($3=>$3.header==="wsmp");if(a0){if(o3(a0.chunkData,4),Y2=o3(a0.chunkData,2),T2=FA(a0.chunkData[a0.chunkData.currentIndex++],a0.chunkData[a0.chunkData.currentIndex++]),r3=(o3(a0.chunkData,4)|0)/-655360,o3(a0.chunkData,4),o3(a0.chunkData,4)===1){o3(a0.chunkData,8),V2=o3(a0.chunkData,4);let s6=o3(a0.chunkData,4);i3=V2+s6}}else Ie("No wsmp chunk in wave... using sane defaults.");let y5=Ri(c,"INFO"),T3=`Unnamed ${r}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndex(v.generators=v.generators.filter(r0=>r0.generatorType!==k1.sampleID&&r0.generatorType!==k1.keyRange&&r0.generatorType!==k1.velRange),(v.velRange.max!==127||v.velRange.min!==0)&&v.generators.unshift({generatorType:k1.velRange,generatorValue:v.velRange.max<<8|v.velRange.min}),(v.keyRange.max!==127||v.keyRange.min!==0)&&v.generators.unshift({generatorType:k1.keyRange,generatorValue:v.keyRange.max<<8|v.keyRange.min}),v.isGlobal||v.generators.push({generatorType:k1.sampleID,generatorValue:this.samples.indexOf(v.sample)}),v.generators.length*4+f),0);let r=new V3(o),l=0;for(let c of this.instruments)for(let f of c.instrumentZones){f.generatorZoneStartIndex=l;for(let v of f.generators)Q9(r,v.generatorType),Q9(r,v.generatorValue),l++}return g7(r,0),ze(new me("igen",r.length,r))}function Av(o,r,l,c,f){let v=this.samples.map((A0,f1)=>{l&&A0.compressSample(c,f);let R=A0.getRawData();return K5(`%cEncoded sample %c${f1}. ${A0.sampleName}%c of %c${this.samples.length}`,D1.info,D1.recognized,D1.info,D1.recognized),R}),r0=this.samples.reduce((A0,f1,R)=>A0+v[R].length+46,0),m0=new V3(r0);this.samples.forEach((A0,f1)=>{let R=v[f1],L0,k0,S1=R.length;A0.isCompressed?(L0=m0.currentIndex,k0=L0+R.length):(L0=m0.currentIndex/2,k0=L0+R.length/2,S1+=46),o.push(L0),m0.set(R,m0.currentIndex),m0.currentIndex+=S1,r.push(k0)});let f0=ze(new me("smpl",m0.length,m0),new V3([115,100,116,97]));return ze(new me("LIST",f0.length,f0))}function av(o,r){let c=new V3(46*(this.samples.length+1));return this.samples.forEach((f,v)=>{h7(c,f.sampleName,20);let r0=o[v];g7(c,r0);let m0=r[v];g7(c,m0);let f0=f.sampleLoopStartIndex+r0,A0=f.sampleLoopEndIndex+r0;f.isCompressed&&(f0-=r0,A0-=r0),g7(c,f0),g7(c,A0),g7(c,f.sampleRate),c[c.currentIndex++]=f.samplePitch,c[c.currentIndex++]=f.samplePitchCorrection,Q9(c,f.sampleLink),Q9(c,f.sampleType)}),h7(c,"EOS",46),ze(new me("shdr",c.length,c))}function $v(){let o=10;for(let c of this.instruments)o+=c.instrumentZones.reduce((f,v)=>v.modulators.length*10+f,0);let r=new V3(o),l=0;for(let c of this.instruments)for(let f of c.instrumentZones){f.modulatorZoneStartIndex=l;for(let v of f.modulators)Q9(r,v.sourceEnum),Q9(r,v.modulatorDestination),Q9(r,v.transformAmount),Q9(r,v.secondarySourceEnum),Q9(r,v.transformType),l++}return c7(r,0,10),ze(new me("imod",r.length,r))}function lv(){let o=this.instruments.reduce((v,r0)=>r0.instrumentZones.length*4+v,4),r=new V3(o),l=0,c=0,f=0;for(let v of this.instruments){v.instrumentZoneIndex=l;for(let r0 of v.instrumentZones)r0.zoneID=l,Q9(r,c),Q9(r,f),c+=r0.generators.length,f+=r0.modulators.length,l++}return Q9(r,c),Q9(r,f),ze(new me("ibag",r.length,r))}function cv(){let o=this.instruments.length*22+22,r=new V3(o),l=0,c=0;for(let f of this.instruments)h7(r,f.instrumentName,20),Q9(r,l),l+=f.instrumentZones.length,f.instrumentID=c,c++;return h7(r,"EOI",20),Q9(r,l),ze(new me("inst",r.length,r))}function gv(){let o=4;for(let c of this.presets)o+=c.presetZones.reduce((f,v)=>(v.generators=v.generators.filter(r0=>r0.generatorType!==k1.instrument&&r0.generatorType!==k1.keyRange&&r0.generatorType!==k1.velRange),(v.velRange.max!==127||v.velRange.min!==0)&&v.generators.unshift({generatorType:k1.velRange,generatorValue:v.velRange.max<<8|v.velRange.min}),(v.keyRange.max!==127||v.keyRange.min!==0)&&v.generators.unshift({generatorType:k1.keyRange,generatorValue:v.keyRange.max<<8|v.keyRange.min}),v.isGlobal||v.generators.push({generatorType:k1.instrument,generatorValue:this.instruments.indexOf(v.instrument)}),v.generators.length*4+f),0);let r=new V3(o),l=0;for(let c of this.presets)for(let f of c.presetZones){f.generatorZoneStartIndex=l;for(let v of f.generators)Q9(r,v.generatorType),Q9(r,v.generatorValue);l+=f.generators.length}return Q9(r,0),Q9(r,0),ze(new me("pgen",r.length,r))}function hv(){let o=10;for(let c of this.presets)o+=c.presetZones.reduce((f,v)=>v.modulators.length*10+f,0);let r=new V3(o),l=0;for(let c of this.presets)for(let f of c.presetZones){f.modulatorZoneStartIndex=l;for(let v of f.modulators)Q9(r,v.sourceEnum),Q9(r,v.modulatorDestination),Q9(r,v.transformAmount),Q9(r,v.secondarySourceEnum),Q9(r,v.transformType),l++}return c7(r,0,10),ze(new me("pmod",r.length,r))}function uv(){let o=this.presets.reduce((v,r0)=>r0.presetZones.length*4+v,4),r=new V3(o),l=0,c=0,f=0;for(let v of this.presets){v.presetZoneStartIndex=l;for(let r0 of v.presetZones)r0.zoneID=l,Q9(r,c),Q9(r,f),c+=r0.generators.length,f+=r0.modulators.length,l++}return Q9(r,c),Q9(r,f),ze(new me("pbag",r.length,r))}function fv(){let o=this.presets.length*38+38,r=new V3(o),l=0;for(let c of this.presets)h7(r,c.presetName,20),Q9(r,c.program),Q9(r,c.bank),Q9(r,l),g7(r,c.library),g7(r,c.genre),g7(r,c.morphology),l+=c.presetZones.length;return h7(r,"EOP",20),Q9(r,0),Q9(r,0),Q9(r,l),g7(r,0),g7(r,0),g7(r,0),ze(new me("phdr",r.length,r))}var AD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function dv(o=AD){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ni("%cSaving soundfont...",D1.info),K5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,D1.info,D1.recognized,D1.info,D1.recognized),K5("%cWriting INFO...",D1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let a0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),T3=new V3(4);Q9(T3,a0),Q9(T3,y5),r.push(ze(new me(i3,4,T3)))}else if(i3==="DMOD")r.push(ze(new me(i3,r3.length,r3)));else{let a0=new V3(r3.length);h7(a0,r3),r.push(ze(new me(i3,r3.length,a0)))}let l=xn([new V3([73,78,70,79]),...r]),c=ze(new me("LIST",l.length,l));K5("%cWriting SDTA...",D1.info);let f=[],v=[],r0=Av.call(this,f,v,o?.compress,o?.compressionQuality||.5,o.compressionFunction);K5("%cWriting PDTA...",D1.info),K5("%cWriting SHDR...",D1.info);let m0=av.call(this,f,v);K5("%cWriting IGEN...",D1.info);let f0=ov.call(this);K5("%cWriting IMOD...",D1.info);let A0=$v.call(this);K5("%cWriting IBAG...",D1.info);let f1=lv.call(this);K5("%cWriting INST...",D1.info);let R=cv.call(this),L0=gv.call(this);K5("%cWriting PMOD...",D1.info);let k0=hv.call(this);K5("%cWriting PBAG...",D1.info);let S1=uv.call(this);K5("%cWriting PHDR...",D1.info);let e2=fv.call(this),y1=xn([new V3([112,100,116,97]),e2,S1,k0,L0,R,f1,A0,f0,m0]),Y2=ze(new me("LIST",y1.length,y1));K5("%cWriting the output file...",D1.info);let T2=xn([new V3([115,102,98,107]),c,r0,Y2]),V2=ze(new me("RIFF",T2.length,T2));return K5(`%cSaved succesfully! Final file size: %c${V2.length}`,D1.info,D1.recognized),i4(),V2}var S$=class o{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=BC.map(l=>oe.copy(l)),r?.presets&&(this.presets.push(...r.presets),this.soundFontInfo=r.info)}static mergeSoundfonts(...r){let l=r.shift(),c=l.presets;for(;r.length;)r.shift().presets.forEach(v=>{c.find(r0=>r0.bank===v.bank&&r0.program===v.program)===void 0&&c.push(v)});return new o({presets:c,info:l.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(r=>{r.useCount<1&&r.instrumentZones.forEach(l=>{l.isGlobal||l.sample.useCount--})}),this.instruments=this.instruments.filter(r=>r.useCount>0),this.samples=this.samples.filter(r=>r.useCount>0)}deleteInstrument(r){if(r.useCount>0)throw new Error(`Cannot delete an instrument that has ${r.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(r),1),r.deleteInstrument(),this.removeUnusedElements()}deletePreset(r){r.deletePreset(),this.presets.splice(this.presets.indexOf(r),1),this.removeUnusedElements()}deleteSample(r){if(r.useCount>0)throw new Error(`Cannot delete sample that has ${r.useCount} usages.`);this.samples.splice(this.samples.indexOf(r),1),this.removeUnusedElements()}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPresetNoFallback(r,l,c=!1){let f=this.presets.find(v=>v.bank===r&&v.program===l);if(f)return f;if(c!==!1)return r===128?this.presets.find(v=>v.bank===128):this.presets.find(v=>v.program===l)}getPreset(r,l){let c=this.presets.find(f=>f.bank===r&&f.program===l);return c||(r===128?(c=this.presets.find(f=>f.bank===128&&f.program===l),c||(c=this.presets.find(f=>f.bank===128))):c=this.presets.find(f=>f.program===l&&f.bank!==128),c&&Ie(`%cPreset ${r}.${l} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,D1.warn,D1.recognized)),c||(Ie(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(r){let l=this.presets.find(c=>c.presetName===r);return l||(Ie("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}};S$.prototype.write=dv;function Iv(o){ni("%cLoading instruments...",D1.info);for(let r=0;rr.deleteZone()),this.presetZones.length=0}deleteZone(r){this.presetZones[r].deleteZone(),this.presetZones.splice(r,1)}preload(r,l){for(let c=r;c{v.sample.isSampleLoaded||v.sample.getAudioData()})}preloadSpecific(r,l){this.getSamplesAndGenerators(r,l).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(r,l){let c=this.foundSamplesAndGenerators[r][l];if(c)return c;if(this.presetZones.length<1)return[];function f(R,L0,k0){return k0>=R&&k0<=L0}function v(R,L0){R.push(...L0.filter(k0=>!R.find(S1=>S1.generatorType===k0.generatorType)))}function r0(R,L0){R.push(...L0.filter(k0=>!R.find(S1=>oe.isIdentical(k0,S1))))}let m0=[],f0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],A0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(R=>f(R.keyRange.min,R.keyRange.max,r)&&f(R.velRange.min,R.velRange.max,l)&&!R.isGlobal).forEach(R=>{if(R.instrument.instrumentZones.length<1)return;let L0=R.generators,k0=R.modulators,S1=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].generators]:[],e2=R.instrument.instrumentZones[0].isGlobal?[...R.instrument.instrumentZones[0].modulators]:[];R.instrument.instrumentZones.filter(Y2=>f(Y2.keyRange.min,Y2.keyRange.max,r)&&f(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],V2=[...Y2.modulators];v(L0,f0),v(T2,S1),r0(k0,A0),r0(V2,e2),r0(V2,this.defaultModulators);let i3=[...V2];for(let r3=0;r3oe.isIdentical(a0,T3));y5!==-1?i3[y5]=i3[y5].sumTransform(a0):i3.push(a0)}m0.push({instrumentGenerators:T2,presetGenerators:L0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===k1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=m0,m0}};var Lm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var PA=class extends Lm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ih=class extends Lm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var Eh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(r=>r.useCount++)}removeUseCount(){this._useCount--;for(let r=0;rr.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(r){return this.instrumentZones[r].useCount--,this.instrumentZones[r].useCount<1?(this.deleteZone(r),!0):!1}deleteZone(r){this.instrumentZones[r].deleteZone(),this.instrumentZones.splice(r,1)}};var qC=class extends dh{constructor(r,l){super(BC),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new Eh,this.DLSInstrument.addUseCount();let f=new Ih;f.instrument=this.DLSInstrument,this.presetZones=[f]}};function Ev(o){this.verifyHeader(o,"LIST"),this.verifyText(Ee(o.chunkData,4),"ins ");let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(k0=>k0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let c=o3(l.chunkData,4),f=o3(l.chunkData,4),v=o3(l.chunkData,4),r0=new qC(f,v),m0="unnamedPreset",f0=Ri(r,"INFO");if(f0){let k0=d4(f0.chunkData);for(;k0.header!=="INAM";)k0=d4(f0.chunkData);m0=Ee(k0.chunkData,k0.chunkData.length).trim()}r0.presetName=m0,r0.DLSInstrument.instrumentName=m0,gr(`%cParsing %c"${m0}"%c...`,D1.info,D1.recognized,D1.info);let A0=Ri(r,"lrgn");if(!A0)throw i4(),new Error("No region list!");let f1=new PA;f1.isGlobal=!0;let R=Ri(r,"lart"),L0=Ri(r,"lar2");this.readLart(R,L0,f1),r0.DLSInstrument.instrumentZones.push(f1);for(let k0=0;k0>10&15;Y2===Pr.linear&&y1!==Pr.linear&&(Y2=y1);let T2=c>>14&1,V2=c>>15&1;r0===k1.initialAttenuation&&(V2=!V2),R=Ur(Y2,T2,V2,m0.isCC,m0.enum)}let L0=c>>4&15,k0=c>>8&1,S1=c>>9&1,e2=Ur(L0,k0,S1,f1.isCC,f1.enum);if(f0){let y1=e2;e2=R,R=y1}return new oe({srcEnum:R,secSrcEnum:e2,dest:r0,transform:0,amt:f})}function qp(o,r){let l=o.chunkData,c=[],f=[];o3(l,4);let v=o3(l,4);for(let r0=0;r0>16;if(m0===0&&f0===0&&f1===0){let k0;switch(A0){case m6.pan:k0=new W6(k1.pan,L0);break;case m6.gain:k0=new W6(k1.initialAttenuation,-L0*10/.4);break;case m6.filterCutoff:k0=new W6(k1.initialFilterFc,L0);break;case m6.filterQ:k0=new W6(k1.initialFilterQ,L0);break;case m6.modLfoFreq:k0=new W6(k1.freqModLFO,L0);break;case m6.modLfoDelay:k0=new W6(k1.delayModLFO,L0);break;case m6.vibLfoFreq:k0=new W6(k1.freqVibLFO,L0);break;case m6.vibLfoDelay:k0=new W6(k1.delayVibLFO,L0);break;case m6.volEnvDelay:k0=new W6(k1.delayVolEnv,L0);break;case m6.volEnvAttack:k0=new W6(k1.attackVolEnv,L0);break;case m6.volEnvHold:k0=new W6(k1.holdVolEnv,L0);break;case m6.volEnvDecay:k0=new W6(k1.decayVolEnv,L0);break;case m6.volEnvRelease:k0=new W6(k1.releaseVolEnv,L0);break;case m6.volEnvSustain:let S1=(1e3-L0)/10;k0=new W6(k1.sustainVolEnv,S1*10);break;case m6.modEnvDelay:k0=new W6(k1.delayModEnv,L0);break;case m6.modEnvAttack:k0=new W6(k1.attackModEnv,L0);break;case m6.modEnvHold:k0=new W6(k1.holdModEnv,L0);break;case m6.modEnvDecay:k0=new W6(k1.decayModEnv,L0);break;case m6.modEnvRelease:k0=new W6(k1.releaseModEnv,L0);break;case m6.modEnvSustain:let e2=1e3-L0;k0=new W6(k1.sustainModEnv,e2);break;case m6.reverbSend:k0=new W6(k1.reverbEffectsSend,L0);break;case m6.chorusSend:k0=new W6(k1.chorusEffectsSend,L0);break;case m6.pitch:let y1=Math.floor(L0/100),Y2=Math.floor(L0-y1*100);k0=new W6(k1.fineTune,Y2),c.push(new W6(k1.coarseTune,y1));break}k0&&c.push(k0)}else{let k0=!0;if(f0===w4.none)if(m0===w4.modLfo&&A0===m6.pitch)c.push(new W6(k1.modLfoToPitch,L0));else if(m0===w4.modLfo&&A0===m6.gain)c.push(new W6(k1.modLfoToVolume,L0));else if(m0===w4.modLfo&&A0===m6.filterCutoff)c.push(new W6(k1.modLfoToFilterFc,L0));else if(m0===w4.vibratoLfo&&A0===m6.pitch)c.push(new W6(k1.vibLfoToPitch,L0));else if(m0===w4.modEnv&&A0===m6.pitch)c.push(new W6(k1.modEnvToPitch,L0));else if(m0===w4.modEnv&&A0===m6.filterCutoff)c.push(new W6(k1.modEnvToFilterFc,L0));else if(m0===w4.keyNum&&A0===m6.volEnvHold){c.push(new W6(k1.keyNumToVolEnvHold,L0/-128));let S1=Math.round(60/128*L0);c.forEach(e2=>{e2.generatorType===k1.holdVolEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&A0===m6.volEnvDecay){c.push(new W6(k1.keyNumToVolEnvDecay,L0/-128));let S1=Math.round(60/128*L0);c.forEach(e2=>{e2.generatorType===k1.decayVolEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&A0===m6.modEnvHold){c.push(new W6(k1.keyNumToModEnvHold,L0/-128));let S1=Math.round(60/128*L0);c.forEach(e2=>{e2.generatorType===k1.holdModEnv&&(e2.generatorValue+=S1)})}else if(m0===w4.keyNum&&A0===m6.modEnvDecay){c.push(new W6(k1.keyNumToModEnvDecay,L0/-128));let S1=Math.round(60/128*L0);c.forEach(e2=>{e2.generatorType===k1.decayModEnv&&(e2.generatorValue+=S1)})}else k0=!1;else k0=!1;if(k0===!1){let S1=Cv(m0,f0,A0,f1,L0);S1?(f.push(S1),K5("%cSucceeded converting to SF2 Modulator!",D1.recognized)):Ie("Failed converting to SF2 Modulator!")}}}return f.find(r0=>r0.modulatorDestination===k1.reverbEffectsSend)===void 0&&f.push(new oe({srcEnum:219,dest:k1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),f.find(r0=>r0.modulatorDestination===k1.chorusEffectsSend)===void 0&&f.push(new oe({srcEnum:221,dest:k1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&f.push(new oe({srcEnum:129,dest:k1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new oe({srcEnum:13,dest:k1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:f,generators:c}}function pv(o,r,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(T3=>T3.header==="rgnh"),c=o3(l.chunkData,2),f=o3(l.chunkData,2),v=o3(l.chunkData,2),r0=o3(l.chunkData,2),m0=new HC({min:c,max:f},{min:v,max:r0});o3(l.chunkData,2);let f0=o3(l.chunkData,2);f0!==0&&m0.generators.push(new W6(k1.exclusiveClass,f0));let A0=Ri(r,"lart"),f1=Ri(r,"lar2");this.readLart(A0,f1,m0),m0.isGlobal=!1;let R=r.find(T3=>T3.header==="wsmp");o3(R.chunkData,4);let L0=o3(R.chunkData,2),k0=FA(R.chunkData[R.chunkData.currentIndex++],R.chunkData[R.chunkData.currentIndex++]),e2=(o3(R.chunkData,4)|0)/-655360;o3(R.chunkData,4);let y1=o3(R.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{o3(R.chunkData,4),o3(R.chunkData,4)===0?Y2=1:Y2=3,T2.start=o3(R.chunkData,4);let $3=o3(R.chunkData,4);T2.end=T2.start+$3}let V2=r.find(T3=>T3.header==="wlnk");if(V2===void 0)return;o3(V2.chunkData,2),o3(V2.chunkData,2),o3(V2.chunkData,4);let i3=o3(V2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(e2||r3.sampleDbAttenuation)*10/.4;return m0.setWavesample(y5,Y2,T2,L0,r3,i3,k0),m0}var mh=class{constructor(r,l,c,f,v,r0,m0,f0){this.sampleName=r,this.sampleRate=l,this.samplePitch=c,this.samplePitchCorrection=f,this.sampleLink=v,this.sampleType=r0,this.sampleLoopStartIndex=m0,this.sampleLoopEndIndex=f0,this.isCompressed=(r0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}compressSample(r,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,r),this.sampleType|=16,this.isCompressed=!0}catch{Ie(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}};var YC=class extends mh{sampleDbAttenuation;sampleData;constructor(r,l,c,f,v,r0,m0,f0){super(r,l,c,f,0,1,v,r0-1),this.sampleData=m0,this.sampleDbAttenuation=f0}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let r=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return r}};function Qv(o){ni("%cLoading Wave samples...",D1.recognized);let r=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!f)throw new Error("No fmt chunk in the wave file!");let v=o3(f.chunkData,2);if(v!==1)throw new Error(`Only PCM format in WAVE is supported. Fmt reports ${v}`);let r0=o3(f.chunkData,2);if(r0!==1)throw new Error(`Only mono samples are supported. Fmt reports ${r0} channels`);let m0=o3(f.chunkData,4);o3(f.chunkData,4),o3(f.chunkData,2);let f0=o3(f.chunkData,2),A0=f0/8,f1=Math.pow(2,A0*8-1),R=Math.pow(2,A0*8),L0,k0=!1;f0===8?(L0=255,k0=!0):L0=f1;let S1=c.find($3=>$3.header==="data");if(!S1)throw new Error("No data chunk in the wave chunk!");let e2=S1.size/A0,y1=new Float32Array(e2);for(let $3=0;$3=f1&&(w6-=R),y1[$3]=w6/L0)}let Y2=60,T2=0,V2=0,i3=y1.length-1,r3=0,a0=c.find($3=>$3.header==="wsmp");if(a0){if(o3(a0.chunkData,4),Y2=o3(a0.chunkData,2),T2=FA(a0.chunkData[a0.chunkData.currentIndex++],a0.chunkData[a0.chunkData.currentIndex++]),r3=(o3(a0.chunkData,4)|0)/-655360,o3(a0.chunkData,4),o3(a0.chunkData,4)===1){o3(a0.chunkData,8),V2=o3(a0.chunkData,4);let s6=o3(a0.chunkData,4);i3=V2+s6}}else Ie("No wsmp chunk in wave... using sane defaults.");let y5=Ri(c,"INFO"),T3=`Unnamed ${r}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndexf0.header==="colh");if(!w)throw i4(),new Error("No colh chunk!");this.instrumentAmount=o3(w.chunkData,4),K5(`%cInstruments amount: %c${this.instrumentAmount}`,D1.info,D1.recognized);let n0=Ri(c,"wvpl");this.readDLSSamples(n0);let m0=Ri(c,"lins");if(!m0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(m0),this.presets.sort((f0,A0)=>f0.program-A0.program+(f0.bank-A0.bank)),K5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Ts.prototype.readDLSInstrumentList=Iv;Ts.prototype.readDLSInstrument=Ev;Ts.prototype.readRegion=Bv;Ts.prototype.readLart=pv;Ts.prototype.readDLSSamples=Qv;var OA=OA!==void 0?OA:{},yv=!1,wv;OA.isInitialized=new Promise(o=>wv=o);var lD=function(o){var r,l,c,f,w,n0,m0,f0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",A0="",f1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do f=f0.indexOf(o.charAt(f1++)),w=f0.indexOf(o.charAt(f1++)),n0=f0.indexOf(o.charAt(f1++)),m0=f0.indexOf(o.charAt(f1++)),r=f<<2|w>>4,l=(15&w)<<4|n0>>2,c=(3&n0)<<6|m0,A0+=String.fromCharCode(r),n0!==64&&(A0+=String.fromCharCode(l)),m0!==64&&(A0+=String.fromCharCode(c));while(f11&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof H$))throw R0}),process.on("unhandledRejection",function(R0,X0){process.exit(1)}),a0.quit=function(R0){process.exit(R0)},a0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(a0.read=function(X0){return read(X0)}),a0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(ur(typeof(C1=read(X0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?a0.arguments=scriptArgs:typeof arguments<"u"&&(a0.arguments=arguments),typeof quit=="function"&&(a0.quit=function(R0){quit(R0)})):(T3||$3)&&(T3?document.currentScript&&(o9=document.currentScript.src):o9=self.location.href,o9=o9.indexOf("blob:")!==0?o9.split("/").slice(0,-1).join("/")+"/":"",a0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},$3&&(a0.readBinary=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),a0.readAsync=function(X0,C1,S2){var W3=new XMLHttpRequest;W3.open("GET",X0,!0),W3.responseType="arraybuffer",W3.onload=function(){if(W3.status==200||W3.status==0&&W3.response){C1(W3.response);return}S2()},W3.onerror=S2,W3.send(null)},a0.setWindowTitle=function(R0){document.title=R0});var r4=a0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),V6=a0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(o in y5)y5.hasOwnProperty(o)&&(a0[o]=y5[o]);function We(R0){var X0=k0;return k0=k0+R0+15&-16,X0}function Yr(R0){var X0=f0[V2>>2],C1=X0+R0+15&-16;return f0[V2>>2]=C1,C1>=_9&&!Jr()?(f0[V2>>2]=X0,0):X0}function Vi(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function qA(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var X0=parseInt(R0.substr(1));return ur(X0%8==0),X0/8}}function Ns(R0){Ns.shown||(Ns.shown={}),Ns.shown[R0]||(Ns.shown[R0]=1,V6(R0))}y5=void 0;var Rm={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},D$=[];function ZC(R0,X0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(X0>>>0):+(R0>>>0)+4294967296*+(0|X0)}function _$(R0,X0,C1){return C1&&C1.length?a0["dynCall_"+R0].apply(null,[X0].concat(C1)):a0["dynCall_"+R0].call(null,X0)}var HA=0,ph=0;function ur(R0,X0){R0||Ki("Assertion failed: "+X0)}function YA(R0){var X0=a0["_"+R0];return ur(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var Fm={stackSave:function(){Hm()},stackRestore:function(){q$()},arrayToC:function(R0){var X0,C1,S2=JA(R0.length);return X0=R0,C1=S2,f.set(X0,C1),S2},stringToC:function(R0){var X0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;X0=JA(C1),Tm(R0,X0,C1)}return X0}},Gs={string:Fm.stringToC,array:Fm.arrayToC};function Bh(R0,X0,C1,S2,W3){var g9=YA(R0),J9=[],h6=0;if(S2)for(var Ct=0;Ct>0]=X0;break;case"i16":n0[R0>>1]=X0;break;case"i32":f0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+wh(tempDouble=X0)>=1?tempDouble>0?(0|kh(+vh(tempDouble/4294967296),4294967295))>>>0:~~+P$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],f0[R0>>2]=tempI64[0],f0[R0+4>>2]=tempI64[1];break;case"float":f1[R0>>2]=X0;break;case"double":R[R0>>3]=X0;break;default:Ki("invalid type for setValue: "+C1)}}function E3(R0,X0,C1){switch((X0=X0||"i8").charAt(X0.length-1)==="*"&&(X0="i32"),X0){case"i1":case"i8":return f[R0>>0];case"i16":return n0[R0>>1];case"i32":case"i64":return f0[R0>>2];case"float":return f1[R0>>2];case"double":return R[R0>>3];default:Ki("invalid type for getValue: "+X0)}return null}function iB(R0,X0,C1,S2){typeof R0=="number"?(g9=!0,J9=R0):(g9=!1,J9=R0.length);var W3=typeof X0=="string"?X0:null;if(h6=C1==4?S2:[typeof Ys=="function"?Ys:We,JA,We,Yr][C1===void 0?2:C1](Math.max(J9,W3?1:X0.length)),g9){for(S2=h6,ur((3&h6)==0),Ct=h6+(-4&J9);S2>2]=0;for(Ct=h6+J9;S2>0]=0;return h6}if(W3==="i8")return R0.subarray||R0.slice?w.set(R0,h6):w.set(new Uint8Array(R0),h6),h6;for(var g9,J9,h6,Ct,Te,je,Se,h9=0;h9>0],(S2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var h6="";if(g9<128){for(;X0>0;)W3=String.fromCharCode.apply(String,w.subarray(R0,R0+Math.min(X0,1024))),h6=h6?h6+W3:W3,R0+=1024,X0-=1024;return h6}return C1=R0,function(Te,je){for(var Se=je;Te[Se];)++Se;if(Se-je>16&&Te.subarray&&Mm)return Mm.decode(Te.subarray(je,Se));for(var h9,M7,Ti,pt,T7,Ni,Gi="";;){if(!(h9=Te[je++]))return Gi;if(!(128&h9)){Gi+=String.fromCharCode(h9);continue}if(M7=63&Te[je++],(224&h9)==192){Gi+=String.fromCharCode((31&h9)<<6|M7);continue}if(Ti=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Ti:(pt=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Ti<<6|pt:(T7=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Ti<<12|pt<<6|T7:(1&h9)<<30|M7<<24|Ti<<18|pt<<12|T7<<6|(Ni=63&Te[je++]))),h9<65536)Gi+=String.fromCharCode(h9);else{var Tn=h9-65536;Gi+=String.fromCharCode(55296|Tn>>10,56320|1023&Tn)}}}(w,C1)}function rB(R0){for(var X0="";;){var C1=f[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Us(R0,X0){return function(S2,W3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(f[W3>>0]=0)}(R0,X0,!1)}var Mm=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Fn(R0,X0,C1,S2){if(!(S2>0))return 0;for(var W3=C1,g9=C1+S2-1,J9=0;J9=55296&&h6<=57343&&(h6=65536+((1023&h6)<<10)|1023&R0.charCodeAt(++J9)),h6<=127){if(C1>=g9)break;X0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;X0[C1++]=192|h6>>6,X0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;X0[C1++]=224|h6>>12,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;X0[C1++]=240|h6>>18,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;X0[C1++]=248|h6>>24,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else{if(C1+5>=g9)break;X0[C1++]=252|h6>>30,X0[C1++]=128|h6>>24&63,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}}return X0[C1]=0,C1-W3}function Tm(R0,X0,C1){return Fn(R0,w,X0,C1)}function Ps(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&R0.charCodeAt(++C1)),S2<=127?++X0:S2<=2047?X0+=2:S2<=65535?X0+=3:S2<=2097151?X0+=4:S2<=67108863?X0+=5:X0+=6}return X0}var Nm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function nB(R0){for(var X0=R0,C1=X0>>1;n0[C1];)++C1;if((X0=C1<<1)-R0>32&&Nm)return Nm.decode(w.subarray(R0,X0));for(var S2=0,W3="";;){var g9=n0[R0+2*S2>>1];if(g9==0)return W3;++S2,W3+=String.fromCharCode(g9)}}function sB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=X0,W3=(C1-=2)<2*R0.length?C1/2:R0.length,g9=0;g9>1]=J9,X0+=2}return n0[X0>>1]=0,X0-S2}function oB(R0){return 2*R0.length}function AB(R0){for(var X0=0,C1="";;){var S2=f0[R0+4*X0>>2];if(S2==0)return C1;if(++X0,S2>=65536){var W3=S2-65536;C1+=String.fromCharCode(55296|W3>>10,56320|1023&W3)}else C1+=String.fromCharCode(S2)}}function aB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=X0,W3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++g9)),f0[X0>>2]=J9,(X0+=4)+4>W3)break}return f0[X0>>2]=0,X0-S2}function $B(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&++C1,X0+=4}return X0}function lB(R0){var X0=Ps(R0)+1,C1=Ys(X0);return C1&&Fn(R0,f,C1,X0),C1}function cB(R0){var X0=Ps(R0)+1,C1=JA(X0);return Fn(R0,f,C1,X0),C1}function Gm(R0){return R0}function jC(){var R0,X0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(W3){S2=W3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return a0.extraStackTrace&&(X0+=` -`+a0.extraStackTrace()),(R0=X0).replace(/__Z[\w\d_]+/g,function(C1){var S2,W3=S2=C1;return C1===W3?C1:C1+" ["+W3+"]"})}function Qh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function Um(R0){a0.buffer=c=R0}function Y9(){a0.HEAP8=f=new Int8Array(c),a0.HEAP16=n0=new Int16Array(c),a0.HEAP32=f0=new Int32Array(c),a0.HEAPU8=w=new Uint8Array(c),a0.HEAPU16=m0=new Uint16Array(c),a0.HEAPU32=A0=new Uint32Array(c),a0.HEAPF32=f1=new Float32Array(c),a0.HEAPF64=R=new Float64Array(c)}function Jr(){var R0=a0.usingWasm?65536:16777216,X0=2147483648-R0;if(f0[V2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?Qh(2*_9,R0):Math.min(Qh((3*_9+2147483648)/4,R0),X0);var S2=a0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Um(S2),Y9(),!0):(_9=C1,!1)}L0=k0=e2=y1=Y2=T2=V2=0,S1=!1,a0.reallocBuffer||(a0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(c,R0);else{var X0,C1=f;X0=new ArrayBuffer(R0),new Int8Array(X0).set(C1)}}catch{return!1}return!!tp(X0)&&X0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(X0){return X0.byteLength}}var R$=a0.TOTAL_STACK||5242880,_9=a0.TOTAL_MEMORY||16777216;function F$(){return _9}function Os(R0){for(;R0.length>0;){var X0=R0.shift();if(typeof X0=="function"){X0();continue}var C1=X0.func;typeof C1=="number"?X0.arg===void 0?a0.dynCall_v(C1):a0.dynCall_vi(C1,X0.arg):C1(X0.arg===void 0?null:X0.arg)}}_9=0?R0:X0<=32?2*Math.abs(1<=S2&&(X0<=32||R0>S2)&&(R0=-2*S2+R0),R0}var wh=Math.abs,P$=Math.ceil,vh=Math.floor,kh=Math.min,Mn=0,Sh=null,Hs=null;function gB(R0){return R0}a0.preloadedImages={},a0.preloadedAudios={};var qm="data:application/octet-stream;base64,";function O$(R0){return String.prototype.startsWith?R0.startsWith(qm):R0.indexOf(qm)===0}(function(){var X0="main.wast",C1="main.wasm",S2="main.temp.asm.js";O$(X0)||(X0=V4(X0)),O$(C1)||(C1=V4(C1)),O$(S2)||(S2=V4(S2));var W3={global:null,env:null,asm2wasm:Rm,parent:a0},g9=null;function J9(Se){return Se}function h6(){try{if(a0.wasmBinary)return new Uint8Array(a0.wasmBinary);if(a0.readBinary)return a0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Ki(Se)}}a0.asmPreload=a0.asm;var Ct=a0.reallocBuffer,Te=function(Se){Se=Qh(Se,a0.usingWasm?65536:16777216);var h9=a0.buffer.byteLength;if(a0.usingWasm)try{var M7=a0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(Se){return je==="asmjs"?Ct(Se):Te(Se)};var je="";a0.asm=function(Se,h9,M7){var Ti;if(!(h9=Ti=h9).table){var pt,T7=a0.wasmTableSize;T7===void 0&&(T7=1024);var Ni=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Ni!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Ni,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),a0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=a0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),pt=function(Tn,fr,Ym){if(typeof WebAssembly!="object")return V6("no native wasm support detected"),!1;if(!(a0.wasmMemory instanceof WebAssembly.Memory))return V6("no native wasm Memory in use"),!1;function bh(dr,zi){if((g9=dr.exports).memory){var VA,Js,Vs;VA=g9.memory,Js=a0.buffer,VA.byteLength0?C1:Ps(R0)+1,W3=Array(S2),g9=Fn(R0,W3,0,W3.length);return X0&&(W3.length=g9),W3}function ep(R0){for(var X0=[],C1=0;C1255&&(S2&=255),X0.push(String.fromCharCode(S2))}return X0.join("")}k0+=16,V2=We(4),Y2=(e2=y1=Vi(k0))+R$,T2=Vi(Y2),f0[V2>>2]=T2,S1=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:Ki,assert:ur,enlargeMemory:Jr,getTotalMemory:F$,abortOnCannotGrowMemory:function(){Ki("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(X0,C1,S2){var W3=Hm();try{return a0.dynCall_iii(X0,C1,S2)}catch(g9){if(q$(W3),typeof g9!="number"&&g9!=="longjmp")throw g9;a0.setThrew(1,0)}},___assert_fail:function(X0,C1,S2,W3){Ki("Assertion failed: "+L$(X0)+", at: "+[C1?L$(C1):"unknown filename",S2,W3?L$(W3):"unknown function"])},___setErrNo:function(X0){return a0.___errno_location&&(f0[a0.___errno_location()>>2]=X0),X0},_abort:function(){a0.abort()},_emscripten_memcpy_big:function(X0,C1,S2){return w.set(w.subarray(C1,C1+S2),X0),X0},_llvm_floor_f64:vh,DYNAMICTOP_PTR:V2,tempDoublePtr:F7,ABORT:HA,STACKTOP:y1,STACK_MAX:Y2};var zr=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,c);a0.asm=zr,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var tp=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 Ys=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 JA=a0.stackAlloc=function(){return a0.asm.stackAlloc.apply(null,arguments)},q$=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},Hm=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function H$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function Y$(R0){R0=R0||a0.arguments,!(Mn>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)XC(a0.preRun.shift());Os(Vr)}(),!(Mn>0)&&(a0.calledRun||(a0.setStatus?(a0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a0.setStatus("")},1),X0()},1)):X0())));function X0(){!a0.calledRun&&(a0.calledRun=!0,HA||(N$||(N$=!0,Os(M$)),Os(yh),a0.onRuntimeInitialized&&a0.onRuntimeInitialized(),function(){if(a0.postRun)for(typeof a0.postRun=="function"&&(a0.postRun=[a0.postRun]);a0.postRun.length;)Mi(a0.postRun.shift());Os(T$)}()))}}function ip(R0,X0){(!X0||!a0.noExitRuntime||R0!==0)&&(a0.noExitRuntime||(HA=!0,ph=R0,y1=r3,Os(yi),Fi=!0,a0.onExit&&a0.onExit(R0)),a0.quit(R0,new H$(R0)))}function Ki(R0){throw a0.onAbort&&a0.onAbort(R0),R0!==void 0?(r4(R0),V6(R0),R0=JSON.stringify(R0)):R0="",HA=!0,ph=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=zr,a0.ccall=Bh,a0.cwrap=function(X0,C1,S2,W3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!W3?YA(X0):function(){return Bh(X0,C1,S2,arguments,W3)}},H$.prototype=Error(),H$.prototype.constructor=H$,Hs=function R0(){a0.calledRun||Y$(),a0.calledRun||(Hs=R0)},a0.run=Y$,a0.abort=Ki,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,Y$(),a0.onRuntimeInitialized=()=>{yv=!0,wv()},OA.decode=function(R0){return function(C1){if(!yv)throw Error("Not initialized");var S2={};function W3(fr){return new Int32Array(a0.HEAPU8.buffer,fr,1)[0]}function g9(fr,Ym){var bh=new ArrayBuffer(Ym*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(bh);return y8.set(new Float32Array(a0.HEAPU8.buffer,fr,Ym)),y8}S2.open=a0.cwrap("stb_vorbis_js_open","number",[]),S2.close=a0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=a0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=a0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=a0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,Ct,Te,je=S2.open(),Se=(J9=C1,h6=C1.byteLength,Ct=a0._malloc(h6),(Te=new Uint8Array(a0.HEAPU8.buffer,Ct,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=a0._malloc(4),M7=a0._malloc(4),Ti=S2.decode(je,Se.byteOffset,Se.byteLength,h9,M7);if(a0._free(Se.byteOffset),Ti<0)throw S2.close(je),a0._free(h9),Error("stbvorbis decode failed: "+Ti);for(var pt=S2.channels(je),T7=Array(pt),Ni=new Int32Array(a0.HEAPU32.buffer,W3(h9),pt),Gi=0;Gio.chunkData.currentIndex;){let w=cD(f,o.chunkData,r,l);c.push(w),f++}return c.length>1&&c.pop(),c}function cD(o,r,l,c){let f=Ee(r,20),w=o3(r,4)*2,n0=o3(r,4)*2,m0=o3(r,4),f0=o3(r,4),A0=o3(r,4),f1=r[r.currentIndex++];f1===255&&(f1=60);let R=Cy(r[r.currentIndex++]),L0=o3(r,2),k0=o3(r,2);return new Hp(f,w,n0,m0,f0,A0,f1,R,L0,k0,l,o,c)}var Yp=class extends W6{constructor(r){super();let l=r.currentIndex;this.generatorType=r[l+1]<<8|r[l],this.generatorValue=FA(r[l+2],r[l+3]),r.currentIndex+=4}};function Jp(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new Yp(o.chunkData));return r.length>1&&r.pop(),r}var Vp=class extends Eh{constructor(r){super(),this.instrumentName=Ee(r.chunkData,20).trim(),this.instrumentZoneIndex=o3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let c=this.instrumentZoneIndex;co.chunkData.currentIndex;){let c=new Vp(o);if(l.length>0){let f=c.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(f,r)}l.push(c)}return l.length>1&&l.pop(),l}var Kp=class extends PA{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lc.generatorType===k1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===k1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===k1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function Sv(o,r,l,c){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let w=new Kp(o.chunkData);if(f.length>0){let n0=w.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,m0=w.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(n0,m0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getSample(c),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(w)}return f.length>1&&f.pop(),f}var zp=class extends Ih{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lc.generatorType===k1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===k1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===k1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function bv(o,r,l,c){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let w=new zp(o.chunkData);if(f.length>0){let n0=w.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,m0=w.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(n0,m0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getInstrument(c),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(w)}return f.length>1&&f.pop(),f}var Zp=class extends dh{constructor(r,l){super(l),this.presetName=Ee(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(r.chunkData,2),this.bank=o3(r.chunkData,2),this.presetZoneStartIndex=o3(r.chunkData,2),this.library=o3(r.chunkData,4),this.genre=o3(r.chunkData,4),this.morphology=o3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let c=this.presetZoneStartIndex;co.chunkData.currentIndex;){let f=new Zp(o,l);if(c.length>0){let w=f.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(w,r)}c.push(f)}return c.length>1&&c.pop(),c}var Wp=class extends oe{constructor(r){super({srcEnum:o3(r,2),dest:o3(r,2),amt:FA(r[r.currentIndex++],r[r.currentIndex++]),secSrcEnum:o3(r,2),transform:o3(r,2)})}};function JC(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new Wp(o.chunkData));return r}var VC=class extends S${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new V3(r),gr("%cParsing SoundFont...",D1.info),!this.dataArray)throw i4(),new TypeError("No data!");let c=d4(this.dataArray,!1);this.verifyHeader(c,"riff");let f=Ee(this.dataArray,4).toLowerCase();if(f!=="sfbk"&&f!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${f}"`);let w=f==="sfpk",n0=d4(this.dataArray);for(this.verifyHeader(n0,"list"),Ee(n0.chunkData,4);n0.chunkData.length>n0.chunkData.currentIndex;){let w6=d4(n0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${o3(w6.chunkData,2)}.${o3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ee(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=JC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let V4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...V4.filter(r4=>!this.defaultModulators.find(V6=>oe.isIdentical(r4,V6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ee(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}K5(`%c"${w6.header}": %c"${s6}"`,D1.info,D1.recognized)}let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"list"),this.verifyText(Ee(this.dataArray,4),"sdta"),K5("%cVerifying smpl chunk...",D1.warn);let f0=d4(this.dataArray,!1);this.verifyHeader(f0,"smpl");let A0;if(w){K5("%cSF2Pack detected, attempting to decode the smpl chunk...",D1.info);try{A0=OA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+m0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}K5(`%cDecoded the smpl chunk! Length: %c${A0.length}`,D1.info,D1.value)}else A0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;K5(`%cSkipping sample chunk, length: %c${m0.size-12}`,D1.info,D1.value),this.dataArray.currentIndex+=m0.size-12,K5("%cLoading preset data chunk...",D1.warn);let f1=d4(this.dataArray);this.verifyHeader(f1,"list"),Ee(f1.chunkData,4);let R=d4(f1.chunkData);this.verifyHeader(R,"phdr");let L0=d4(f1.chunkData);this.verifyHeader(L0,"pbag");let k0=d4(f1.chunkData);this.verifyHeader(k0,"pmod");let S1=d4(f1.chunkData);this.verifyHeader(S1,"pgen");let e2=d4(f1.chunkData);this.verifyHeader(e2,"inst");let y1=d4(f1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(f1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(f1.chunkData);this.verifyHeader(T2,"igen");let V2=d4(f1.chunkData);this.verifyHeader(V2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...vv(V2,A0,!w));let i3=Jp(T2),r3=JC(Y2),a0=Sv(y1,i3,r3,this.samples);this.instruments=kv(e2,a0);let y5=Jp(S1),T3=JC(k0),$3=bv(L0,y5,T3,this.instruments);this.presets.push(...Dv(R,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),K5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4(),w&&delete this.dataArray}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};function Ch(o){let r=o.slice(8,12),l=new V3(r);return Ee(l,4,void 0,!1).toLowerCase()==="dls "?new Ts(o):new VC(o,!1)}async function _v(){let o="locale.exportAudio.formats.formats.soundfont.options.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"toggle",translatePathTitle:o+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:o+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:o+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:async r=>{let l=r.div.querySelector("input[trim-toggle='1']").checked,c=r.div.querySelector("input[compress-toggle='1']").checked,f=parseInt(r.div.querySelector("input[type='range']").value)/10;R8(r.id),gr("%cExporting minified soundfont...",D1.info);let w=await this.seq.getMIDI(),n0=Ch(w.embeddedSoundFont||this.soundFont);gh(w,await this.synth.getSynthesizerSnapshot()),l&&OC(n0,w);let m0=n0.write({compress:c,compressionQuality:f,compressionFunction:this.compressionFunc}),f0=new Blob([m0.buffer],{type:"audio/soundfont"}),A0=n0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(f0,`${n0.soundFontInfo.INAM||"unnamed"}.${A0}`),i4()}}],99999999,!0,this.localeManager)}async function xv(){let o="locale.exportAudio.formats.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:r=>{R8(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:r=>{R8(r.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:r=>{R8(r.id);try{this._exportSoundfont()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:r=>{R8(r.id);try{this._exportRMIDI()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Lv(){let o=(R,L0,k0)=>this.seq.midiData.RMIDInfo?.[R]===void 0?L0:k0.decode(this.seq.midiData.RMIDInfo?.[R]).replace(/\0$/,""),r=o("IENC","ascii",new TextDecoder),l=new TextDecoder(r),c=o("IPRD","",l),f=o("IART","",l),w=o("IGNR","",l),n0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),m0="locale.exportAudio.formats.formats.rmidi.options.",f0="locale.exportAudio.formats.metadata.",f1=mt(this.localeManager.getLocaleString(m0+"title"),[{type:"toggle",translatePathTitle:m0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:m0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:f0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:f0+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:f0+"artist",attributes:{value:f,name:"artist",type:"text"}},{type:"input",translatePathTitle:f0+"genre",attributes:{value:w,name:"genre",type:"text"}},{type:"input",translatePathTitle:f0+"comment",attributes:{value:n0,name:"comment",type:"text"}},{type:"file",translatePathTitle:f0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:m0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:m0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(m0+"confirm"),onClick:async R=>{let L0=R.div.querySelector("input[compress-toggle='1']").checked,k0=parseInt(R.div.querySelector("input[type='range']").value)/10,S1=R.div.querySelector("input[name='album']").value,e2=R.div.querySelector("input[name='artist']").value,y1=R.div.querySelector("input[name='song_title']").value,Y2=R.div.querySelector("input[name='comment']").value,T2=R.div.querySelector("input[name='genre']").value,V2=parseInt(R.div.querySelector("input[name='bank_offset']").value),i3=R.div.querySelector("input[name='adjust']").checked,r3=R.div.querySelector("input[type='file']")?.files[0];R8(R.id),ni("%cExporting RMIDI...",D1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",y5=mt(this.localeManager.getLocaleString(a0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(a0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(V6=>setTimeout(V6,500));let T3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Ch($3.embeddedSoundFont||this.soundFont);T3.textContent=this.localeManager.getLocaleString(a0+"modifyingMIDI"),await new Promise(V6=>setTimeout(V6,75)),gh($3,await this.synth.getSynthesizerSnapshot()),T3.textContent=this.localeManager.getLocaleString(a0+"modifyingSoundfont"),await new Promise(V6=>setTimeout(V6,75)),OC(w6,$3);let s6=w6.write({compress:L0,compressionQuality:k0,compressionFunction:this.compressionFunc});T3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(V6=>setTimeout(V6,75));let o9;r3?.type.split("/")[0]==="image"?o9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let V4=By(s6,$3,w6,V2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:S1.length>0?S1:void 0,artist:e2.length>0?e2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([V4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),T3.textContent=this.localeManager.getLocaleString(a0+"done"),R8(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");f1.oninput=()=>{f1.files[0]&&(f1.parentElement.firstChild.textContent=f1.files[0].name)}}var KC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var r={};for(var l in o)o.hasOwnProperty(l)&&(r[l]=o[l]);var c=typeof window=="object",f=typeof process=="object"&&typeof EC=="function"&&!c,w=typeof importScripts=="function",n0=!c&&!f&&!w;if(f){o.print||(o.print=function($){process.stdout.write($+` +`+this.soundFontInfo.ISBJ,delete this.soundFontInfo.ISBJ);for(let[f0,A0]of Object.entries(this.soundFontInfo))K5(`%c"${f0}": %c"${A0}"`,D1.info,D1.recognized);let v=c.find(f0=>f0.header==="colh");if(!v)throw i4(),new Error("No colh chunk!");this.instrumentAmount=o3(v.chunkData,4),K5(`%cInstruments amount: %c${this.instrumentAmount}`,D1.info,D1.recognized);let r0=Ri(c,"wvpl");this.readDLSSamples(r0);let m0=Ri(c,"lins");if(!m0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(m0),this.presets.sort((f0,A0)=>f0.program-A0.program+(f0.bank-A0.bank)),K5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Ns.prototype.readDLSInstrumentList=Iv;Ns.prototype.readDLSInstrument=Ev;Ns.prototype.readRegion=Bv;Ns.prototype.readLart=pv;Ns.prototype.readDLSSamples=Qv;var OA=OA!==void 0?OA:{},yv=!1,wv;OA.isInitialized=new Promise(o=>wv=o);var lD=function(o){var r,l,c,f,v,r0,m0,f0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",A0="",f1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do f=f0.indexOf(o.charAt(f1++)),v=f0.indexOf(o.charAt(f1++)),r0=f0.indexOf(o.charAt(f1++)),m0=f0.indexOf(o.charAt(f1++)),r=f<<2|v>>4,l=(15&v)<<4|r0>>2,c=(3&r0)<<6|m0,A0+=String.fromCharCode(r),r0!==64&&(A0+=String.fromCharCode(l)),m0!==64&&(A0+=String.fromCharCode(c));while(f11&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof H$))throw R0}),process.on("unhandledRejection",function(R0,X0){process.exit(1)}),a0.quit=function(R0){process.exit(R0)},a0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(a0.read=function(X0){return read(X0)}),a0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(fr(typeof(C1=read(X0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?a0.arguments=scriptArgs:typeof arguments<"u"&&(a0.arguments=arguments),typeof quit=="function"&&(a0.quit=function(R0){quit(R0)})):(T3||$3)&&(T3?document.currentScript&&(o9=document.currentScript.src):o9=self.location.href,o9=o9.indexOf("blob:")!==0?o9.split("/").slice(0,-1).join("/")+"/":"",a0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},$3&&(a0.readBinary=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),a0.readAsync=function(X0,C1,S2){var W3=new XMLHttpRequest;W3.open("GET",X0,!0),W3.responseType="arraybuffer",W3.onload=function(){if(W3.status==200||W3.status==0&&W3.response){C1(W3.response);return}S2()},W3.onerror=S2,W3.send(null)},a0.setWindowTitle=function(R0){document.title=R0});var r4=a0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),V6=a0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(o in y5)y5.hasOwnProperty(o)&&(a0[o]=y5[o]);function We(R0){var X0=k0;return k0=k0+R0+15&-16,X0}function Jr(R0){var X0=f0[V2>>2],C1=X0+R0+15&-16;return f0[V2>>2]=C1,C1>=_9&&!Vr()?(f0[V2>>2]=X0,0):X0}function Vi(R0,X0){return X0||(X0=16),R0=Math.ceil(R0/X0)*X0}function qA(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var X0=parseInt(R0.substr(1));return fr(X0%8==0),X0/8}}function Gs(R0){Gs.shown||(Gs.shown={}),Gs.shown[R0]||(Gs.shown[R0]=1,V6(R0))}y5=void 0;var Rm={"f64-rem":function(R0,X0){return R0%X0},debugger:function(){}},D$=[];function ZC(R0,X0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(X0>>>0):+(R0>>>0)+4294967296*+(0|X0)}function _$(R0,X0,C1){return C1&&C1.length?a0["dynCall_"+R0].apply(null,[X0].concat(C1)):a0["dynCall_"+R0].call(null,X0)}var HA=0,ph=0;function fr(R0,X0){R0||Ki("Assertion failed: "+X0)}function YA(R0){var X0=a0["_"+R0];return fr(X0,"Cannot call unknown function "+R0+", make sure it is exported"),X0}var Fm={stackSave:function(){Hm()},stackRestore:function(){q$()},arrayToC:function(R0){var X0,C1,S2=JA(R0.length);return X0=R0,C1=S2,f.set(X0,C1),S2},stringToC:function(R0){var X0=0;if(R0!=null&&R0!==0){var C1=(R0.length<<2)+1;X0=JA(C1),Tm(R0,X0,C1)}return X0}},Us={string:Fm.stringToC,array:Fm.arrayToC};function Bh(R0,X0,C1,S2,W3){var g9=YA(R0),J9=[],h6=0;if(S2)for(var Ct=0;Ct>0]=X0;break;case"i16":r0[R0>>1]=X0;break;case"i32":f0[R0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+wh(tempDouble=X0)>=1?tempDouble>0?(0|kh(+vh(tempDouble/4294967296),4294967295))>>>0:~~+P$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],f0[R0>>2]=tempI64[0],f0[R0+4>>2]=tempI64[1];break;case"float":f1[R0>>2]=X0;break;case"double":R[R0>>3]=X0;break;default:Ki("invalid type for setValue: "+C1)}}function E3(R0,X0,C1){switch((X0=X0||"i8").charAt(X0.length-1)==="*"&&(X0="i32"),X0){case"i1":case"i8":return f[R0>>0];case"i16":return r0[R0>>1];case"i32":case"i64":return f0[R0>>2];case"float":return f1[R0>>2];case"double":return R[R0>>3];default:Ki("invalid type for getValue: "+X0)}return null}function iB(R0,X0,C1,S2){typeof R0=="number"?(g9=!0,J9=R0):(g9=!1,J9=R0.length);var W3=typeof X0=="string"?X0:null;if(h6=C1==4?S2:[typeof Js=="function"?Js:We,JA,We,Jr][C1===void 0?2:C1](Math.max(J9,W3?1:X0.length)),g9){for(S2=h6,fr((3&h6)==0),Ct=h6+(-4&J9);S2>2]=0;for(Ct=h6+J9;S2>0]=0;return h6}if(W3==="i8")return R0.subarray||R0.slice?v.set(R0,h6):v.set(new Uint8Array(R0),h6),h6;for(var g9,J9,h6,Ct,Te,je,Se,h9=0;h9>0],(S2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var h6="";if(g9<128){for(;X0>0;)W3=String.fromCharCode.apply(String,v.subarray(R0,R0+Math.min(X0,1024))),h6=h6?h6+W3:W3,R0+=1024,X0-=1024;return h6}return C1=R0,function(Te,je){for(var Se=je;Te[Se];)++Se;if(Se-je>16&&Te.subarray&&Mm)return Mm.decode(Te.subarray(je,Se));for(var h9,M7,Ti,pt,T7,Ni,Gi="";;){if(!(h9=Te[je++]))return Gi;if(!(128&h9)){Gi+=String.fromCharCode(h9);continue}if(M7=63&Te[je++],(224&h9)==192){Gi+=String.fromCharCode((31&h9)<<6|M7);continue}if(Ti=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Ti:(pt=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Ti<<6|pt:(T7=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Ti<<12|pt<<6|T7:(1&h9)<<30|M7<<24|Ti<<18|pt<<12|T7<<6|(Ni=63&Te[je++]))),h9<65536)Gi+=String.fromCharCode(h9);else{var Nn=h9-65536;Gi+=String.fromCharCode(55296|Nn>>10,56320|1023&Nn)}}}(v,C1)}function rB(R0){for(var X0="";;){var C1=f[R0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ps(R0,X0){return function(S2,W3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(f[W3>>0]=0)}(R0,X0,!1)}var Mm=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Mn(R0,X0,C1,S2){if(!(S2>0))return 0;for(var W3=C1,g9=C1+S2-1,J9=0;J9=55296&&h6<=57343&&(h6=65536+((1023&h6)<<10)|1023&R0.charCodeAt(++J9)),h6<=127){if(C1>=g9)break;X0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;X0[C1++]=192|h6>>6,X0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;X0[C1++]=224|h6>>12,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;X0[C1++]=240|h6>>18,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;X0[C1++]=248|h6>>24,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else{if(C1+5>=g9)break;X0[C1++]=252|h6>>30,X0[C1++]=128|h6>>24&63,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}}return X0[C1]=0,C1-W3}function Tm(R0,X0,C1){return Mn(R0,v,X0,C1)}function Os(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&R0.charCodeAt(++C1)),S2<=127?++X0:S2<=2047?X0+=2:S2<=65535?X0+=3:S2<=2097151?X0+=4:S2<=67108863?X0+=5:X0+=6}return X0}var Nm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function nB(R0){for(var X0=R0,C1=X0>>1;r0[C1];)++C1;if((X0=C1<<1)-R0>32&&Nm)return Nm.decode(v.subarray(R0,X0));for(var S2=0,W3="";;){var g9=r0[R0+2*S2>>1];if(g9==0)return W3;++S2,W3+=String.fromCharCode(g9)}}function sB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=X0,W3=(C1-=2)<2*R0.length?C1/2:R0.length,g9=0;g9>1]=J9,X0+=2}return r0[X0>>1]=0,X0-S2}function oB(R0){return 2*R0.length}function AB(R0){for(var X0=0,C1="";;){var S2=f0[R0+4*X0>>2];if(S2==0)return C1;if(++X0,S2>=65536){var W3=S2-65536;C1+=String.fromCharCode(55296|W3>>10,56320|1023&W3)}else C1+=String.fromCharCode(S2)}}function aB(R0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=X0,W3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&R0.charCodeAt(++g9)),f0[X0>>2]=J9,(X0+=4)+4>W3)break}return f0[X0>>2]=0,X0-S2}function $B(R0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&++C1,X0+=4}return X0}function lB(R0){var X0=Os(R0)+1,C1=Js(X0);return C1&&Mn(R0,f,C1,X0),C1}function cB(R0){var X0=Os(R0)+1,C1=JA(X0);return Mn(R0,f,C1,X0),C1}function Gm(R0){return R0}function jC(){var R0,X0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(W3){S2=W3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return a0.extraStackTrace&&(X0+=` +`+a0.extraStackTrace()),(R0=X0).replace(/__Z[\w\d_]+/g,function(C1){var S2,W3=S2=C1;return C1===W3?C1:C1+" ["+W3+"]"})}function Qh(R0,X0){return R0%X0>0&&(R0+=X0-R0%X0),R0}function Um(R0){a0.buffer=c=R0}function Y9(){a0.HEAP8=f=new Int8Array(c),a0.HEAP16=r0=new Int16Array(c),a0.HEAP32=f0=new Int32Array(c),a0.HEAPU8=v=new Uint8Array(c),a0.HEAPU16=m0=new Uint16Array(c),a0.HEAPU32=A0=new Uint32Array(c),a0.HEAPF32=f1=new Float32Array(c),a0.HEAPF64=R=new Float64Array(c)}function Vr(){var R0=a0.usingWasm?65536:16777216,X0=2147483648-R0;if(f0[V2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?Qh(2*_9,R0):Math.min(Qh((3*_9+2147483648)/4,R0),X0);var S2=a0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Um(S2),Y9(),!0):(_9=C1,!1)}L0=k0=e2=y1=Y2=T2=V2=0,S1=!1,a0.reallocBuffer||(a0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(c,R0);else{var X0,C1=f;X0=new ArrayBuffer(R0),new Int8Array(X0).set(C1)}}catch{return!1}return!!tp(X0)&&X0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(X0){return X0.byteLength}}var R$=a0.TOTAL_STACK||5242880,_9=a0.TOTAL_MEMORY||16777216;function F$(){return _9}function qs(R0){for(;R0.length>0;){var X0=R0.shift();if(typeof X0=="function"){X0();continue}var C1=X0.func;typeof C1=="number"?X0.arg===void 0?a0.dynCall_v(C1):a0.dynCall_vi(C1,X0.arg):C1(X0.arg===void 0?null:X0.arg)}}_9=0?R0:X0<=32?2*Math.abs(1<=S2&&(X0<=32||R0>S2)&&(R0=-2*S2+R0),R0}var wh=Math.abs,P$=Math.ceil,vh=Math.floor,kh=Math.min,Tn=0,Sh=null,Ys=null;function gB(R0){return R0}a0.preloadedImages={},a0.preloadedAudios={};var qm="data:application/octet-stream;base64,";function O$(R0){return String.prototype.startsWith?R0.startsWith(qm):R0.indexOf(qm)===0}(function(){var X0="main.wast",C1="main.wasm",S2="main.temp.asm.js";O$(X0)||(X0=V4(X0)),O$(C1)||(C1=V4(C1)),O$(S2)||(S2=V4(S2));var W3={global:null,env:null,asm2wasm:Rm,parent:a0},g9=null;function J9(Se){return Se}function h6(){try{if(a0.wasmBinary)return new Uint8Array(a0.wasmBinary);if(a0.readBinary)return a0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Ki(Se)}}a0.asmPreload=a0.asm;var Ct=a0.reallocBuffer,Te=function(Se){Se=Qh(Se,a0.usingWasm?65536:16777216);var h9=a0.buffer.byteLength;if(a0.usingWasm)try{var M7=a0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(Se){return je==="asmjs"?Ct(Se):Te(Se)};var je="";a0.asm=function(Se,h9,M7){var Ti;if(!(h9=Ti=h9).table){var pt,T7=a0.wasmTableSize;T7===void 0&&(T7=1024);var Ni=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Ni!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Ni,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),a0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=a0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),pt=function(Nn,dr,Ym){if(typeof WebAssembly!="object")return V6("no native wasm support detected"),!1;if(!(a0.wasmMemory instanceof WebAssembly.Memory))return V6("no native wasm Memory in use"),!1;function bh(Ir,zi){if((g9=Ir.exports).memory){var VA,Vs,Ks;VA=g9.memory,Vs=a0.buffer,VA.byteLength0?C1:Os(R0)+1,W3=Array(S2),g9=Mn(R0,W3,0,W3.length);return X0&&(W3.length=g9),W3}function ep(R0){for(var X0=[],C1=0;C1255&&(S2&=255),X0.push(String.fromCharCode(S2))}return X0.join("")}k0+=16,V2=We(4),Y2=(e2=y1=Vi(k0))+R$,T2=Vi(Y2),f0[V2>>2]=T2,S1=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:Ki,assert:fr,enlargeMemory:Vr,getTotalMemory:F$,abortOnCannotGrowMemory:function(){Ki("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(X0,C1,S2){var W3=Hm();try{return a0.dynCall_iii(X0,C1,S2)}catch(g9){if(q$(W3),typeof g9!="number"&&g9!=="longjmp")throw g9;a0.setThrew(1,0)}},___assert_fail:function(X0,C1,S2,W3){Ki("Assertion failed: "+L$(X0)+", at: "+[C1?L$(C1):"unknown filename",S2,W3?L$(W3):"unknown function"])},___setErrNo:function(X0){return a0.___errno_location&&(f0[a0.___errno_location()>>2]=X0),X0},_abort:function(){a0.abort()},_emscripten_memcpy_big:function(X0,C1,S2){return v.set(v.subarray(C1,C1+S2),X0),X0},_llvm_floor_f64:vh,DYNAMICTOP_PTR:V2,tempDoublePtr:F7,ABORT:HA,STACKTOP:y1,STACK_MAX:Y2};var Zr=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,c);a0.asm=Zr,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var tp=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 Js=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 JA=a0.stackAlloc=function(){return a0.asm.stackAlloc.apply(null,arguments)},q$=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},Hm=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function H$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function Y$(R0){R0=R0||a0.arguments,!(Tn>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)XC(a0.preRun.shift());qs(Kr)}(),!(Tn>0)&&(a0.calledRun||(a0.setStatus?(a0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a0.setStatus("")},1),X0()},1)):X0())));function X0(){!a0.calledRun&&(a0.calledRun=!0,HA||(N$||(N$=!0,qs(M$)),qs(yh),a0.onRuntimeInitialized&&a0.onRuntimeInitialized(),function(){if(a0.postRun)for(typeof a0.postRun=="function"&&(a0.postRun=[a0.postRun]);a0.postRun.length;)Mi(a0.postRun.shift());qs(T$)}()))}}function ip(R0,X0){(!X0||!a0.noExitRuntime||R0!==0)&&(a0.noExitRuntime||(HA=!0,ph=R0,y1=r3,qs(yi),Fi=!0,a0.onExit&&a0.onExit(R0)),a0.quit(R0,new H$(R0)))}function Ki(R0){throw a0.onAbort&&a0.onAbort(R0),R0!==void 0?(r4(R0),V6(R0),R0=JSON.stringify(R0)):R0="",HA=!0,ph=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=Zr,a0.ccall=Bh,a0.cwrap=function(X0,C1,S2,W3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!W3?YA(X0):function(){return Bh(X0,C1,S2,arguments,W3)}},H$.prototype=Error(),H$.prototype.constructor=H$,Ys=function R0(){a0.calledRun||Y$(),a0.calledRun||(Ys=R0)},a0.run=Y$,a0.abort=Ki,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,Y$(),a0.onRuntimeInitialized=()=>{yv=!0,wv()},OA.decode=function(R0){return function(C1){if(!yv)throw Error("Not initialized");var S2={};function W3(dr){return new Int32Array(a0.HEAPU8.buffer,dr,1)[0]}function g9(dr,Ym){var bh=new ArrayBuffer(Ym*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(bh);return y8.set(new Float32Array(a0.HEAPU8.buffer,dr,Ym)),y8}S2.open=a0.cwrap("stb_vorbis_js_open","number",[]),S2.close=a0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=a0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=a0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=a0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,Ct,Te,je=S2.open(),Se=(J9=C1,h6=C1.byteLength,Ct=a0._malloc(h6),(Te=new Uint8Array(a0.HEAPU8.buffer,Ct,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=a0._malloc(4),M7=a0._malloc(4),Ti=S2.decode(je,Se.byteOffset,Se.byteLength,h9,M7);if(a0._free(Se.byteOffset),Ti<0)throw S2.close(je),a0._free(h9),Error("stbvorbis decode failed: "+Ti);for(var pt=S2.channels(je),T7=Array(pt),Ni=new Int32Array(a0.HEAPU32.buffer,W3(h9),pt),Gi=0;Gio.chunkData.currentIndex;){let v=cD(f,o.chunkData,r,l);c.push(v),f++}return c.length>1&&c.pop(),c}function cD(o,r,l,c){let f=Ee(r,20),v=o3(r,4)*2,r0=o3(r,4)*2,m0=o3(r,4),f0=o3(r,4),A0=o3(r,4),f1=r[r.currentIndex++];f1===255&&(f1=60);let R=Cy(r[r.currentIndex++]),L0=o3(r,2),k0=o3(r,2);return new Hp(f,v,r0,m0,f0,A0,f1,R,L0,k0,l,o,c)}var Yp=class extends W6{constructor(r){super();let l=r.currentIndex;this.generatorType=r[l+1]<<8|r[l],this.generatorValue=FA(r[l+2],r[l+3]),r.currentIndex+=4}};function Jp(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new Yp(o.chunkData));return r.length>1&&r.pop(),r}var Vp=class extends Eh{constructor(r){super(),this.instrumentName=Ee(r.chunkData,20).trim(),this.instrumentZoneIndex=o3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let c=this.instrumentZoneIndex;co.chunkData.currentIndex;){let c=new Vp(o);if(l.length>0){let f=c.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(f,r)}l.push(c)}return l.length>1&&l.pop(),l}var Kp=class extends PA{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lc.generatorType===k1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===k1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===k1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function Sv(o,r,l,c){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let v=new Kp(o.chunkData);if(f.length>0){let r0=v.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,m0=v.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(r0,m0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getSample(c),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(v)}return f.length>1&&f.pop(),f}var zp=class extends Ih{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lc.generatorType===k1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===k1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===k1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function bv(o,r,l,c){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let v=new zp(o.chunkData);if(f.length>0){let r0=v.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,m0=v.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(r0,m0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getInstrument(c),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(v)}return f.length>1&&f.pop(),f}var Zp=class extends dh{constructor(r,l){super(l),this.presetName=Ee(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(r.chunkData,2),this.bank=o3(r.chunkData,2),this.presetZoneStartIndex=o3(r.chunkData,2),this.library=o3(r.chunkData,4),this.genre=o3(r.chunkData,4),this.morphology=o3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let c=this.presetZoneStartIndex;co.chunkData.currentIndex;){let f=new Zp(o,l);if(c.length>0){let v=f.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(v,r)}c.push(f)}return c.length>1&&c.pop(),c}var Wp=class extends oe{constructor(r){super({srcEnum:o3(r,2),dest:o3(r,2),amt:FA(r[r.currentIndex++],r[r.currentIndex++]),secSrcEnum:o3(r,2),transform:o3(r,2)})}};function JC(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new Wp(o.chunkData));return r}var VC=class extends S${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new V3(r),gr("%cParsing SoundFont...",D1.info),!this.dataArray)throw i4(),new TypeError("No data!");let c=d4(this.dataArray,!1);this.verifyHeader(c,"riff");let f=Ee(this.dataArray,4).toLowerCase();if(f!=="sfbk"&&f!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${f}"`);let v=f==="sfpk",r0=d4(this.dataArray);for(this.verifyHeader(r0,"list"),Ee(r0.chunkData,4);r0.chunkData.length>r0.chunkData.currentIndex;){let w6=d4(r0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${o3(w6.chunkData,2)}.${o3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ee(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=JC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let V4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...V4.filter(r4=>!this.defaultModulators.find(V6=>oe.isIdentical(r4,V6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ee(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}K5(`%c"${w6.header}": %c"${s6}"`,D1.info,D1.recognized)}let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"list"),this.verifyText(Ee(this.dataArray,4),"sdta"),K5("%cVerifying smpl chunk...",D1.warn);let f0=d4(this.dataArray,!1);this.verifyHeader(f0,"smpl");let A0;if(v){K5("%cSF2Pack detected, attempting to decode the smpl chunk...",D1.info);try{A0=OA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+m0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}K5(`%cDecoded the smpl chunk! Length: %c${A0.length}`,D1.info,D1.value)}else A0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;K5(`%cSkipping sample chunk, length: %c${m0.size-12}`,D1.info,D1.value),this.dataArray.currentIndex+=m0.size-12,K5("%cLoading preset data chunk...",D1.warn);let f1=d4(this.dataArray);this.verifyHeader(f1,"list"),Ee(f1.chunkData,4);let R=d4(f1.chunkData);this.verifyHeader(R,"phdr");let L0=d4(f1.chunkData);this.verifyHeader(L0,"pbag");let k0=d4(f1.chunkData);this.verifyHeader(k0,"pmod");let S1=d4(f1.chunkData);this.verifyHeader(S1,"pgen");let e2=d4(f1.chunkData);this.verifyHeader(e2,"inst");let y1=d4(f1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(f1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(f1.chunkData);this.verifyHeader(T2,"igen");let V2=d4(f1.chunkData);this.verifyHeader(V2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...vv(V2,A0,!v));let i3=Jp(T2),r3=JC(Y2),a0=Sv(y1,i3,r3,this.samples);this.instruments=kv(e2,a0);let y5=Jp(S1),T3=JC(k0),$3=bv(L0,y5,T3,this.instruments);this.presets.push(...Dv(R,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),K5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4(),v&&delete this.dataArray}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};function Ch(o){let r=o.slice(8,12),l=new V3(r);return Ee(l,4,void 0,!1).toLowerCase()==="dls "?new Ns(o):new VC(o,!1)}async function _v(){let o="locale.exportAudio.formats.formats.soundfont.options.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"toggle",translatePathTitle:o+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:o+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:o+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:async r=>{let l=r.div.querySelector("input[trim-toggle='1']").checked,c=r.div.querySelector("input[compress-toggle='1']").checked,f=parseInt(r.div.querySelector("input[type='range']").value)/10;$t(r.id),gr("%cExporting minified soundfont...",D1.info);let v=await this.seq.getMIDI(),r0=Ch(v.embeddedSoundFont||this.soundFont);gh(v,await this.synth.getSynthesizerSnapshot()),l&&OC(r0,v);let m0=r0.write({compress:c,compressionQuality:f,compressionFunction:this.compressionFunc}),f0=new Blob([m0.buffer],{type:"audio/soundfont"}),A0=r0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(f0,`${r0.soundFontInfo.INAM||"unnamed"}.${A0}`),i4()}}],99999999,!0,this.localeManager)}async function xv(){let o="locale.exportAudio.formats.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:r=>{$t(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:r=>{$t(r.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:r=>{$t(r.id);try{this._exportSoundfont()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:r=>{$t(r.id);try{this._exportRMIDI()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Lv(){let o=(R,L0,k0)=>this.seq.midiData.RMIDInfo?.[R]===void 0?L0:k0.decode(this.seq.midiData.RMIDInfo?.[R]).replace(/\0$/,""),r=o("IENC","ascii",new TextDecoder),l=new TextDecoder(r),c=o("IPRD","",l),f=o("IART","",l),v=o("IGNR","",l),r0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),m0="locale.exportAudio.formats.formats.rmidi.options.",f0="locale.exportAudio.formats.metadata.",f1=mt(this.localeManager.getLocaleString(m0+"title"),[{type:"toggle",translatePathTitle:m0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:m0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:f0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:f0+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:f0+"artist",attributes:{value:f,name:"artist",type:"text"}},{type:"input",translatePathTitle:f0+"genre",attributes:{value:v,name:"genre",type:"text"}},{type:"input",translatePathTitle:f0+"comment",attributes:{value:r0,name:"comment",type:"text"}},{type:"file",translatePathTitle:f0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:m0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:m0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(m0+"confirm"),onClick:async R=>{let L0=R.div.querySelector("input[compress-toggle='1']").checked,k0=parseInt(R.div.querySelector("input[type='range']").value)/10,S1=R.div.querySelector("input[name='album']").value,e2=R.div.querySelector("input[name='artist']").value,y1=R.div.querySelector("input[name='song_title']").value,Y2=R.div.querySelector("input[name='comment']").value,T2=R.div.querySelector("input[name='genre']").value,V2=parseInt(R.div.querySelector("input[name='bank_offset']").value),i3=R.div.querySelector("input[name='adjust']").checked,r3=R.div.querySelector("input[type='file']")?.files[0];$t(R.id),ni("%cExporting RMIDI...",D1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",y5=mt(this.localeManager.getLocaleString(a0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(a0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(V6=>setTimeout(V6,500));let T3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Ch($3.embeddedSoundFont||this.soundFont);T3.textContent=this.localeManager.getLocaleString(a0+"modifyingMIDI"),await new Promise(V6=>setTimeout(V6,75)),gh($3,await this.synth.getSynthesizerSnapshot()),T3.textContent=this.localeManager.getLocaleString(a0+"modifyingSoundfont"),await new Promise(V6=>setTimeout(V6,75)),OC(w6,$3);let s6=w6.write({compress:L0,compressionQuality:k0,compressionFunction:this.compressionFunc});T3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(V6=>setTimeout(V6,75));let o9;r3?.type.split("/")[0]==="image"?o9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let V4=By(s6,$3,w6,V2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:S1.length>0?S1:void 0,artist:e2.length>0?e2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([V4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),T3.textContent=this.localeManager.getLocaleString(a0+"done"),$t(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");f1.oninput=()=>{f1.files[0]&&(f1.parentElement.firstChild.textContent=f1.files[0].name)}}var KC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var r={};for(var l in o)o.hasOwnProperty(l)&&(r[l]=o[l]);var c=typeof window=="object",f=typeof process=="object"&&typeof EC=="function"&&!c,v=typeof importScripts=="function",r0=!c&&!f&&!v;if(f){o.print||(o.print=function($){process.stdout.write($+` `)}),o.printErr||(o.printErr=function($){process.stderr.write($+` -`)});var m0=void 0,f0=void 0;o.read=function($,h){$=f0.normalize($);var d=m0.readFileSync($);return!d&&$!=f0.resolve($)&&($=path.join(__dirname,"..","src",$),d=m0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){f1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(i){if(!(i instanceof KA))throw i}),o.inspect=function(){return"[Emscripten Module object]"}}else if(n0)o.print||(o.print=print),typeof printErr<"u"&&(o.printErr=printErr),typeof read<"u"?o.read=read:o.read=function(){throw"no read() available (jsc?)"},o.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return K4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(c||w){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var A0=!1;o.print||(o.print=A0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}w&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function f1(i){eval.call(null,i)}!o.load&&o.read&&(o.load=function($){f1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in r)r.hasOwnProperty(l)&&(o[l]=r[l]);var R={setTempRet0:function(i){V6=i},getTempRet0:function(){return V6},stackSave:function(){return yi},stackRestore:function(i){yi=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return R.QUANTUM_SIZE;if(i[0]==="i"){var $=parseInt(i.substr(1));return K4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(R.getNativeTypeSize(i),R.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,$){return $==="double"||$==="i64"?i&7&&(K4((i&7)===4),i+=4):K4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?R.getNativeFieldSize(i):0),R.QUANTUM_SIZE):Math.min($,8)},dynCall:function(i,$,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,$),o["dynCall_"+i].apply(null,h)):o["dynCall_"+i].call(null,$)},functionPointers:[],addFunction:function(i){for(var $=0;$=qs){var h=XC();if(!h)return Fi=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var d=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=R;var L0=0,k0=!1,S1=0,e2=0,y1,Y2,T2,V2,i3,r3,a0,y5,T3,$3,w6,s6,o9,V4,r4,V6,We,Yr,Vi,qA,Ns,Rm,D$,ZC,Gv;function K4(i,$){i||Ks("Assertion failed: "+$)}var Uv=this;function WC(i){var $=o["_"+i];if(!$)try{$=void("_"+i)}catch{}return K4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var _$,HA;(function(){var i={stackSave:function(){R.stackSave()},stackRestore:function(){R.stackRestore()},arrayToC:function(W0){var t1=R.stackAlloc(W0.length);return JA(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=R.stackAlloc((W0.length<<2)+1),Ys(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};HA=function(t1,b2,s,A1,C){var w5=WC(t1),B2=[],T5=0;if(A1)for(var x9=0;x9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Jr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":V4=[$>>>0,(s6=$,+Y$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+Ct((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=V4[0],_9[i+4>>2]=V4[1];break;case"float":V$[i>>2]=$;break;case"double":F$[i>>3]=$;break;default:Ks("invalid type for setValue: "+h)}}o.setValue=ph;function ur(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Jr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return V$[i>>2];case"double":return F$[i>>3];default:Ks("invalid type for setValue: "+$)}return null}o.getValue=ur;var YA=0,Fm=1,Gs=2,Bh=3,N3=4;o.ALLOC_NORMAL=YA,o.ALLOC_STACK=Fm,o.ALLOC_STATIC=Gs,o.ALLOC_DYNAMIC=Bh,o.ALLOC_NONE=N3;function E3(i,$,h,d){var P,e;typeof i=="number"?(P=!0,e=i):(P=!1,e=i.length);var W0=typeof $=="string"?$:null,t1;if(h==N3?t1=d:t1=[Dh,R.stackAlloc,R.staticAlloc,R.dynamicAlloc][h===void 0?Gs:h](Math.max(e,W0?1:$.length)),P){var d=t1,b2;for(K4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?wi.set(i,t1):wi.set(new Uint8Array(i),t1),t1;for(var s=0,A1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,wi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return o.UTF8ToString(i)}o.Pointer_stringify=x$;function L$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}o.AsciiToString=L$;function rB(i,$){return q$(i,$,!1)}o.stringToAscii=rB;function Us(i,$){for(var h,d,P,e,W0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|W0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Us;function Mm(i){return Us(wi,i)}o.UTF8ToString=Mm;function Fn(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,W0=0;W0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++W0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}o.stringToUTF8Array=Fn;function Tm(i,$,h){return Fn(i,wi,$,h)}o.stringToUTF8=Tm;function Ps(i){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|i.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Ps;function Nm(i){for(var $=0,h="";;){var d=Jr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=Nm;function nB(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=W0,$+=2}return Jr[$>>1]=0,$-d}o.stringToUTF16=nB;function sB(i){return i.length*2}o.lengthBytesUTF16=sB;function oB(i){for(var $=0,h="";;){var d=_9[i+$*4>>2];if(d==0)return h;if(++$,d>=65536){var P=d-65536;h+=String.fromCharCode(55296|P>>10,56320|P&1023)}else h+=String.fromCharCode(d)}}o.UTF32ToString=oB;function AB(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&W0<=57343){var t1=i.charCodeAt(++e);W0=65536+((W0&1023)<<10)|t1&1023}if(_9[$>>2]=W0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}o.stringToUTF32=AB;function aB(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=aB;function $B(i){var $=!!o.___cxa_demangle;if($)try{var h=Dh(i.length);Ys(i.substr(1),h);var d=Dh(4),P=o.___cxa_demangle(h,0,0,d);if(ur(d,"i32")===0&&P)return x$(P)}catch{}finally{h&&np(h),d&&np(d),P&&np(P)}var e=3,W0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(B2){B2&&o.print(B2),o.print(i);for(var T5="",x9=0;x9"}else O9=K9;e:for(;e0;){var Ir=i[e++];if(Ir in W0)I4.push(W0[Ir]);else switch(Ir){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var z$=i.indexOf("E",e),h8=z$-e;I4.push(i.substr(e,h8)),e+=h8+2;break}case"A":{var h8=parseInt(i.substr(e));if(e+=h8.toString().length,i[e]!=="_")throw"?";e++,I4.push(C(!0,1,!0)[0]+" ["+h8+"]");break}case"E":break e;default:O9+="?"+Ir;break e}}return!x9&&I4.length===1&&I4[0]==="void"&&(I4=[]),B2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=x$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}w5=C()}catch{w5+="?"}return w5.indexOf("?")>=0&&!$&&R.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),w5}function lB(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=$B($);return $===h?$:$+" ["+h+"]"})}function cB(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch($){i=$}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function Gm(){return lB(cB())}o.stackTrace=Gm;var jC=4096;function Qh(i){return i%4096>0&&(i+=4096-i%4096),i}var Um,Y9,wi,Jr,R$,_9,J$,V$,F$,Os=0,Vr=0,M$=!1,yh=0,yi=0,T$=0,N$=0,Fi=0;function XC(){Ks("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+qs+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Pm=o.TOTAL_STACK||5242880,qs=o.TOTAL_MEMORY||16777216,Kr=64*1024;Kr0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?R.dynCall("v",h):R.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var Om=[],U$=[],wh=[],P$=[],vh=[],kh=!1,Mn=!1;function Sh(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());G$(Om)}function Hs(){kh||(kh=!0,G$(U$))}function gB(){G$(wh)}function qm(){G$(P$),Mn=!0}function O$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)ep(o.postRun.shift());G$(vh)}function F7(i){Om.unshift(i)}o.addOnPreRun=o.addOnPreRun=F7;function hB(i){U$.unshift(i)}o.addOnInit=o.addOnInit=hB;function uB(i){wh.unshift(i)}o.addOnPreMain=o.addOnPreMain=uB;function fB(i){P$.unshift(i)}o.addOnExit=o.addOnExit=fB;function ep(i){vh.unshift(i)}o.addOnPostRun=o.addOnPostRun=ep;function zr(i,$,h){var d=h>0?h:Ps(i)+1,P=new Array(d),e=Fn(i,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=zr;function tp(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=tp;function Ys(i,$,h){for(var d=zr(i,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=Ys;function JA(i,$){for(var h=0;h>0]=i[h]}o.writeArrayToMemory=JA;function q$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=q$;function Hm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function H$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,W0=h&65535;return P*W0+(d*W0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var Y$=Math.abs,ip=Math.cos,Ki=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,S2=Math.atan,W3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,Ct=Math.ceil,Te=Math.floor,je=Math.pow,Se=Math.imul,h9=Math.fround,M7=Math.min,Ti=Math.clz32,pt=0,T7=null,Ni=null;function Gi(i){return i}function Tn(i){pt++,o.monitorRunDependencies&&o.monitorRunDependencies(pt)}o.addRunDependency=Tn;function fr(i){if(pt--,o.monitorRunDependencies&&o.monitorRunDependencies(pt),pt==0&&(T7!==null&&(clearInterval(T7),T7=null),Ni)){var $=Ni;Ni=null,$()}}o.removeRunDependency=fr,o.preloadedImages={},o.preloadedAudios={};var Ym=null,bh=[];Os=8,Vr=Os+553552,U$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",N3,R.GLOBAL_BASE),E3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",N3,R.GLOBAL_BASE+10240),E3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",N3,R.GLOBAL_BASE+20480),E3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,R.GLOBAL_BASE+30720),E3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",N3,R.GLOBAL_BASE+41032),E3([1],"i8",N3,R.GLOBAL_BASE+49544),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+50572),E3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+52752),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+55148),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",N3,R.GLOBAL_BASE+62212),E3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",N3,R.GLOBAL_BASE+72464),E3([1],"i8",N3,R.GLOBAL_BASE+78916),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+79944),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+81996),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+83152),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",N3,R.GLOBAL_BASE+86572),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",N3,R.GLOBAL_BASE+97272),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",N3,R.GLOBAL_BASE+107456),E3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+117696),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",N3,R.GLOBAL_BASE+124340),E3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",N3,R.GLOBAL_BASE+134580),E3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",N3,R.GLOBAL_BASE+144820),E3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",N3,R.GLOBAL_BASE+155104),E3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+165344),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",N3,R.GLOBAL_BASE+175348),E3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",N3,R.GLOBAL_BASE+185588),E3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",N3,R.GLOBAL_BASE+195830),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+207264),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",N3,R.GLOBAL_BASE+218416),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+229400),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+240320),E3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,R.GLOBAL_BASE+242772),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+253728),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",N3,R.GLOBAL_BASE+263472),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",N3,R.GLOBAL_BASE+274008),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,R.GLOBAL_BASE+284176),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",N3,R.GLOBAL_BASE+294712),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",N3,R.GLOBAL_BASE+304880),E3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",N3,R.GLOBAL_BASE+315120),E3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",N3,R.GLOBAL_BASE+325360),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",N3,R.GLOBAL_BASE+339320),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,R.GLOBAL_BASE+349504),E3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",N3,R.GLOBAL_BASE+360488),E3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+363696),E3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+366508),E3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",N3,R.GLOBAL_BASE+369616),E3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",N3,R.GLOBAL_BASE+379856),E3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",N3,R.GLOBAL_BASE+390097),E3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",N3,R.GLOBAL_BASE+400337),E3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",N3,R.GLOBAL_BASE+410577),E3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",N3,R.GLOBAL_BASE+420817),E3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",N3,R.GLOBAL_BASE+431057),E3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+441297),E3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",N3,R.GLOBAL_BASE+446300),E3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",N3,R.GLOBAL_BASE+456540),E3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",N3,R.GLOBAL_BASE+466780),E3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",N3,R.GLOBAL_BASE+477020),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+487288),E3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",N3,R.GLOBAL_BASE+489700),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",N3,R.GLOBAL_BASE+500144),E3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",N3,R.GLOBAL_BASE+510456),E3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",N3,R.GLOBAL_BASE+520696),E3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",N3,R.GLOBAL_BASE+530936),E3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",N3,R.GLOBAL_BASE+541176),E3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",N3,R.GLOBAL_BASE+551416);var y8=R.alignMemory(E3(12,"i8",Gs),8);K4(y8%8==0);function rp(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function dr(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3],Y9[y8+4]=Y9[i+4],Y9[y8+5]=Y9[i+5],Y9[y8+6]=Y9[i+6],Y9[y8+7]=Y9[i+7]}var zi=ip,VA=Y$,Js=0;function Vs(i){return _9[Js>>2]=i,i}var R2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function dB(i){switch(i){case 30:return jC;case 85:return Kr/jC;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 Vs(R2.EINVAL),-1}o._memset=pk;var IB=!0;o._strlen=Ik,o._strcat=Ek,o._bitshift64Shl=wk;function Pv(){o.abort()}o._i64Add=mk;var Ov=Te,qv={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"},Nn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Nn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Nn.stream_ops)},stream_ops:{open:function(i){var $=Nn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(R2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(R2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` +`)});var m0=void 0,f0=void 0;o.read=function($,h){$=f0.normalize($);var d=m0.readFileSync($);return!d&&$!=f0.resolve($)&&($=path.join(__dirname,"..","src",$),d=m0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){f1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(i){if(!(i instanceof KA))throw i}),o.inspect=function(){return"[Emscripten Module object]"}}else if(r0)o.print||(o.print=print),typeof printErr<"u"&&(o.printErr=printErr),typeof read<"u"?o.read=read:o.read=function(){throw"no read() available (jsc?)"},o.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return K4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(c||v){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var A0=!1;o.print||(o.print=A0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}v&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function f1(i){eval.call(null,i)}!o.load&&o.read&&(o.load=function($){f1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in r)r.hasOwnProperty(l)&&(o[l]=r[l]);var R={setTempRet0:function(i){V6=i},getTempRet0:function(){return V6},stackSave:function(){return yi},stackRestore:function(i){yi=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return R.QUANTUM_SIZE;if(i[0]==="i"){var $=parseInt(i.substr(1));return K4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(R.getNativeTypeSize(i),R.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,$){return $==="double"||$==="i64"?i&7&&(K4((i&7)===4),i+=4):K4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?R.getNativeFieldSize(i):0),R.QUANTUM_SIZE):Math.min($,8)},dynCall:function(i,$,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,$),o["dynCall_"+i].apply(null,h)):o["dynCall_"+i].call(null,$)},functionPointers:[],addFunction:function(i){for(var $=0;$=Hs){var h=XC();if(!h)return Fi=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var d=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=R;var L0=0,k0=!1,S1=0,e2=0,y1,Y2,T2,V2,i3,r3,a0,y5,T3,$3,w6,s6,o9,V4,r4,V6,We,Jr,Vi,qA,Gs,Rm,D$,ZC,Gv;function K4(i,$){i||zs("Assertion failed: "+$)}var Uv=this;function WC(i){var $=o["_"+i];if(!$)try{$=void("_"+i)}catch{}return K4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var _$,HA;(function(){var i={stackSave:function(){R.stackSave()},stackRestore:function(){R.stackRestore()},arrayToC:function(W0){var t1=R.stackAlloc(W0.length);return JA(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=R.stackAlloc((W0.length<<2)+1),Js(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};HA=function(t1,b2,s,A1,C){var w5=WC(t1),B2=[],T5=0;if(A1)for(var x9=0;x9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Vr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":V4=[$>>>0,(s6=$,+Y$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+Ct((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=V4[0],_9[i+4>>2]=V4[1];break;case"float":V$[i>>2]=$;break;case"double":F$[i>>3]=$;break;default:zs("invalid type for setValue: "+h)}}o.setValue=ph;function fr(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Vr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return V$[i>>2];case"double":return F$[i>>3];default:zs("invalid type for setValue: "+$)}return null}o.getValue=fr;var YA=0,Fm=1,Us=2,Bh=3,N3=4;o.ALLOC_NORMAL=YA,o.ALLOC_STACK=Fm,o.ALLOC_STATIC=Us,o.ALLOC_DYNAMIC=Bh,o.ALLOC_NONE=N3;function E3(i,$,h,d){var P,e;typeof i=="number"?(P=!0,e=i):(P=!1,e=i.length);var W0=typeof $=="string"?$:null,t1;if(h==N3?t1=d:t1=[Dh,R.stackAlloc,R.staticAlloc,R.dynamicAlloc][h===void 0?Us:h](Math.max(e,W0?1:$.length)),P){var d=t1,b2;for(K4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?wi.set(i,t1):wi.set(new Uint8Array(i),t1),t1;for(var s=0,A1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,wi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return o.UTF8ToString(i)}o.Pointer_stringify=x$;function L$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}o.AsciiToString=L$;function rB(i,$){return q$(i,$,!1)}o.stringToAscii=rB;function Ps(i,$){for(var h,d,P,e,W0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|W0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Ps;function Mm(i){return Ps(wi,i)}o.UTF8ToString=Mm;function Mn(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,W0=0;W0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++W0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}o.stringToUTF8Array=Mn;function Tm(i,$,h){return Mn(i,wi,$,h)}o.stringToUTF8=Tm;function Os(i){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|i.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Os;function Nm(i){for(var $=0,h="";;){var d=Vr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=Nm;function nB(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=W0,$+=2}return Vr[$>>1]=0,$-d}o.stringToUTF16=nB;function sB(i){return i.length*2}o.lengthBytesUTF16=sB;function oB(i){for(var $=0,h="";;){var d=_9[i+$*4>>2];if(d==0)return h;if(++$,d>=65536){var P=d-65536;h+=String.fromCharCode(55296|P>>10,56320|P&1023)}else h+=String.fromCharCode(d)}}o.UTF32ToString=oB;function AB(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&W0<=57343){var t1=i.charCodeAt(++e);W0=65536+((W0&1023)<<10)|t1&1023}if(_9[$>>2]=W0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}o.stringToUTF32=AB;function aB(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=aB;function $B(i){var $=!!o.___cxa_demangle;if($)try{var h=Dh(i.length);Js(i.substr(1),h);var d=Dh(4),P=o.___cxa_demangle(h,0,0,d);if(fr(d,"i32")===0&&P)return x$(P)}catch{}finally{h&&np(h),d&&np(d),P&&np(P)}var e=3,W0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(B2){B2&&o.print(B2),o.print(i);for(var T5="",x9=0;x9"}else O9=K9;e:for(;e0;){var Er=i[e++];if(Er in W0)I4.push(W0[Er]);else switch(Er){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var z$=i.indexOf("E",e),h8=z$-e;I4.push(i.substr(e,h8)),e+=h8+2;break}case"A":{var h8=parseInt(i.substr(e));if(e+=h8.toString().length,i[e]!=="_")throw"?";e++,I4.push(C(!0,1,!0)[0]+" ["+h8+"]");break}case"E":break e;default:O9+="?"+Er;break e}}return!x9&&I4.length===1&&I4[0]==="void"&&(I4=[]),B2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=x$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}w5=C()}catch{w5+="?"}return w5.indexOf("?")>=0&&!$&&R.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),w5}function lB(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=$B($);return $===h?$:$+" ["+h+"]"})}function cB(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch($){i=$}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function Gm(){return lB(cB())}o.stackTrace=Gm;var jC=4096;function Qh(i){return i%4096>0&&(i+=4096-i%4096),i}var Um,Y9,wi,Vr,R$,_9,J$,V$,F$,qs=0,Kr=0,M$=!1,yh=0,yi=0,T$=0,N$=0,Fi=0;function XC(){zs("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Hs+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Pm=o.TOTAL_STACK||5242880,Hs=o.TOTAL_MEMORY||16777216,zr=64*1024;zr0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?R.dynCall("v",h):R.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var Om=[],U$=[],wh=[],P$=[],vh=[],kh=!1,Tn=!1;function Sh(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());G$(Om)}function Ys(){kh||(kh=!0,G$(U$))}function gB(){G$(wh)}function qm(){G$(P$),Tn=!0}function O$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)ep(o.postRun.shift());G$(vh)}function F7(i){Om.unshift(i)}o.addOnPreRun=o.addOnPreRun=F7;function hB(i){U$.unshift(i)}o.addOnInit=o.addOnInit=hB;function uB(i){wh.unshift(i)}o.addOnPreMain=o.addOnPreMain=uB;function fB(i){P$.unshift(i)}o.addOnExit=o.addOnExit=fB;function ep(i){vh.unshift(i)}o.addOnPostRun=o.addOnPostRun=ep;function Zr(i,$,h){var d=h>0?h:Os(i)+1,P=new Array(d),e=Mn(i,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=Zr;function tp(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=tp;function Js(i,$,h){for(var d=Zr(i,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=Js;function JA(i,$){for(var h=0;h>0]=i[h]}o.writeArrayToMemory=JA;function q$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=q$;function Hm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function H$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,W0=h&65535;return P*W0+(d*W0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var Y$=Math.abs,ip=Math.cos,Ki=Math.sin,R0=Math.tan,X0=Math.acos,C1=Math.asin,S2=Math.atan,W3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,Ct=Math.ceil,Te=Math.floor,je=Math.pow,Se=Math.imul,h9=Math.fround,M7=Math.min,Ti=Math.clz32,pt=0,T7=null,Ni=null;function Gi(i){return i}function Nn(i){pt++,o.monitorRunDependencies&&o.monitorRunDependencies(pt)}o.addRunDependency=Nn;function dr(i){if(pt--,o.monitorRunDependencies&&o.monitorRunDependencies(pt),pt==0&&(T7!==null&&(clearInterval(T7),T7=null),Ni)){var $=Ni;Ni=null,$()}}o.removeRunDependency=dr,o.preloadedImages={},o.preloadedAudios={};var Ym=null,bh=[];qs=8,Kr=qs+553552,U$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",N3,R.GLOBAL_BASE),E3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",N3,R.GLOBAL_BASE+10240),E3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",N3,R.GLOBAL_BASE+20480),E3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,R.GLOBAL_BASE+30720),E3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",N3,R.GLOBAL_BASE+41032),E3([1],"i8",N3,R.GLOBAL_BASE+49544),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+50572),E3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+52752),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+55148),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",N3,R.GLOBAL_BASE+62212),E3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",N3,R.GLOBAL_BASE+72464),E3([1],"i8",N3,R.GLOBAL_BASE+78916),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+79944),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,R.GLOBAL_BASE+81996),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+83152),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",N3,R.GLOBAL_BASE+86572),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",N3,R.GLOBAL_BASE+97272),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",N3,R.GLOBAL_BASE+107456),E3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+117696),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",N3,R.GLOBAL_BASE+124340),E3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",N3,R.GLOBAL_BASE+134580),E3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",N3,R.GLOBAL_BASE+144820),E3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",N3,R.GLOBAL_BASE+155104),E3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+165344),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",N3,R.GLOBAL_BASE+175348),E3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",N3,R.GLOBAL_BASE+185588),E3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",N3,R.GLOBAL_BASE+195830),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+207264),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",N3,R.GLOBAL_BASE+218416),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+229400),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+240320),E3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,R.GLOBAL_BASE+242772),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,R.GLOBAL_BASE+253728),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",N3,R.GLOBAL_BASE+263472),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",N3,R.GLOBAL_BASE+274008),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,R.GLOBAL_BASE+284176),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",N3,R.GLOBAL_BASE+294712),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",N3,R.GLOBAL_BASE+304880),E3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",N3,R.GLOBAL_BASE+315120),E3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",N3,R.GLOBAL_BASE+325360),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",N3,R.GLOBAL_BASE+339320),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,R.GLOBAL_BASE+349504),E3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",N3,R.GLOBAL_BASE+360488),E3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+363696),E3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+366508),E3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",N3,R.GLOBAL_BASE+369616),E3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",N3,R.GLOBAL_BASE+379856),E3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",N3,R.GLOBAL_BASE+390097),E3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",N3,R.GLOBAL_BASE+400337),E3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",N3,R.GLOBAL_BASE+410577),E3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",N3,R.GLOBAL_BASE+420817),E3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",N3,R.GLOBAL_BASE+431057),E3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+441297),E3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",N3,R.GLOBAL_BASE+446300),E3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",N3,R.GLOBAL_BASE+456540),E3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",N3,R.GLOBAL_BASE+466780),E3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",N3,R.GLOBAL_BASE+477020),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,R.GLOBAL_BASE+487288),E3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",N3,R.GLOBAL_BASE+489700),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",N3,R.GLOBAL_BASE+500144),E3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",N3,R.GLOBAL_BASE+510456),E3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",N3,R.GLOBAL_BASE+520696),E3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",N3,R.GLOBAL_BASE+530936),E3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",N3,R.GLOBAL_BASE+541176),E3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",N3,R.GLOBAL_BASE+551416);var y8=R.alignMemory(E3(12,"i8",Us),8);K4(y8%8==0);function rp(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function Ir(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3],Y9[y8+4]=Y9[i+4],Y9[y8+5]=Y9[i+5],Y9[y8+6]=Y9[i+6],Y9[y8+7]=Y9[i+7]}var zi=ip,VA=Y$,Vs=0;function Ks(i){return _9[Vs>>2]=i,i}var R2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function dB(i){switch(i){case 30:return jC;case 85:return zr/jC;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 Ks(R2.EINVAL),-1}o._memset=pk;var IB=!0;o._strlen=Ik,o._strcat=Ek,o._bitshift64Shl=wk;function Pv(){o.abort()}o._i64Add=mk;var Ov=Te,qv={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"},Gn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Gn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Gn.stream_ops)},stream_ops:{open:function(i){var $=Gn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(R2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(R2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` `)):typeof readline=="function"&&($=readline(),$!==null&&($+=` -`));if(!$)return null;i.input=zr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(o.print(Us(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.print(Us(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(o.printErr(Us(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.printErr(Us(i.output,0)),i.output=[])}}},k9={ops_table:null,mount:function(i){return k9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(R2.EPERM);k9.ops_table||(k9.ops_table={dir:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr,lookup:k9.node_ops.lookup,mknod:k9.node_ops.mknod,rename:k9.node_ops.rename,unlink:k9.node_ops.unlink,rmdir:k9.node_ops.rmdir,readdir:k9.node_ops.readdir,symlink:k9.node_ops.symlink},stream:{llseek:k9.stream_ops.llseek}},file:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr},stream:{llseek:k9.stream_ops.llseek,read:k9.stream_ops.read,write:k9.stream_ops.write,allocate:k9.stream_ops.allocate,mmap:k9.stream_ops.mmap,msync:k9.stream_ops.msync}},link:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr,readlink:k9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=k9.ops_table.dir.node,P.stream_ops=k9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=k9.ops_table.file.node,P.stream_ops=k9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=k9.ops_table.link.node,P.stream_ops=k9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=k9.ops_table.chrdev.node,P.stream_ops=k9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=k9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&k9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[R2.ENOENT]},mknod:function(i,$,h,d){return k9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(R2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(R2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=k9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(R2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-P,d);if(K4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(P,P+W0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var B2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([Bt.DB_STORE_NAME],"readwrite"),A1=s.objectStore(Bt.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?Bt.loadRemoteEntry(A1,w5,function(B2,T5){if(B2)return C(B2);Bt.storeLocalEntry(w5,T5,C)}):Bt.loadLocalEntry(w5,function(B2,T5){if(B2)return C(B2);Bt.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?Bt.removeLocalEntry(w5,C):Bt.removeRemoteEntry(A1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return K4(f),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(R2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=Qt.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=Qt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(Qt.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);Qt.utimesSync(h,d,d)}$.size!==void 0&&Qt.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?Qt.mkdirSync(e,P.mode):Qt.writeFileSync(e,"",{mode:P.mode})}catch(W0){throw W0.code?new k.ErrnoError(R2[W0.code]):W0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{Qt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(R2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return Qt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{Qt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=Qt.readlinkSync($),$=CB.relative(CB.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Qt.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Qt.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(R2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=Qt.readSync(i.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(R2[b2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(R2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(R2.ELOOP)}}return{path:W0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var W0=new k.FSNode(i,$,h,d);return k.hashAddNode(W0),W0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?R2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:R2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return R2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return R2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return R2.EBUSY}else if(k.isDir(d.mode))return R2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?R2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?R2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):R2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(R2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(W0){this.node=W0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(R2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(R2.EBUSY);if(!d&&!P){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(R2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(R2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},b2=i.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(R2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);K4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),P=d.node,e=c9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(R2.EINVAL);var W0=k.mayCreate(P,e);if(W0)throw new k.ErrnoError(W0);if(!P.node_ops.mknod)throw new k.ErrnoError(R2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(R2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(R2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),W0,t1,b2;try{W0=k.lookupPath(i,{parent:!0}),t1=W0.node,W0=k.lookupPath($,{parent:!0}),b2=W0.node}catch{throw new k.ErrnoError(R2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(R2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(R2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(i,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(R2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(R2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),B2=k.mayDelete(t1,P,w5);if(B2)throw new k.ErrnoError(B2);if(B2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),B2)throw new k.ErrnoError(B2);if(!t1.node_ops.rename)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(R2.EBUSY);if(b2!==t1&&(B2=k.nodePermissions(t1,"w"),B2))throw new k.ErrnoError(B2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(R2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===R2.EISDIR&&(e=R2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(R2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(R2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(R2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(R2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(R2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(R2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(R2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(R2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(R2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var W0=k.lookupPath(i,{follow:!($&131072)});e=W0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(R2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(R2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,o.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,A1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(R2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(R2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var W0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=W0),W0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(R2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var W0=!0;if(typeof P>"u")P=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);W0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(R2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(R2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,W0){if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(R2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,W0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(R2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,W0=new Uint8Array(e);return k.read(d,W0,0,e,0),$.encoding==="utf8"?h=Us(W0,0):$.encoding==="binary"&&(h=W0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Ps($)+1),e=Fn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(R2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Nn.register(k.makedev(5,0),Nn.default_tty_ops),Nn.register(k.makedev(6,0),Nn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var i;if(typeof crypto<"u"){var $=new Uint8Array(1);i=function(){return crypto.getRandomValues($),$[0]}}else f?i=void 0:i=function(){return Math.random()*256|0};k.createDevice("/dev","random",i),k.createDevice("/dev","urandom",i),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){o.stdin?k.createDevice("/dev","stdin",o.stdin):k.symlink("/dev/tty","/dev/stdin"),o.stdout?k.createDevice("/dev","stdout",null,o.stdout):k.symlink("/dev/tty","/dev/stdout"),o.stderr?k.createDevice("/dev","stderr",null,o.stderr):k.symlink("/dev/tty1","/dev/stderr");var i=k.open("/dev/stdin","r");_9[Hv>>2]=k.getPtrForStream(i),K4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Yv>>2]=k.getPtrForStream($),K4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Jv>>2]=k.getPtrForStream(h),K4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in R2)if(R2[P]===d){this.code=P;break}},this.setErrno($),this.message=qv[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[R2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(k9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){K4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=i||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var B2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[B2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var B2=Number(w5.getResponseHeader("Content-length")),T5,x9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;x9||(O9=B2);var I4=function(K9,h8){if(K9>h8)throw new Error("invalid range ("+K9+", "+h8+") or no bytes requested!");if(h8>B2-1)throw new Error("only "+B2+" bytes available! programmer error!");var z4=new XMLHttpRequest;if(z4.open("GET",h,!1),B2!==O9&&z4.setRequestHeader("Range","bytes="+K9+"-"+h8),typeof Uint8Array<"u"&&(z4.responseType="arraybuffer"),z4.overrideMimeType&&z4.overrideMimeType("text/plain; charset=x-user-defined"),z4.send(null),!(z4.status>=200&&z4.status<300||z4.status===304))throw new Error("Couldn't load "+h+". Status: "+z4.status);return z4.response!==void 0?new Uint8Array(z4.response||[]):zr(z4.responseText||"",!0)},w8=this;w8.setDataGetter(function(K9){var h8=K9*O9,z4=(K9+1)*O9-1;if(z4=Math.min(z4,B2-1),typeof w8.chunks[K9]>"u"&&(w8.chunks[K9]=I4(h8,z4)),typeof w8.chunks[K9]>"u")throw new Error("doXHR failed!");return w8.chunks[K9]}),this._length=B2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!w)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var W0=new e;Object.defineProperty(W0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(W0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:W0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(i,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,B2,T5,x9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,x9);if(K4(w8>=0),I4.slice)for(var K9=0;K9=0;d--){var P=i[d];P==="."?i.splice(d,1):P===".."?(i.splice(d,1),h++):h&&(i.splice(d,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=c9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=c9.splitPath(i),h=$[0],d=$[1];return!h&&!d?".":(d&&(d=d.substr(0,d.length-1)),h+d)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return c9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return c9.normalize(i.join("/"))},join2:function(i,$){return c9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var d=h>=0?arguments[h]:k.cwd();if(typeof d!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!d)return"";i=d+"/"+i,$=d.charAt(0)==="/"}return i=c9.normalizeArray(i.split("/").filter(function(P){return!!P}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=c9.resolve(i).substr(1),$=c9.resolve($).substr(1);function h(s){for(var A1=0;A1=0&&s[C]==="";C--);return A1>C?[]:s.slice(A1,C-A1+1)}for(var d=h(i.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),W0=e,t1=0;t10){var t1=Date.now(),b2=J1.mainLoop.queue.shift();if(b2.func(b2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,A1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=A1:(A1=A1+.5,J1.mainLoop.remainingBlockers=(8*s+A1)/9)}console.log('main loop blocker "'+b2.name+'" took '+(Date.now()-t1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&o.ctx&&(o.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof d<"u"?R.dynCall("vi",i,[d]):R.dynCall("v",i)}),!(e0?Jm(0,1e3/$):Jm(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var i=J1.mainLoop.timingMode,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,EB(h,0,!1,J1.mainLoop.arg,!0),Jm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var i=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var i={};i.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,W0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(W0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(W0)}))}catch(B2){R.warnOnce("Blob constructor present but fails: "+B2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){K4(w5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var x9=T5.getContext("2d");x9.drawImage(w5,0,0),o.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),b2&&b2()},w5.src=C},o.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,W0,t1,b2){var s=!1;function A1(x9){s||(s=!0,o.preloadedAudios[W0]=x9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return C()}var B2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function I4(w8){for(var K9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",z4="",Ui=0,Pi=0,Ir=0;Ir=6;){var z$=Ui>>Pi-6&63;Pi-=6,z4+=K9[z$]}return Pi==2?(z4+=K9[(Ui&3)<<4],z4+=h8+h8):Pi==4&&(z4+=K9[(Ui&15)<<2],z4+=h8),z4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=B2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&o.ctx&&i==o.canvas)return o.ctx;var P,e;if($){var W0={antialias:!1,alpha:!1};if(d)for(var t1 in d)W0[t1]=d[t1];e=GL.createContext(i,W0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||K4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(i,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(i,$,h){J1.lockPointer=i,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var W0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===W0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(W0.parentNode.insertBefore(d,W0),W0.parentNode.removeChild(W0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!k0)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var i=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],i.forEach(function($){$()})}},safeRequestAnimationFrame:function(i){return J1.requestAnimationFrame(function(){k0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return o.noExitRuntime=!0,setTimeout(function(){k0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return o.noExitRuntime=!0,setInterval(function(){k0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var W0=i.touch;if(W0===void 0)return;var t1=W0.pageX-(P+$.left),b2=W0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(i.type==="touchstart")J1.lastTouches[W0.identifier]=s,J1.touches[W0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var A1=J1.touches[W0.identifier];A1||(A1=s),J1.lastTouches[W0.identifier]=A1,J1.touches[W0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){K4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||fr("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Tn("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=o.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var d=o.canvas;J1.updateCanvasDimensions(d,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=J$[SDL.screen+R.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+R.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=J$[SDL.screen+R.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+R.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var d=$,P=h;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(d/P>2]=$),$}function Ak(){o.printErr("missing function: floor0_exportbundle"),Ks(-1)}if(Js=R.staticAlloc(4),_9[Js>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),U$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),wh.push(function(){k.ignorePermissions=!1}),P$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,U$.unshift(function(){Nn.init()}),P$.push(function(){Nn.shutdown()}),f)var Qt=void 0,CB=void 0;yh=yi=R.alignMemory(Vr),M$=!0,T$=yh+Pm,N$=Fi=R.alignMemory(T$),K4(N$>0]=d[t>>0],d[B2+1>>0]=d[t+1>>0],d[B2+2>>0]=d[t+2>>0],d[B2+3>>0]=d[t+3>>0]}function OD(t){t=t|0,d[B2>>0]=d[t>>0],d[B2+1>>0]=d[t+1>>0],d[B2+2>>0]=d[t+2>>0],d[B2+3>>0]=d[t+3>>0],d[B2+4>>0]=d[t+4>>0],d[B2+5>>0]=d[t+5>>0],d[B2+6>>0]=d[t+6>>0],d[B2+7>>0]=d[t+7>>0]}function Pk(t){t=t|0,H6=t}function Ok(){return H6|0}function Ap(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0;E=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,n=S9(256)|0,A=t+8|0,e[A>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,g=t+16|0,e[g>>2]=256}function qk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0;x=C,A=n>>3,a=t+12|0,p=e[a>>2]|0,S=(p|0)==0,!S&&(b=A<<3,v=n-b|0,y=t+8|0,D=e[y>>2]|0,Q=D+A|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=v,e[t>>2]=A,g=8+(v<<2)|0,u=e[g>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&u,B=m&255,d[Q>>0]=B)}function U2(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;q0=C,u=A>>>0>32;do if(!u){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,s0=t0+-4|0,w0=(E|0)<(s0|0),a=t+12|0,g=e[a>>2]|0,w0)N=g;else{if(M0=(g|0)==0,M0)return;if(J0=(t0|0)>2147483391,J0||(O0=t+8|0,z0=e[O0>>2]|0,I=t0+256|0,m=qi(z0,I)|0,B=(m|0)==0,B))break;e[O0>>2]=m,p=e[_>>2]|0,S=p+256|0,e[_>>2]=S,b=e[t>>2]|0,v=m+b|0,e[a>>2]=v,N=v}y=8+(A<<2)|0,D=e[y>>2]|0,Q=D&n,L=t+4|0,x=e[L>>2]|0,F=x+A|0,M=Q<>0]|0,G=T&255,O=G|M,z=O&255,d[N>>0]=z,Y=(F|0)>7;do if(Y&&(J=e[L>>2]|0,W=8-J|0,e0=Q>>>W,q=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=q,l0=(F|0)>15,l0&&(Z=e[L>>2]|0,K=16-Z|0,$0=Q>>>K,i0=$0&255,r0=e[a>>2]|0,V=r0+2|0,d[V>>0]=i0,h0=(F|0)>23,h0&&(o0=e[L>>2]|0,g0=24-o0|0,j=Q>>>g0,c0=j&255,u0=e[a>>2]|0,I0=u0+3|0,d[I0>>0]=c0,C0=(F|0)>31,C0))))if(v0=e[L>>2]|0,d0=(v0|0)==0,d0){x0=e[a>>2]|0,Q0=x0+4|0,d[Q0>>0]=0;break}else{p0=32-v0|0,B0=Q>>>p0,E0=B0&255,b0=e[a>>2]|0,K0=b0+4|0,d[K0>>0]=E0;break}while(!1);T0=(F|0)/8&-1,G0=e[t>>2]|0,P0=G0+T0|0,e[t>>2]=P0,y0=e[a>>2]|0,Y0=y0+T0|0,e[a>>2]=Y0,F0=F&7,e[L>>2]=F0;return}while(!1);_0=t+8|0,N0=e[_0>>2]|0,V0=(N0|0)==0,V0||I2(N0),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 ap(t){t=t|0;var n=0,A=0,a=0,g=0,u=0;u=C,n=t+8|0,A=e[n>>2]|0,a=(A|0)==0,a||I2(A),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function u7(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;B=C,n=t+12|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(g=t+8|0,u=e[g>>2]|0,e[n>>2]=u,E=u,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function $p(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0;if(b0=C,a=n>>>0>32,a)return A=-1,A|0;if(g=8+(n<<2)|0,D=e[g>>2]|0,z=t+4|0,K=e[z>>2]|0,u0=K+n|0,w0=e[t>>2]|0,C0=t+16|0,v0=e[C0>>2]|0,d0=v0+-4|0,u=(w0|0)<(d0|0),!u){if(E=u0+7|0,I=E>>3,m=v0-I|0,B=(w0|0)>(m|0),B)return A=-1,A|0;if(p=(u0|0)==0,p)return A=0,A|0}return S=t+12|0,b=e[S>>2]|0,v=d[b>>0]|0,y=v&255,Q=y>>>K,_=(u0|0)>8,_?(L=b+1|0,x=d[L>>0]|0,F=x&255,M=8-K|0,T=F<16,G?(O=b+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-K|0,W=t0<24,q?(X=b+3|0,U=d[X>>0]|0,l0=U&255,Z=24-K|0,$0=l0<>0]|0,o0=h0&255,g0=32-K|0,j=o0<>2]|0,S=a+n|0,b=e[t>>2]|0,v=t+16|0,y=e[v>>2]|0,D=S+7|0,Q=D>>3,_=y-Q|0,L=(b|0)>(_|0),L){p=t+12|0,e[p>>2]=0,e[t>>2]=y,x=1,e[A>>2]=x;return}else{g=(S|0)/8&-1,u=t+12|0,E=e[u>>2]|0,I=E+g|0,e[u>>2]=I,m=b+g|0,e[t>>2]=m,B=S&7,x=B,e[A>>2]=x;return}}function W4(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0;_0=C,m=n>>>0>32;do if(m)a=t+16|0,g=e[a>>2]|0,I=t+4|0,u=t,E=I,Q0=g;else{if(B=8+(n<<2)|0,F=e[B>>2]|0,e0=t+4|0,V=e[e0>>2]|0,d0=V+n|0,M0=e[t>>2]|0,T0=t+16|0,G0=e[T0>>2]|0,P0=G0+-4|0,p=(M0|0)<(P0|0),!p){if(S=d0+7|0,b=S>>3,v=G0-b|0,y=(M0|0)>(v|0),y){u=t,E=e0,Q0=G0;break}if(D=(d0|0)==0,D)return A=0,A|0}return Q=t+12|0,_=e[Q>>2]|0,L=d[_>>0]|0,x=L&255,M=x>>>V,T=(d0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-V|0,Y=O<16,J?(W=_+2|0,q=d[W>>0]|0,X=q&255,U=16-V|0,l0=X<24,K?($0=_+3|0,s0=d[$0>>0]|0,i0=s0&255,r0=24-V|0,h0=i0<>0]|0,I0=u0&255,w0=32-V|0,C0=I0<>2]=E0,b0=M0+B0|0,e[t>>2]=b0,K0=d0&7,e[e0>>2]=K0,A=p0,A|0}while(!1);return x0=t+12|0,e[x0>>2]=0,e[u>>2]=Q0,e[E>>2]=1,A=-1,A|0}function yt(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,g=a+7|0,u=(g|0)/8&-1,E=u+n|0,E|0}function KB(t){t=t|0;var n=0,A=0,a=0,g=0;return g=C,n=t+8|0,A=e[n>>2]|0,A|0}function Hk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0;if(T=C,g=(t|0)==0,g)return A=-1,A|0;Ae(t|0,0,360)|0,u=t+4|0,e[u>>2]=16384,b=t+24|0,e[b>>2]=1024,v=S9(16384)|0,e[t>>2]=v,y=S9(4096)|0,D=t+16|0,e[D>>2]=y,Q=S9(8192)|0,_=t+20|0,e[_>>2]=Q,L=(v|0)==0;do if(L)I=y;else{if(x=(y|0)==0,E=(Q|0)==0,F=E|x,F){I2(v),a=e[D>>2]|0,I=a;break}return S=t+336|0,e[S>>2]=n,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),B=e[_>>2]|0,p=(B|0)==0,p||I2(B),Ae(t|0,0,360)|0,A=-1,A|0}function Yk(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0;return S=C,n=(t|0)==0,n||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),g=t+16|0,u=e[g>>2]|0,E=(u|0)==0,E||I2(u),I=t+20|0,m=e[I>>2]|0,B=(m|0)==0,B||I2(m),Ae(t|0,0,360)|0),0}function Jk(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0;if(G0=C,n=(t|0)==0,!n){if(A=e[t>>2]|0,v=A+22|0,d[v>>0]=0,G=e[t>>2]|0,l0=G+23|0,d[l0>>0]=0,j=e[t>>2]|0,v0=j+24|0,d[v0>>0]=0,d0=e[t>>2]|0,p0=d0+25|0,d[p0>>0]=0,B0=t+4|0,a=e[B0>>2]|0,g=(a|0)>0,g)for(u=e[t>>2]|0,b0=0,Q0=0;;)if(S=b0<<8,b=b0>>>24,y=u+Q0|0,D=d[y>>0]|0,Q=D&255,_=Q^b,L=144+(_<<2)|0,x=e[L>>2]|0,F=x^S,M=Q0+1|0,T=(M|0)<(a|0),T)b0=F,Q0=M;else{E0=F;break}else E0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(B=t+8|0,p=e[B>>2]|0,x0=E0,M0=0;;)if(N=x0<<8,O=x0>>>24,z=p+M0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,q=e0^N,X=M0+1|0,U=(X|0)<(I|0),U)x0=q,M0=X;else{K0=q;break}else K0=E0;Z=K0&255,K=e[t>>2]|0,$0=K+22|0,d[$0>>0]=Z,s0=K0>>>8,i0=s0&255,r0=e[t>>2]|0,V=r0+23|0,d[V>>0]=i0,h0=K0>>>16,o0=h0&255,g0=e[t>>2]|0,c0=g0+24|0,d[c0>>0]=o0,u0=K0>>>24,I0=u0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=I0}}function Vk(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(b0=e[t>>2]|0,_0=(b0|0)==0,_0))return I=-1,I|0;if(D0=(n|0)==0,D0)return I=0,I|0;Z0=(A|0)>0;e:do if(Z0){for(f2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,o2=(O1|0)<0,y=2147483647-O1|0,O=(f2|0)>(y|0),F2=o2|O,F2){I=-1;break}if(Z=O1+f2|0,s0=y2+1|0,i0=(s0|0)<(A|0),i0)f2=Z,y2=s0;else{s2=Z;break e}}return I|0}else s2=0;while(!1);r0=(s2|0)/255&-1,V=r0+1|0,h0=t+12|0,o0=e[h0>>2]|0,g0=(o0|0)==0,v=t+8|0,g0||(c0=e[v>>2]|0,u0=c0-o0|0,e[v>>2]=u0,I0=(c0|0)==(o0|0),I0||(w0=b0+o0|0,XA(b0|0,w0|0,u0|0)|0),e[h0>>2]=0),C0=t+4|0,v0=e[C0>>2]|0,d0=v0-s2|0,p0=e[v>>2]|0,B0=(d0|0)>(p0|0);do if(!B0){if(E0=2147483647-s2|0,K0=(v0|0)>(E0|0),K0)return x0=e[t>>2]|0,Q0=(x0|0)==0,Q0||I2(x0),M0=t+16|0,T0=e[M0>>2]|0,G0=(T0|0)==0,G0||I2(T0),P0=t+20|0,y0=e[P0>>2]|0,Y0=(y0|0)==0,Y0||I2(y0),Ae(t|0,0,360)|0,I=-1,I|0;if(F0=v0+s2|0,N0=(F0|0)<2147482623,V0=F0+1024|0,E=N0?V0:F0,J0=e[t>>2]|0,O0=qi(J0,E)|0,z0=(O0|0)==0,!z0){e[C0>>2]=E,e[t>>2]=O0;break}return U0=e[t>>2]|0,q0=(U0|0)==0,q0||I2(U0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),Ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(u1=Kk(t,V)|0,g1=(u1|0)==0,!g1)return I=-1,I|0;if(Z0)for(B=e[v>>2]|0,B1=B,k2=0;E1=e[t>>2]|0,p1=E1+B1|0,Q1=n+(k2<<3)|0,x1=e[Q1>>2]|0,L1=(n+(k2<<3)|0)+4|0,b1=e[L1>>2]|0,s4(p1|0,x1|0,b1|0)|0,R1=e[L1>>2]|0,F1=e[v>>2]|0,G1=F1+R1|0,e[v>>2]=G1,v1=k2+1|0,t2=(v1|0)==(A|0),!t2;)B1=G1,k2=v1;if(l1=(s2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,o1=e[n1>>2]|0,l1){for(I1=t+352|0,h1=t+20|0,m1=e[h1>>2]|0,d1=(r0|0)>1,C2=0;U1=a1+C2|0,Z1=o1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,_1=N1,V1=e[_1>>2]|0,q1=N1+4|0,H1=q1,Y1=e[H1>>2]|0,j1=m1+(U1<<3)|0,n2=j1,W1=n2,e[W1>>2]=V1,P1=n2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,u2=(z1|0)<(r0|0),u2;)C2=z1;D2=d1?r0:1,p=I1,$2=m1,w2=D2}else m=t+20|0,S=e[m>>2]|0,b=t+352|0,p=b,$2=S,w2=0;return E2=(s2|0)%255&-1,A2=a1+w2|0,K1=o1+(A2<<2)|0,e[K1>>2]=E2,h2=$2+(A2<<3)|0,i2=h2,l2=i2,e[l2>>2]=g,r2=i2+4|0,a2=r2,e[a2>>2]=u,X1=p,D=X1,e[D>>2]=g,Q=X1+4|0,_=Q,e[_>>2]=u,L=o1+(a1<<2)|0,x=e[L>>2]|0,F=x|256,e[L>>2]=F,M=a1+V|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=Ws(z|0,J|0,1,0)|0,e0=H6,q=T,X=q,e[X>>2]=W,U=q+4|0,l0=U,e[l0>>2]=e0,K=(a|0)==0,K?(I=0,I|0):($0=t+328|0,e[$0>>2]=1,I=0,I|0)}function Wm(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0;return L=C,C=C+16|0,Q=L,A=e[n>>2]|0,e[Q>>2]=A,a=n+4|0,m=e[a>>2]|0,B=Q+4|0,e[B>>2]=m,p=n+12|0,S=e[p>>2]|0,b=n+16|0,v=b,y=v,D=e[y>>2]|0,g=v+4|0,u=g,E=e[u>>2]|0,I=Vk(t,Q,1,S,D,E)|0,C=L,I|0}function zB(t,n){t=t|0,n=n|0;var A=0,a=0,g=0;return g=C,A=WB(t,n,1,4096)|0,A|0}function ZB(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0;return L=C,u=(t|0)==0,u||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,B=e[m>>2]|0,p=(B|0)==0,a=t+28|0,g=e[a>>2]|0,Q=(g|0)==0,p?Q?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?_=7:D=0):Q?D=0:_=7,(_|0)==7&&(D=1),y=WB(t,n,D,4096)|0,A=y,A|0)}function Kk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0;return c0=C,g=t+24|0,u=e[g>>2]|0,Q=u-n|0,Y=t+28|0,$0=e[Y>>2]|0,r0=(Q|0)>($0|0),r0?(a=0,a|0):(V=2147483647-n|0,h0=(u|0)>(V|0),h0?(o0=e[t>>2]|0,g0=(o0|0)==0,g0||I2(o0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),B=t+20|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),Ae(t|0,0,360)|0,a=-1,a|0):(b=u+n|0,v=(b|0)<2147483615,y=b+32|0,A=v?y:b,D=t+16|0,_=e[D>>2]|0,L=A<<2,x=qi(_,L)|0,F=(x|0)==0,F?(M=e[t>>2]|0,T=(M|0)==0,T||I2(M),N=e[D>>2]|0,G=(N|0)==0,G||I2(N),O=t+20|0,z=e[O>>2]|0,t0=(z|0)==0,t0||I2(z),Ae(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=x,J=t+20|0,W=e[J>>2]|0,e0=A<<3,q=qi(W,e0)|0,X=(q|0)==0,X?(U=e[t>>2]|0,l0=(U|0)==0,l0||I2(U),Z=e[D>>2]|0,K=(Z|0)==0,K||I2(Z),s0=e[J>>2]|0,i0=(s0|0)==0,i0||I2(s0),Ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=q,e[g>>2]=A,a=0,a|0))))}function WB(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0;if(v5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,g=c1?255:_,h1=(t|0)==0,h1||(R1=e[t>>2]|0,H1=(R1|0)==0,A2=(g|0)==0,w3=A2|H1,w3))return u=0,u|0;t2=t+332|0,H2=e[t2>>2]|0,Z2=(H2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(T0=(l3|0)<(g|0),!T0){I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,H5=l3,O5=14;break e}if(z0=e[C0>>2]|0,H0=z0+(l3<<2)|0,e1=e[H0>>2]|0,D0=e1&255,i1=(D0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,H5=$1,O5=14;break}}else if(L=(g|0)>0,L){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,B5=-1,t5=-1,s5=-1,W5=0,L3=0,C3=0;;){if(u1=(C5|0)>(a|0),g1=(W5|0)>3,G3=u1&g1,G3){E=1,G5=S5,_5=g5,q2=a5,I5=W2,A5=g2,c5=B5,p5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,o1=n1+C5|0,Z0=(n1|0)==255,Z0?(h5=S5,J2=g5,u5=a5,i5=W2,x5=g2,j2=B5,$5=t5,L2=s5,i6=0,U3=L3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,p1=e[E1>>2]|0,B1=d1+4|0,Q1=B1,x1=e[Q1>>2]|0,L1=L3+1|0,w1=p1&255,b1=js(p1|0,x1|0,8)|0,F1=H6,G1=b1&255,v1=js(p1|0,x1|0,16)|0,U1=H6,Z1=v1&255,N1=js(p1|0,x1|0,24)|0,_1=H6,V1=N1&255,O1=x1&255,q1=js(p1|0,x1|0,40)|0,Y1=H6,j1=q1&255,n2=js(p1|0,x1|0,48)|0,W1=H6,P1=n2&255,c2=js(p1|0,x1|0,56)|0,z1=H6,u2=c2&255,h5=w1,J2=Z1,u5=V1,i5=O1,x5=j1,j2=P1,$5=u2,L2=G1,i6=L1,U3=L1),o2=C3+1|0,E2=(o2|0)<(g|0),E2)C5=o1,S5=h5,g5=J2,a5=u5,W2=i5,g2=x5,B5=j2,t5=$5,s5=L2,W5=i6,L3=U3,C3=o2;else{E=A,G5=h5,_5=J2,q2=u5,I5=i5,A5=x5,c5=j2,p5=$5,M1=L2,c3=o2;break}}K1=(c3|0)==255,K1?(n3=G5,m3=_5,F5=q2,J5=I5,v3=A5,u3=c5,B3=p5,z3=M1,U5=255):(I=E,Q5=G5,q5=_5,j5=q2,E5=I5,f3=A5,h3=c5,Y5=p5,X5=M1,H5=c3,O5=14)}else I=A,Q5=-1,q5=-1,j5=-1,E5=-1,f3=-1,h3=-1,Y5=-1,X5=-1,H5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return u=0,u|0;n3=Q5,m3=q5,F5=j5,J5=E5,v3=f3,u3=h3,B3=Y5,z3=X5,U5=H5}if($2=t+40|0,d[$2>>0]=79,d[$2+1>>0]=103,d[$2+2>>0]=103,d[$2+3>>0]=83,i2=t+44|0,d[i2>>0]=0,l2=t+45|0,d[l2>>0]=0,r2=t+16|0,a2=e[r2>>2]|0,X1=e[a2>>2]|0,s2=X1>>>8,S=s2&1,f2=S^1,y2=f2|2,m=Z2?y2:f2,a3=m&255,d[l2>>0]=a3,k2=t+328|0,w2=e[k2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),z5=C2&F2,z5&&(B=Z2?y2:f2,D2=B|4,N2=D2&255,d[l2>>0]=N2),e[t2>>2]=1,d2=t+46|0,d[d2>>0]=n3,K2=t+47|0,d[K2>>0]=z3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=J5,z2=t+51|0,d[z2>>0]=v3,o5=t+52|0,d[o5>>0]=u3,O2=t+53|0,d[O2>>0]=B3,T1=t+336|0,X2=e[T1>>2]|0,L5=X2&255,e5=t+54|0,d[e5>>0]=L5,b5=X2>>>8,f5=b5&255,k5=t+55|0,d[k5>>0]=f5,P5=X2>>>16,l5=P5&255,v2=t+56|0,d[v2>>0]=l5,m5=X2>>>24,n5=m5&255,x2=t+57|0,d[x2>>0]=n5,_2=t+340|0,p2=e[_2>>2]|0,x=(p2|0)==-1,x?(e[_2>>2]=0,M=0):M=p2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,q=e0&255,X=t+61|0,d[X>>0]=q,U=t+62|0,l0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=l0,K=(U5|0)>0,K){if($0=e[a2>>2]|0,s0=$0&255,r0=t+67|0,d[r0>>0]=s0,V=$0&255,D5=(U5|0)==1,D5)p=V;else for(o0=1,v0=V;;)if(b=e[r2>>2]|0,h0=b+(o0<<2)|0,g0=e[h0>>2]|0,j=g0&255,c0=o0+27|0,u0=(t+40|0)+c0|0,d[u0>>0]=j,I0=g0&255,w0=I0+v0|0,d0=o0+1|0,d5=(d0|0)==(U5|0),d5){p=w0;break}else o0=d0,v0=w0;v=e[t>>2]|0,y=e[Q>>2]|0,D=e[r2>>2]|0,Q0=v,y0=y,F0=D,R5=p}else Q0=R1,y0=_,F0=a2,R5=0;return e[n>>2]=$2,p0=U5+27|0,B0=t+324|0,e[B0>>2]=p0,E0=n+4|0,e[E0>>2]=p0,b0=t+12|0,K0=e[b0>>2]|0,x0=Q0+K0|0,M0=n+8|0,e[M0>>2]=x0,G0=n+12|0,e[G0>>2]=R5,P0=y0-U5|0,e[Q>>2]=P0,Y0=F0+(U5<<2)|0,_0=P0<<2,XA(F0|0,Y0|0,_0|0)|0,N0=t+20|0,V0=e[N0>>2]|0,J0=V0+(U5<<3)|0,O0=e[Q>>2]|0,U0=O0<<3,XA(V0|0,J0|0,U0|0)|0,q0=e[b0>>2]|0,r1=q0+R5|0,e[b0>>2]=r1,Jk(n),u=1,u|0}function zk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0;return H0=C,a=t+104|0,g=e[a>>2]|0,D=t+88|0,z=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,K=e[z>>2]|0,u7(K),u0=g+16|0,x0=e[u0>>2]|0,u7(x0),V0=g+20|0,U0=e[V0>>2]|0,u7(U0),q0=g+24|0,u=e[q0>>2]|0,u7(u),E=g+28|0,I=e[E>>2]|0,u7(I),m=g+32|0,B=e[m>>2]|0,u7(B),p=g+36|0,S=e[p>>2]|0,u7(S),b=g+40|0,v=e[b>>2]|0,u7(v),y=g+44|0,Q=e[y>>2]|0,u7(Q),_=g+48|0,L=e[_>>2]|0,u7(L),x=g+52|0,F=e[x>>2]|0,u7(F),M=g+56|0,T=e[M>>2]|0,u7(T),N=g+60|0,G=e[N>>2]|0,u7(G),O=g+64|0,Y=e[O>>2]|0,u7(Y),t0=g+68|0,J=e[t0>>2]|0,u7(J),W=e[6416]|0,e0=W+12|0,q=e[e0>>2]|0,X=bQ[q&1](t)|0,U=(X|0)==0,U?(l0=(n|0)==0,l0?(A=0,A|0):(Z=Lh(t)|0,$0=(Z|0)==0,$0?(s0=t+4|0,i0=KB(s0)|0,e[n>>2]=i0,r0=yt(s0)|0,V=n+4|0,e[V>>2]=r0,h0=n+8|0,e[h0>>2]=0,o0=t+44|0,g0=e[o0>>2]|0,j=n+12|0,e[j>>2]=g0,c0=t+48|0,I0=c0,w0=I0,C0=e[w0>>2]|0,v0=I0+4|0,d0=v0,p0=e[d0>>2]|0,B0=n+16|0,E0=B0,b0=E0,e[b0>>2]=C0,K0=E0+4|0,Q0=K0,e[Q0>>2]=p0,M0=t+56|0,T0=M0,G0=T0,P0=e[G0>>2]|0,y0=T0+4|0,Y0=y0,F0=e[Y0>>2]|0,_0=n+24|0,N0=_0,J0=N0,e[J0>>2]=P0,O0=N0+4|0,z0=O0,e[z0>>2]=F0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function Zk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0;C0=C,A=t+28|0,a=e[A>>2]|0,I0=n,v0=I0+48|0;do e[I0>>2]=0,I0=I0+4|0;while((I0|0)<(v0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(o0=t+8|0,g0=e[o0>>2]|0,j=e[a>>2]|0,c0=j>>1,u0=a+4|0,g=e[u0>>2]|0,u=(g|0)/(j|0)&-1,E=n+24|0,e[E>>2]=u,e[n>>2]=1,I=a+3360|0,m=e[I>>2]|0,B=+(m|0),p=+(c0|0),S=B*p,b=+(g0|0),v=S/b,D=+Oi(v),Q=~~D,_=n+12|0,e[_>>2]=Q,L=a+3364|0,x=e[L>>2]|0,F=+(x|0),M=F*p,T=M/b,N=+Oi(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*p,e0=W/b,q=+Oi(e0),X=~~q,U=n+20|0,e[U>>2]=X,l0=n+32|0,A1[l0>>3]=7,K=+(O|0),$0=a+3376|0,s0=+A1[$0>>3],i0=K*s0,r0=~~i0,V=n+8|0,e[V>>2]=r0,h0=n+4|0,e[h0>>2]=r0)}function Wk(t){t=t|0;var n=0,A=0,a=0,g=0;a=C,n=t,g=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(g|0))}function Lh(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0;return p=C,A=t+64|0,a=e[A>>2]|0,g=a+104|0,u=e[g>>2]|0,E=u+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function jk(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0;if(b6=C,B=t+104|0,p=e[B>>2]|0,z1=t+64|0,v2=e[z1>>2]|0,_5=v2+104|0,g2=e[_5>>2]|0,L2=v2+4|0,F5=e[L2>>2]|0,L3=F5+28|0,M5=e[L3>>2]|0,S=g2+112|0,T=+A1[S>>3],X=+Oi(T),o0=~~X,B0=(p+12|0)+(o0<<2)|0,Y0=e[B0>>2]|0,H0=yt(Y0)|0,n1=H0<<3,x1=t+28|0,_1=e[x1>>2]|0,u2=(_1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,u2?(L5=g2+100|0,b5=e[L5>>2]|0,U=d2,v0=L5,E0=b5):(Z2=g2+104|0,f5=e[Z2>>2]|0,k5=g2+100|0,P5=e[k5>>2]|0,l5=r5(f5,d2)|0,m5=r5(f5,P5)|0,U=l5,v0=k5,E0=m5),n5=M5+(_1<<2)|0,x2=e[n5>>2]|0,_2=x2>>1,p2=M5+3372|0,C5=e[p2>>2]|0,R5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=R5*D5,q2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,p5=g2+120|0,c5)return M1=e[p5>>2]|0,S5=(M1|0)==0,S5?(e[p5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[p5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){u2?$5=a5:(B5=g2+104|0,t5=e[B5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],u5=15/J2,i5=g2+84|0,x5=e[i5>>2]|0,j2=n1-$5|0,Q5=x5+j2|0,q5=(Q5|0)>(q2|0);e:do if(q5)if(j5=(o0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(f3=n1-$5|0,h3=f3+x5|0,Y5=(h3|0)>(q2|0),Y5)for(O3=o0;;){if(X5=O3+-1|0,n3=(p+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,J5=yt(m3)|0,v3=J5<<3,u3=(O3|0)>1,B3=(v3|0)>($5|0),k6=B3&u3,!k6){V5=X5;break e}if(I=e[i5>>2]|0,z3=v3-$5|0,G3=z3+I|0,z5=(G3|0)>(q2|0),z5)O3=X5;else{V5=X5;break}}else V5=o0;else V5=o0;else if(w3=(Q5|0)<(q2|0),w3)if(W5=o0+1|0,i6=(W5|0)<15,U3=(n1|0)<($5|0),X3=U3&i6,X3)if(a3=n1-$5|0,l3=a3+x5|0,c3=(l3|0)<(q2|0),c3)for(H5=W5;;){if(C3=(p+12|0)+(H5<<2)|0,U5=e[C3>>2]|0,O5=yt(U5)|0,v5=O5<<3,P3=H5+1|0,o6=(P3|0)<15,e3=(v5|0)<($5|0),p6=e3&o6,!p6){V5=H5;break e}if(E=e[i5>>2]|0,A3=v5-$5|0,R3=A3+E|0,u6=(R3|0)<(q2|0),u6)H5=P3;else{V5=H5;break}}else V5=o0;else V5=o0;else V5=o0;while(!1);Q3=+(V5|0),k3=+A1[S>>3],y3=Q3-k3,r6=+Oi(y3),j3=+(_2|0),b=r6/j3,v=F5+8|0,y=e[v>>2]|0,D=+(y|0),Q=D*b,_=-u5,L=Q<_,C6=L?_:Q,x=C6>u5,b3=x?u5:C6,F=b3/D,M=F*j3,N=M+k3,A1[S>>3]=N,G=+Oi(N),O=~~G,z=(p+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=yt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,S3=O,e6=J}else W=d2,S3=o0,e6=n1;e0=(W|0)>0,q=(e6|0)<(U|0),c6=q&e0;e:do if(c6)if(l0=g2+88|0,Z=e[l0>>2]|0,K=e6-U|0,$0=K+Z|0,s0=($0|0)<0,s0)for(g3=S3,t6=e6;;){if(i0=g3+1|0,r0=(g3|0)>13,r0){q3=i0,f6=t6;break e}if(V=(p+12|0)+(i0<<2)|0,h0=e[V>>2]|0,g0=yt(h0)|0,j=g0<<3,c0=e[l0>>2]|0,u0=j-U|0,I0=u0+c0|0,w0=(I0|0)<0,w0)g3=i0,t6=j;else{q3=i0,f6=j;break}}else q3=S3,f6=e6;else q3=S3,f6=e6;while(!1);C0=e[v0>>2]|0,d0=(C0|0)>0,p0=(f6|0)>(E0|0),B6=p0&d0;e:do if(B6)if(b0=g2+88|0,K0=e[b0>>2]|0,x0=f6-E0|0,Q0=x0+K0|0,M0=e[p2>>2]|0,T0=(Q0|0)>(M0|0),T0)for(l6=q3,H3=f6;;){if(G0=l6+-1|0,P0=(l6|0)<1,P0){d3=G0,D3=H3;break e}if(y0=(p+12|0)+(G0<<2)|0,F0=e[y0>>2]|0,_0=yt(F0)|0,N0=_0<<3,V0=e[b0>>2]|0,J0=N0-E0|0,O0=J0+V0|0,z0=e[p2>>2]|0,U0=(O0|0)>(z0|0),U0)l6=G0,H3=N0;else{d3=G0,D3=N0;break}}else d3=q3,D3=f6;else d3=q3,D3=f6;while(!1);if(q0=(d3|0)<0,q0)r1=e[p2>>2]|0,e1=g2+88|0,D0=e[e1>>2]|0,i1=r1+E0|0,c1=i1-D0|0,$1=(c1|0)/8&-1,u1=g2+124|0,e[u1>>2]=0,g1=p+12|0,l1=e[g1>>2]|0,s1=yt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,Z0=$1<<3,qk(o1,Z0),I1=e[g1>>2]|0,h1=yt(I1)|0,m1=h1<<3,Y3=m1):Y3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,p1=U+7|0,B1=p1-E1|0,Q1=(B1|0)/8&-1,L1=(d3|0)>14,g=L1?14:d3,w1=g2+124|0,e[w1>>2]=g,b1=(p+12|0)+(g<<2)|0,R1=e[b1>>2]|0,F1=yt(R1)|0,G1=Q1-F1|0,v1=(G1|0)>0,U1=e[b1>>2]|0,v1)for(N1=U1,v6=G1;;)if(Z1=v6+-1|0,U2(N1,0,8),V1=(v6|0)>1,O1=e[b1>>2]|0,V1)N1=O1,v6=Z1;else{u=O1;break}else u=U1;q1=yt(u)|0,H1=q1<<3,Y3=H1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?Z3=37:(n2=e[v0>>2]|0,W1=(n2|0)>0,W1&&(Z3=37));do if((Z3|0)==37){if(P1=(E0|0)>0,c2=(Y3|0)>(E0|0),x6=P1&c2,x6){o2=Y3-E0|0,E2=g2+88|0,A2=e[E2>>2]|0,K1=o2+A2|0,e[E2>>2]=K1;break}if(h2=(U|0)>0,$2=(Y3|0)<(U|0),Y6=h2&$2,Y6){i2=Y3-U|0,l2=g2+88|0,r2=e[l2>>2]|0,a2=i2+r2|0,e[l2>>2]=a2;break}if(s2=g2+88|0,f2=e[s2>>2]|0,t2=(f2|0)>(q2|0),t2)if(P1){y2=Y3-E0|0,k2=f2+y2|0,w2=(k2|0)<(q2|0),n=w2?q2:k2,e[s2>>2]=n;break}else{e[s2>>2]=q2;break}else if(h2){C2=Y3-U|0,F2=f2+C2|0,D2=(F2|0)>(q2|0),a=D2?q2:F2,e[s2>>2]=a;break}else{e[s2>>2]=q2;break}}while(!1);return N2=e[g5>>2]|0,K2=(N2|0)>0,K2?(G2=e[x1>>2]|0,H2=(G2|0)==0,H2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),o5=Y3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function jB(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0;return E0=C,a=t+104|0,g=e[a>>2]|0,D=g+120|0,z=e[D>>2]|0,K=(z|0)==0,K?(A=0,A|0):(u0=(n|0)==0,u0||(I0=z+104|0,w0=e[I0>>2]|0,C0=z+64|0,v0=e[C0>>2]|0,u=v0+104|0,E=e[u>>2]|0,I=E+80|0,m=e[I>>2]|0,p0=(m|0)==0,p0?d0=7:(B=g+124|0,p=e[B>>2]|0,d0=p),S=(w0+12|0)+(d0<<2)|0,b=e[S>>2]|0,v=KB(b)|0,e[n>>2]=v,y=e[S>>2]|0,Q=yt(y)|0,_=n+4|0,e[_>>2]=Q,L=n+8|0,e[L>>2]=0,x=z+44|0,F=e[x>>2]|0,M=n+12|0,e[M>>2]=F,T=z+48|0,N=T,G=N,O=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,q=e0,e[q>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,l0=z+56|0,Z=l0,$0=Z,s0=e[$0>>2]|0,i0=Z+4|0,r0=i0,V=e[r0>>2]|0,h0=n+24|0,o0=h0,g0=o0,e[g0>>2]=s0,j=o0+4|0,c0=j,e[c0>>2]=V),e[D>>2]=0,A=1,A|0)}function Xk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0;M=C,x=n,T=x+112|0;do e[x>>2]=0,x=x+4|0;while((x|0)<(T|0));if(A=n+64|0,e[A>>2]=t,a=n+76|0,e[a>>2]=0,B=n+68|0,e[B>>2]=0,p=e[t>>2]|0,S=(p|0)==0,S)return 0;for(b=n4(1,72)|0,v=n+104|0,e[v>>2]=b,y=b+4|0,s[y>>2]=-9999,D=n+4|0,Q=b+12|0,g=b+40|0,L=0;;)if(u=(L|0)==7,u){e[g>>2]=D,Ap(D),L=8;continue}else{if(E=n4(1,20)|0,I=Q+(L<<2)|0,e[I>>2]=E,Ap(E),m=L+1|0,_=(m|0)==15,_)break;L=m;continue}return 0}function qt(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=n+7|0,a=A&-8,y=t+72|0,x=e[y>>2]|0,F=x+a|0,M=t+76|0,T=e[M>>2]|0,N=(F|0)>(T|0),G=t+68|0,O=e[G>>2]|0,N?(g=(O|0)==0,g||(u=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,B=m+x|0,e[I>>2]=B,p=t+84|0,S=e[p>>2]|0,b=E+4|0,e[b>>2]=S,e[E>>2]=u,e[p>>2]=E),e[M>>2]=a,v=S9(a)|0,e[G>>2]=v,e[y>>2]=0,Q=v,_=0,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0):(Q=O,_=x,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0)}function eS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0;if(Z=C,a=t+104|0,g=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,u=e[W>>2]|0,E=(u|0)==0,n=t+68|0,A=e[n>>2]|0,E?Q=A:(I=t+76|0,m=e[I>>2]|0,B=m+u|0,p=qi(A,B)|0,e[n>>2]=p,S=e[W>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[W>>2]=0,Q=p),y=t+72|0,e[y>>2]=0,e[D>>2]=0,_=(Q|0)==0,_||I2(Q),L=(g|0)==0,L){U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}else q=0;for(;;){if(x=(g+12|0)+(q<<2)|0,F=e[x>>2]|0,ap(F),M=(q|0)==7,M){q=8;continue}if(T=e[x>>2]|0,I2(T),N=q+1|0,e0=(N|0)==15,e0)break;q=N}I2(g),U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}function tS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0;return _=C,a=rS(t,n,1)|0,g=(a|0)==0,g?(m=t+104|0,B=e[m>>2]|0,p=FS(n)|0,S=B+60|0,e[S>>2]=p,b=n4(1,180)|0,e[B>>2]=b,aS(b,n),v=B+80|0,Zk(n,v),y=t+64|0,D=y,u=D,e[u>>2]=3,E=D+4|0,I=E,e[I>>2]=0,A=0,A|0):(A=1,A|0)}function XB(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0;if(G2=C,p=(t|0)==0,!p){if(S=t+4|0,B0=e[S>>2]|0,Y0=(B0|0)!=0,Y0?(H0=B0+28|0,n1=e[H0>>2]|0,y0=n1):y0=0,x1=t+104|0,_1=e[x1>>2]|0,z1=(_1|0)!=0,z1){if(a2=e[_1>>2]|0,b=(a2|0)==0,b||($S(a2),N=e[_1>>2]|0,I2(N)),U=_1+12|0,g0=e[U>>2]|0,I0=(g0|0)==0,I0||(w0=e[g0>>2]|0,up(w0),C0=e[U>>2]|0,v0=e[C0>>2]|0,I2(v0),d0=e[U>>2]|0,I2(d0)),p0=_1+16|0,E0=e[p0>>2]|0,b0=(E0|0)==0,b0||(K0=e[E0>>2]|0,up(K0),x0=e[p0>>2]|0,Q0=e[x0>>2]|0,I2(Q0),M0=e[p0>>2]|0,I2(M0)),T0=_1+48|0,G0=e[T0>>2]|0,P0=(G0|0)==0,!P0){if(F0=(y0|0)==0,F0)d1=G0;else if(_0=y0+16|0,N0=e[_0>>2]|0,V0=(N0|0)>0,V0){if(J0=y0+800|0,O0=e[J0>>2]|0,z0=25640+(O0<<2)|0,U0=e[z0>>2]|0,q0=U0+16|0,r1=e[q0>>2]|0,e1=e[G0>>2]|0,eo[r1&7](e1),D0=e[_0>>2]|0,i1=(D0|0)>1,i1)for($1=1;n=e[T0>>2]|0,c1=J0+($1<<2)|0,u1=e[c1>>2]|0,g1=25640+(u1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=n+($1<<2)|0,Z0=e[o1>>2]|0,eo[a1&7](Z0),I1=$1+1|0,h1=e[_0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[T0>>2]|0,d1=A}else d1=G0;I2(d1)}if(E1=_1+52|0,p1=e[E1>>2]|0,B1=(p1|0)==0,!B1){if(Q1=(y0|0)==0,Q1)K1=p1;else if(L1=y0+20|0,w1=e[L1>>2]|0,b1=(w1|0)>0,b1){if(R1=y0+1312|0,F1=e[R1>>2]|0,G1=25648+(F1<<2)|0,v1=e[G1>>2]|0,U1=v1+16|0,Z1=e[U1>>2]|0,N1=e[p1>>2]|0,eo[Z1&7](N1),V1=e[L1>>2]|0,O1=(V1|0)>1,O1)for(H1=1;a=e[E1>>2]|0,q1=R1+(H1<<2)|0,Y1=e[q1>>2]|0,j1=25648+(Y1<<2)|0,n2=e[j1>>2]|0,W1=n2+16|0,P1=e[W1>>2]|0,c2=a+(H1<<2)|0,u2=e[c2>>2]|0,eo[P1&7](u2),o2=H1+1|0,E2=e[L1>>2]|0,A2=(o2|0)<(E2|0),A2;)H1=o2;g=e[E1>>2]|0,K1=g}else K1=p1;I2(K1)}if(h2=_1+56|0,$2=e[h2>>2]|0,i2=($2|0)==0,!i2){if(l2=(y0|0)==0,l2)D2=$2;else if(r2=y0+28|0,X1=e[r2>>2]|0,s2=(X1|0)>0,s2){if(aQ($2),f2=e[r2>>2]|0,t2=(f2|0)>1,t2)for(k2=1;u=e[h2>>2]|0,y2=u+(k2*52|0)|0,aQ(y2),w2=k2+1|0,C2=e[r2>>2]|0,F2=(w2|0)<(C2|0),F2;)k2=w2;E=e[h2>>2]|0,D2=E}else D2=$2;I2(D2)}v=_1+60|0,y=e[v>>2]|0,D=(y|0)==0,D||MS(y),Q=_1+80|0,Wk(Q),_=_1+20|0,EQ(_),L=_1+32|0,EQ(L)}if(x=t+8|0,F=e[x>>2]|0,M=(F|0)==0,!M){if(Y0)if(T=B0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,u0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?q=u0:(I2(t0),m=e[T>>2]|0,q=m),W=N2+1|0,e0=(W|0)<(q|0),!!e0;)I=e[x>>2]|0,Y=I,u0=q,N2=W;B=e[x>>2]|0,X=B}else X=F;else X=F;I2(X),l0=t+12|0,Z=e[l0>>2]|0,K=(Z|0)==0,K||I2(Z)}z1&&($0=_1+64|0,s0=e[$0>>2]|0,i0=(s0|0)==0,i0||I2(s0),r0=_1+68|0,V=e[r0>>2]|0,h0=(V|0)==0,h0||I2(V),o0=_1+72|0,j=e[o0>>2]|0,c0=(j|0)==0,c0||I2(j),I2(_1)),d2=t,H2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(H2|0))}}function eQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0;if(Y0=C,I=t+4|0,m=e[I>>2]|0,x=t+104|0,W=e[x>>2]|0,r0=W+64|0,v0=e[r0>>2]|0,Q0=(v0|0)==0,Q0||I2(v0),e[r0>>2]=0,M0=W+68|0,T0=e[M0>>2]|0,G0=(T0|0)==0,G0||I2(T0),e[M0>>2]=0,B=W+72|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),e[B>>2]=0,b=t+20|0,v=e[b>>2]|0,y=v+n|0,D=t+16|0,Q=e[D>>2]|0,_=(y|0)<(Q|0),_)A=m+4|0,u=e[A>>2]|0,X=u,y0=11;else if(L=n<<1,F=v+L|0,e[D>>2]=F,M=m+4|0,T=e[M>>2]|0,N=(T|0)>0,N)if(G=t+8|0,O=e[G>>2]|0,z=e[O>>2]|0,Y=F<<2,t0=qi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,q=(e0|0)>1,q)for(i0=1;;)if(a=e[D>>2]|0,$0=e[G>>2]|0,s0=$0+(i0<<2)|0,V=e[s0>>2]|0,h0=a<<2,o0=qi(V,h0)|0,g0=e[G>>2]|0,j=g0+(i0<<2)|0,e[j>>2]=o0,c0=i0+1|0,u0=e[M>>2]|0,I0=(c0|0)<(u0|0),I0)i0=c0;else{X=u0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for(l0=t+8|0,Z=e[b>>2]|0,K=t+12|0,P0=0;;)if(w0=e[l0>>2]|0,C0=w0+(P0<<2)|0,d0=e[C0>>2]|0,p0=d0+(Z<<2)|0,B0=e[K>>2]|0,E0=B0+(P0<<2)|0,e[E0>>2]=p0,b0=P0+1|0,K0=(b0|0)<(X|0),K0)P0=b0;else{g=K;break}return x0=e[g>>2]|0,x0|0}return E=t+12|0,g=E,x0=e[g>>2]|0,x0|0}function iS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0;if(O0=C,I=t+4|0,m=e[I>>2]|0,x=m+28|0,W=e[x>>2]|0,r0=(n|0)<1,!r0)return w0=t+20|0,C0=e[w0>>2]|0,d0=C0+n|0,p0=t+16|0,B0=e[p0>>2]|0,E0=(d0|0)>(B0|0),E0?(a=-131,C=O0,a|0):(e[w0>>2]=d0,b0=t+28|0,K0=e[b0>>2]|0,x0=(K0|0)==0,!x0||(Q0=t+48|0,M0=e[Q0>>2]|0,T0=d0-M0|0,P0=W+4|0,y0=e[P0>>2]|0,Y0=(T0|0)>(y0|0),!Y0)?(a=0,C=O0,a|0):(iQ(t),a=0,C=O0,a|0));if(v0=C,C=C+128|0,G0=t+28|0,F0=e[G0>>2]|0,_0=(F0|0)==0,_0&&iQ(t),N0=W+4|0,B=e[N0>>2]|0,p=B*3|0,eQ(t,p)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,y=e[N0>>2]|0,D=y*3|0,Q=b+D|0,e[S>>2]=Q,_=m+4|0,L=e[_>>2]|0,F=(L|0)>0,!F)return a=0,C=O0,a|0;for(M=t+8|0,T=b,V0=0;;){if(N=(T|0)>64,N?(G=e[N0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(V0<<2)|0,t0=e[Y>>2]|0,u=T-A|0,J=t0+(u<<2)|0,+rQ(J,v0,A,32),e0=e[M>>2]|0,q=e0+(V0<<2)|0,X=e[q>>2]|0,U=e[v>>2]|0,l0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,K=e[S>>2]|0,$0=K-U|0,nQ(v0,Z,32,l0,$0)):(s0=e[M>>2]|0,i0=s0+(V0<<2)|0,V=e[i0>>2]|0,h0=V+(T<<2)|0,o0=e[S>>2]|0,g0=o0-T|0,j=g0<<2,Ae(h0|0,0,j|0)|0),c0=V0+1|0,u0=e[_>>2]|0,I0=(c0|0)<(u0|0),!I0){a=0;break}g=e[v>>2]|0,T=g,V0=c0}return C=O0,a|0}function tQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,S=t+4|0,b=e[S>>2]|0,o2=b+28|0,v5=e[o2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,f6=S6+60|0,d6=e[f6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,v=t+40|0,G=e[v>>2]|0,l0=v5+(G<<2)|0,j=e[l0>>2]|0,b0=(j|0)/2&-1,_0=t9-b0|0,D0=n+104|0,Z0=e[D0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(f2=t+32|0,G2=e[f2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;p2=lS(t)|0,p5=(p2|0)==-1;do if(p5){if(J2=e[f2>>2]|0,f3=(J2|0)==0,f3)return a=0,a|0;z3=t+44|0,e[z3>>2]=0,u=z3,O3=0;break}else if(C3=e[v5>>2]|0,P3=v5+4|0,M5=e[P3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,u=e3,O3=0;break}else{e[e3>>2]=p2,u=e3,O3=p2;break}while(!1);if(A3=e[G6>>2]|0,R3=e[v>>2]|0,u6=v5+(R3<<2)|0,Q3=e[u6>>2]|0,k3=(Q3|0)/4&-1,y3=k3+A3|0,j3=v5+(O3<<2)|0,V5=e[j3>>2]|0,S3=(V5|0)/4&-1,g3=y3+S3|0,q3=(V5|0)/2&-1,l6=g3+q3|0,d3=t+20|0,v6=e[d3>>2]|0,k6=(v6|0)<(l6|0),k6)return a=0,a|0;if(p6=n+84|0,X3=e[p6>>2]|0,c6=(X3|0)==0,!c6)for(I9=X3;B6=I9+4|0,x6=e[B6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(x6|0)==0,!C6;)I9=x6;b3=n+80|0,e6=e[b3>>2]|0,t6=(e6|0)==0,t6||(H3=n+68|0,D3=e[H3>>2]|0,Y3=n+76|0,Z3=e[Y3>>2]|0,b6=Z3+e6|0,A6=qi(D3,b6)|0,e[H3>>2]=A6,t3=e[b3>>2]|0,O6=e[Y3>>2]|0,s3=O6+t3|0,e[Y3>>2]=s3,e[b3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[p6>>2]=0,_3=t+36|0,N6=e[_3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[v>>2]|0,L6=n+28|0,e[L6>>2]=Q6,K6=e[u>>2]|0,I6=n+32|0,e[I6>>2]=K6,J6=(Q6|0)==0;do if(J6)if(s9=cS(t)|0,R6=(s9|0)==0,U6=Z0+8|0,R6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(F3=(N6|0)==0,j6=(K6|0)==0,N9=F3|j6,e9=Z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,M3=e[F6>>2]|0,M6=y6+4|0,A9=M6,X6=e[A9>>2]|0,u9=Ws(M3|0,X6|0,1,0)|0,f9=H6,d9=z6,a9=d9,e[a9>>2]=u9,$9=d9+4|0,T9=$9,e[T9>>2]=f9,E6=n+56|0,T6=E6,y=T6,e[y>>2]=M3,D=T6+4|0,Q=D,e[Q>>2]=X6,_=t+56|0,L=_,x=L,F=e[x>>2]|0,M=L+4|0,T=M,N=e[T>>2]|0,O=n+48|0,z=O,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=N,W=e[v>>2]|0,e0=v5+(W<<2)|0,q=e[e0>>2]|0,X=n+36|0,e[X>>2]=q,U=Z0+4|0,Z=+s[U>>2],K=+s[d6>>2],$0=Z>K,$0?(s[d6>>2]=Z,s0=Z):s0=K,i0=+GS(s0,t),s[d6>>2]=i0,s[U>>2]=i0,r0=b+4|0,V=e[r0>>2]|0,h0=V<<2,o0=h0+7|0,g0=o0&-8,c0=e[a6>>2]|0,u0=g0+c0|0,I0=n+76|0,w0=e[I0>>2]|0,C0=(u0|0)>(w0|0),v0=n+68|0,d0=e[v0>>2]|0,C0?(p0=(d0|0)==0,p0||(B0=d0,E0=S9(8)|0,K0=e[b3>>2]|0,x0=K0+c0|0,e[b3>>2]=x0,Q0=e[p6>>2]|0,M0=E0+4|0,e[M0>>2]=Q0,e[E0>>2]=B0,e[p6>>2]=E0),e[I0>>2]=g0,T0=S9(g0)|0,e[v0>>2]=T0,e[a6>>2]=0,g=e[r0>>2]|0,P0=T0,y0=0,N0=g,U0=g0):(P0=d0,y0=c0,N0=V,U0=w0),G0=P0+y0|0,Y0=y0+g0|0,e[a6>>2]=Y0,e[n>>2]=G0,F0=N0<<2,V0=F0+7|0,J0=V0&-8,O0=J0+Y0|0,z0=(O0|0)>(U0|0),z0?(q0=(P0|0)==0,q0||(r1=P0,H0=S9(8)|0,e1=e[b3>>2]|0,i1=e1+Y0|0,e[b3>>2]=i1,c1=e[p6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=r1,e[p6>>2]=H0),e[I0>>2]=J0,u1=S9(J0)|0,e[v0>>2]=u1,e[a6>>2]=0,E=e[r0>>2]|0,l1=u1,s1=0,n1=E,O5=J0):(l1=P0,s1=Y0,n1=N0,O5=U0),g1=l1+s1|0,a1=s1+J0|0,e[a6>>2]=a1,e[Z0>>2]=g1,o1=(n1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,L1=O5,b1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+_0|0,d1=m1<<2,E1=d1+7|0,p1=E1&-8,B1=p1+Q1|0,x1=(B1|0)>(L1|0),x1?(R1=(b1|0)==0,R1||(F1=b1,G1=S9(8)|0,v1=e[b3>>2]|0,U1=v1+Q1|0,e[b3>>2]=U1,Z1=e[p6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[p6>>2]=G1),e[I0>>2]=p1,_1=S9(p1)|0,e[v0>>2]=_1,e[a6>>2]=0,q1=_1,H1=0):(q1=b1,H1=Q1),V1=q1+H1|0,Y1=H1+p1|0,e[a6>>2]=Y1,j1=e[Z0>>2]|0,n2=j1+(i9<<2)|0,e[n2>>2]=V1,W1=e[Z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,u2=z1+(i9<<2)|0,A2=e[u2>>2]|0,s4(c2|0,A2|0,d1|0)|0,K1=e[Z0>>2]|0,h2=K1+(i9<<2)|0,$2=e[h2>>2]|0,i2=$2+(_0<<2)|0,l2=e[n>>2]|0,r2=l2+(i9<<2)|0,e[r2>>2]=i2,a2=i9+1|0,X1=e[r0>>2]|0,s2=(a2|0)<(X1|0),!s2)break e;I=e[a6>>2]|0,m=e[I0>>2]|0,B=e[v0>>2]|0,Q1=I,L1=m,b1=B,i9=a2}while(!1);if(t2=e[f2>>2]|0,y2=(t2|0)==0,!y2&&(k2=e[G6>>2]|0,w2=(k2|0)<(t2|0),!w2))return e[f2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=v5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,K2=(d2|0)>0,!K2)return a=1,a|0;if(H2=e[S6>>2]|0,gS(H2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[r0>>2]|0,o5=(z2|0)>0,o5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,L5=X2+(d2<<2)|0,e5=P2<<2,XA(X2|0,L5|0,e5|0)|0,Z2=e[r0>>2]|0,f5=(Z2|0)>1,f5))for(l5=1;p=e[d3>>2]|0,k5=e[O2>>2]|0,P5=k5+(l5<<2)|0,v2=e[P5>>2]|0,m5=v2+(d2<<2)|0,n5=p<<2,XA(v2|0,m5|0,n5|0)|0,x2=l5+1|0,_2=e[r0>>2]|0,C5=(x2|0)<(_2|0),C5;)l5=x2;return R5=e[v>>2]|0,e[_3>>2]=R5,d5=e[u>>2]|0,e[v>>2]=d5,e[G6>>2]=N2,D5=e[f2>>2]|0,G5=(D5|0)==0,G5?(u3=(d2|0)<0,B3=u3<<31>>31,G3=_,z5=G3,w3=e[z5>>2]|0,W5=G3+4|0,i6=W5,L3=e[i6>>2]|0,U3=Ws(w3|0,L3|0,d2|0,B3|0)|0,a3=H6,l3=_,c3=l3,e[c3>>2]=U3,H5=l3+4|0,U5=H5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,q2=(_5|0)<1,A=q2?-1:_5,e[f2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,L2=$5<<31>>31,Q5=_,q5=Q5,j5=e[q5>>2]|0,E5=Q5+4|0,h3=E5,Y5=e[h3>>2]|0,X5=Ws(j5|0,Y5|0,d2|0,L2|0)|0,n3=H6,m3=_,F5=m3,e[F5>>2]=X5,J5=m3+4|0,v3=J5,e[v3>>2]=n3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,B5=g2,t5=e[B5>>2]|0,s5=Ws(W2|0,t5|0,c5|0,S5|0)|0,h5=H6,u5=_,i5=u5,e[i5>>2]=s5,x5=u5+4|0,j2=x5,e[j2>>2]=h5,a=1,a|0))}function rS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0;if(i5=C,B=n+28|0,p=e[B>>2]|0,B1=(p|0)==0,B1||(Z1=p+8|0,P1=e[Z1>>2]|0,l2=(P1|0)<1,l2)||(F2=e[p>>2]|0,O2=(F2|0)<64,O2)||(v2=p+4|0,_5=e[v2>>2]|0,S=(_5|0)<(F2|0),S))return a=1,a|0;T=p+3656|0,X=e[T>>2]|0,J2=t,x5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(x5|0));o0=n4(1,136)|0,B0=t+104|0,e[B0>>2]=o0,Y0=t+4|0,e[Y0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,E1=Tt(n1)|0,p1=o0+44|0,e[p1>>2]=E1,Q1=n4(1,4)|0,x1=o0+12|0,e[x1>>2]=Q1,L1=n4(1,4)|0,w1=o0+16|0,e[w1>>2]=L1,b1=n4(1,20)|0,e[Q1>>2]=b1,R1=n4(1,20)|0,e[L1>>2]=R1,F1=e[p>>2]|0,G1=F1>>X,hp(b1,G1),v1=e[w1>>2]|0,U1=e[v1>>2]|0,N1=e[v2>>2]|0,_1=N1>>X,hp(U1,_1),V1=e[p>>2]|0,O1=Tt(V1)|0,q1=O1+-7|0,H1=o0+4|0,e[H1>>2]=q1,Y1=e[v2>>2]|0,j1=Tt(Y1)|0,n2=j1+-7|0,W1=o0+8|0,e[W1>>2]=n2,c2=(A|0)==0;e:do if(c2){if(p2=p+2848|0,C5=e[p2>>2]|0,R5=(C5|0)==0,R5&&(d5=p+24|0,D5=e[d5>>2]|0,G5=n4(D5,56)|0,e[p2>>2]=G5,q2=e[d5>>2]|0,I5=(q2|0)>0,I5)){for(m1=q2,B5=0;;){if(A5=(p+1824|0)+(B5<<2)|0,c5=e[A5>>2]|0,p5=(c5|0)==0,p5){M1=m1;break}if(g5=e[p2>>2]|0,a5=g5+(B5*56|0)|0,W2=sb(a5,c5)|0,b=(W2|0)==0,!b){u5=20;break}if(v=e[A5>>2]|0,fp(v),e[A5>>2]=0,y=B5+1|0,D=e[d5>>2]|0,Q=(y|0)<(D|0),Q)m1=D,B5=y;else break e}if((u5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(p+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(fp(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),Z0=h5+1|0,I1=(Z0|0)<(h1|0),I1;)d1=h1,h5=Z0;return XB(t),a=-1,a|0}}else{if(z1=o0+20|0,u2=e[p>>2]|0,IQ(z1,u2),o2=o0+32|0,E2=e[v2>>2]|0,IQ(o2,E2),A2=p+2848|0,K1=e[A2>>2]|0,h2=(K1|0)==0,h2&&($2=p+24|0,i2=e[$2>>2]|0,r2=n4(i2,56)|0,e[A2>>2]=r2,a2=e[$2>>2]|0,X1=(a2|0)>0,X1&&(s2=p+1824|0,f2=e[s2>>2]|0,dQ(r2,f2)|0,t2=e[$2>>2]|0,y2=(t2|0)>1,y2)))for(w2=1;g=e[A2>>2]|0,k2=g+(w2*56|0)|0,C2=(p+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,dQ(k2,D2)|0,N2=w2+1|0,d2=e[$2>>2]|0,K2=(N2|0)<(d2|0),K2;)w2=N2;G2=p+28|0,H2=e[G2>>2]|0,M2=n4(H2,52)|0,P2=o0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=p+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(L5=e5+(g2*52|0)|0,b5=(p+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,f5=e[Z2>>2]|0,k5=p+(f5<<2)|0,P5=e[k5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,NS(L5,Z2,T1,l5,m5),n5=g2+1|0,x2=e[G2>>2]|0,_2=(n5|0)<(x2|0),!_2)break t;u=e[P2>>2]|0,e5=u,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[v2>>2]|0,L=t+16|0,e[L>>2]=_,x=n+4|0,F=e[x>>2]|0,M=F<<2,N=S9(M)|0,G=t+8|0,e[G>>2]=N,O=S9(M)|0,z=t+12|0,e[z>>2]=O,Y=(F|0)>0,Y&&(t0=n4(_,4)|0,e[N>>2]=t0,J=(F|0)>1,J))for(q=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(q<<2)|0,e[e0>>2]=W,U=q+1|0,l0=(U|0)<(F|0),l0;)q=U;if(Z=t+36|0,e[Z>>2]=0,K=t+40|0,e[K>>2]=0,$0=e[v2>>2]|0,s0=($0|0)/2&-1,i0=t+48|0,e[i0>>2]=s0,r0=t+20|0,e[r0>>2]=s0,V=p+16|0,h0=e[V>>2]|0,g0=n4(h0,4)|0,j=o0+48|0,e[j>>2]=g0,c0=p+20|0,u0=e[c0>>2]|0,I0=n4(u0,4)|0,w0=o0+52|0,e[w0>>2]=I0,C0=e[V>>2]|0,v0=(C0|0)>0,v0)for(t5=0;E0=(p+800|0)+(t5<<2)|0,b0=e[E0>>2]|0,K0=25640+(b0<<2)|0,x0=e[K0>>2]|0,Q0=x0+8|0,M0=e[Q0>>2]|0,T0=(p+1056|0)+(t5<<2)|0,G0=e[T0>>2]|0,P0=f7[M0&15](t,G0)|0,y0=e[j>>2]|0,F0=y0+(t5<<2)|0,e[F0>>2]=P0,_0=t5+1|0,N0=e[V>>2]|0,V0=(_0|0)<(N0|0),V0;)t5=_0;if(d0=e[c0>>2]|0,p0=(d0|0)>0,p0)s5=0;else return a=0,a|0;for(;;)if(J0=(p+1312|0)+(s5<<2)|0,O0=e[J0>>2]|0,z0=25648+(O0<<2)|0,U0=e[z0>>2]|0,q0=U0+8|0,r1=e[q0>>2]|0,e1=(p+1568|0)+(s5<<2)|0,D0=e[e1>>2]|0,i1=f7[r1&15](t,D0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,u1=s5+1|0,g1=e[c0>>2]|0,l1=(u1|0)<(g1|0),l1)s5=u1;else{a=0;break}return a|0}function iQ(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0;if(x0=C,C=C+64|0,g=x0,u=t+20|0,Q=e[u>>2]|0,Y=Q<<2,n=Y,$0=C,C=C+((1*n|0)+15&-16)|0,I0=t+28|0,e[I0>>2]=1,C0=t+48|0,v0=e[C0>>2]|0,d0=Q-v0|0,p0=(d0|0)>32,!p0){C=x0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,B=e[m>>2]|0,p=(B|0)>0,!p){C=x0;return}for(S=t+8|0,b=Q,B0=0;;){if(v=(b|0)>0,v)for(y=e[S>>2]|0,D=y+(B0<<2)|0,_=e[D>>2]|0,E0=0;L=E0^-1,x=b+L|0,F=_+(x<<2)|0,M=e[F>>2]|0,T=$0+(E0<<2)|0,e[T>>2]=M,N=E0+1|0,G=(b|0)>(N|0),G;)E0=N;if(O=e[C0>>2]|0,z=b-O|0,+rQ($0,g,z,16),t0=e[u>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=$0+(A<<2)|0,a=A+-16|0,e0=$0+(a<<2)|0,nQ(g,e0,16,W,J),q=e[u>>2]|0,X=(q|0)>0,X)for(U=e[S>>2]|0,l0=U+(B0<<2)|0,Z=e[l0>>2]|0,b0=0;K=$0+(b0<<2)|0,s0=e[K>>2]|0,i0=b0^-1,r0=q+i0|0,V=Z+(r0<<2)|0,e[V>>2]=s0,h0=b0+1|0,o0=(q|0)>(h0|0),o0;)b0=h0;if(g0=B0+1|0,j=e[E>>2]|0,c0=j+4|0,u0=e[c0>>2]|0,w0=(g0|0)<(u0|0),w0)b=q,B0=g0;else break}C=x0}function nS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0;a2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),l0=e[I>>2]|0,j=(l0|0)>1;e:do if(j)for(b0=t+8|0,_0=e[b0>>2]|0,g=d[_0>>0]|0,D0=g,P1=1;;){if(Z0=D0<<24>>24==0,Z0){W1=P1;break e}if(w1=_0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<(l0|0),_)D0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);L=(W1|0)==(l0|0);e:do if(L){if(U2(n,1,1),x=t+8|0,F=e[x>>2]|0,M=d[F>>0]|0,T=M<<24>>24,N=T+-1|0,U2(n,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(y=O,q1=0,z1=1;;){if(Y=e[x>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,q=d[e0>>0]|0,X=J<<24>>24>q<<24>>24,X)for(U=q<<24>>24,Z=J<<24>>24,s0=y,H1=q1,$2=U;;)if(K=z1-H1|0,$0=s0-H1|0,i0=Tt($0)|0,U2(n,K,i0),r0=$2+1|0,n2=(r0|0)==(Z|0),u=e[I>>2]|0,n2){o0=u,Y1=z1;break}else s0=u,H1=z1,$2=r0;else o0=y,Y1=q1;if(V=z1+1|0,h0=(V|0)<(o0|0),h0)y=o0,q1=Y1,z1=V;else{a=o0,O1=Y1,c2=V;break}}else a=O,O1=0,c2=1;g0=c2-O1|0,c0=a-O1|0,u0=Tt(c0)|0,U2(n,g0,u0)}else{U2(n,0,1),I0=e[I>>2]|0,w0=(I0|0)>0;t:do if(w0)for(C0=t+8|0,v0=e[C0>>2]|0,o2=0;;){if(d0=v0+o2|0,p0=d[d0>>0]|0,B0=p0<<24>>24==0,B0){u2=o2;break t}if(E0=o2+1|0,K0=(E0|0)<(I0|0),K0)o2=E0;else{u2=E0;break}}else u2=0;while(!1);if(x0=(u2|0)==(I0|0),x0){if(U2(n,0,1),Q0=e[I>>2]|0,M0=(Q0|0)>0,!M0)break;for(T0=t+8|0,E2=0;;)if(G0=e[T0>>2]|0,P0=G0+E2|0,y0=d[P0>>0]|0,Y0=y0<<24>>24,F0=Y0+-1|0,U2(n,F0,5),N0=E2+1|0,V0=e[I>>2]|0,J0=(N0|0)<(V0|0),J0)E2=N0;else break e}if(U2(n,1,1),O0=e[I>>2]|0,z0=(O0|0)>0,z0)for(U0=t+8|0,A2=0;q0=e[U0>>2]|0,r1=q0+A2|0,H0=d[r1>>0]|0,e1=H0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[U0>>2]|0,c1=i1+A2|0,$1=d[c1>>0]|0,u1=$1<<24>>24,g1=u1+-1|0,U2(n,g1,5)),l1=A2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)A2=l1}while(!1);if(n1=t+12|0,o1=e[n1>>2]|0,U2(n,o1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)r2=28;else if(I1|0)return A=-1,A|0;do if((r2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,p1=e[E1>>2]|0,U2(n,p1,32),B1=t+20|0,Q1=e[B1>>2]|0,U2(n,Q1,32),x1=t+24|0,L1=e[x1>>2]|0,b1=L1+-1|0,U2(n,b1,4),R1=t+28|0,F1=e[R1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)v1=ib(t)|0,l2=v1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,l2=N1;else break;if(_1=(l2|0)>0,_1)for(K1=0;V1=e[h1>>2]|0,B=V1+(K1<<2)|0,p=e[B>>2]|0,h2=(p|0)>-1,i2=0-p|0,S=h2?p:i2,b=e[x1>>2]|0,U2(n,S,b),v=K1+1|0,j1=(v|0)==(l2|0),!j1;)K1=v}while(!1);return A=0,A|0}function Rh(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,g=(n|0)<0,g||(u=t+12|0,Q=e[u>>2]|0,L=Q+4|0,x=e[L>>2]|0,F=(x|0)>(n|0),!F)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(n<<2)|0,G=e[N>>2]|0,E=Q+8|0,I=e[E>>2]|0,m=I+n|0,B=d[m>>0]|0,p=B<<24>>24,U2(A,G,p),S=e[u>>2]|0,b=S+8|0,v=e[b>>2]|0,y=v+n|0,D=d[y>>0]|0,_=D<<24>>24,a=_,a|0)}function jm(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0;return v=C,a=t+8|0,g=e[a>>2]|0,u=(g|0)>0,!u||(E=Fh(t,n)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,B=e[m>>2]|0,p=B+(E<<2)|0,S=e[p>>2]|0,A=S,A|0)}function sS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0;if(j=C,m=t+8|0,B=e[m>>2]|0,F=(B|0)>0,!F)return g=0,C=j,g|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,u=U,l0=C,C=C+((1*u|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(K=t+16|0,r0=0;;){if(N=Fh(t,A)|0,G=(N|0)==-1,G){g=-1;break}if(O=e[K>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=l0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,q=(W|0)<(X|0),q)r0=W;else{$0=z;break e}}return C=j,g|0}else $0=e0;while(!1);if(E=($0|0)<1,I=Z^1,s0=E|I,s0)return g=0,C=j,g|0;for(V=0,o0=0;;){for(h0=0;v=l0+(h0<<2)|0,y=e[v>>2]|0,D=y+(V<<2)|0,Q=+s[D>>2],_=h0+o0|0,L=n+(_<<2)|0,x=+s[L>>2],M=x+Q,s[L>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(p=V+1|0,S=o0+X|0,b=(p|0)<($0|0),b)V=p,o0=S;else{g=0;break}}return C=j,g|0}function oS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,g0=(t0|0)>0,!g0)return g=0,g|0;if(E0=e[t>>2]|0,F0=(E0|0)>8,F0){if(L1=(a|0)>0,!L1)return g=0,g|0;for(V1=t+16|0,X1=0;;){if(Z=Fh(t,A)|0,K=(Z|0)==-1,K){g=-1,T1=29;break}if($0=e[V1>>2]|0,s0=e[t>>2]|0,i0=r5(s0,Z)|0,r0=(s0|0)>0,r0){for(V=(s0|0)>1,O2=V?s0:1,f2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,o0=$0+(z<<2)|0,j=+s[o0>>2],c0=f2+1|0,u0=n+(f2<<2)|0,I0=+s[u0>>2],w0=I0+j,s[u0>>2]=w0,C0=(h0|0)<(s0|0),C0;)f2=c0,d2=h0;u2=X1+O2|0,s2=u2}else s2=X1;if(J=(s2|0)<(a|0),J)X1=s2;else{g=0,T1=29;break}}if((T1|0)==29)return g|0}if(e1=t+16|0,o1=(a|0)>0,o1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(q=Fh(t,A)|0,X=(q|0)==-1,X){g=-1,T1=29;break e}switch(U=e[e1>>2]|0,l0=e[t>>2]|0,l0|0){case 4:{p=q,Q=U,T1=19;break t}case 3:{S=q,_=U,T1=21;break t}case 7:{I=q,v=U,T1=13;break t}case 6:{m=q,y=U,T1=15;break t}case 8:{u=U,E=q,T1=12;break t}case 5:{B=q,D=U,T1=17;break t}case 1:{K1=q,$2=U,N2=t2,o5=0;break t}case 2:{b=q,L=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,v0=E<<3,d0=u+(v0<<2)|0,p0=+s[d0>>2],B0=t2+1|0,b0=n+(t2<<2)|0,K0=+s[b0>>2],x0=K0+p0,s[b0>>2]=x0,T0=v0,P0=u,y2=B0,K2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,T0=Q0,P0=v,y2=t2,K2=0,T1=14):(T1|0)==15?(T1=0,J0=m*6|0,z0=J0,q0=y,k2=t2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=B*5|0,g1=$1,s1=D,w2=t2,H2=0,T1=18):(T1|0)==19?(T1=0,m1=p<<2,E1=m1,B1=Q,C2=t2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=S*3|0,v1=F1,Z1=_,F2=t2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=b<<1,n2=Y1,P1=L,D2=t2,z2=0,T1=24),(T1|0)==14&&(T1=0,M0=K2+1|0,O=K2+T0|0,G0=P0+(O<<2)|0,y0=+s[G0>>2],Y0=y2+1|0,_0=n+(y2<<2)|0,N0=+s[_0>>2],V0=N0+y0,s[_0>>2]=V0,z0=T0,q0=P0,k2=Y0,G2=M0,T1=16),(T1|0)==16&&(T1=0,O0=G2+1|0,G=G2+z0|0,U0=q0+(G<<2)|0,r1=+s[U0>>2],H0=k2+1|0,D0=n+(k2<<2)|0,i1=+s[D0>>2],c1=i1+r1,s[D0>>2]=c1,g1=z0,s1=q0,w2=H0,H2=O0,T1=18),(T1|0)==18&&(T1=0,u1=H2+1|0,N=H2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,Z0=n+(w2<<2)|0,I1=+s[Z0>>2],h1=I1+a1,s[Z0>>2]=h1,E1=g1,B1=s1,C2=n1,M2=u1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,p1=B1+(T<<2)|0,Q1=+s[p1>>2],x1=C2+1|0,w1=n+(C2<<2)|0,b1=+s[w1>>2],R1=b1+Q1,s[w1>>2]=R1,v1=E1,Z1=B1,F2=x1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+v1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],_1=F2+1|0,O1=n+(F2<<2)|0,q1=+s[O1>>2],H1=q1+N1,s[O1>>2]=H1,n2=v1,P1=Z1,D2=_1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,F=z2+n2|0,W1=P1+(F<<2)|0,c2=+s[W1>>2],z1=D2+1|0,o2=n+(D2<<2)|0,E2=+s[o2>>2],A2=E2+c2,s[o2>>2]=A2,K1=n2,$2=P1,N2=z1,o5=j1),x=o5+K1|0,h2=$2+(x<<2)|0,i2=+s[h2>>2],l2=N2+1|0,r2=n+(N2<<2)|0,a2=+s[r2>>2],W=a2+i2,s[r2>>2]=W,e0=(l2|0)<(a|0),e0)t2=l2;else{g=0,T1=29;break}}return(T1|0)==29?g|0:0}function AS(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0;if(g0=C,p=t+8|0,S=e[p>>2]|0,T=(S|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=u+A|0,q=(e0|0)/(a|0)&-1,X=(W|0)<(q|0),!X))return I=0,I|0;for(U=t+16|0,K=0,i0=W;;){if(Z=Fh(t,g)|0,b=(Z|0)==-1,b){I=-1,o0=8;break}if(v=e[U>>2]|0,y=e[t>>2]|0,D=r5(y,Z)|0,Q=(y|0)>0,Q)for(s0=K,V=i0,h0=0;;)if(B=h0+D|0,_=v+(B<<2)|0,L=+s[_>>2],x=s0+1|0,F=n+(s0<<2)|0,M=e[F>>2]|0,N=M+(V<<2)|0,G=+s[N>>2],O=G+L,s[N>>2]=O,z=(x|0)==(a|0),Y=z&1,m=Y+V|0,E=z?0:x,t0=h0+1|0,J=(t0|0)<(y|0),J)s0=E,V=m,h0=t0;else{$0=E,r0=m;break}else $0=K,r0=i0;if(l0=(r0|0)<(q|0),l0)K=$0,i0=r0;else{I=0,o0=8;break}}return(o0|0)==8?I|0:0}function Fh(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0;h1=C,g=t+40|0,u=e[g>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,$0=$p(n,Y)|0,I0=($0|0)>-1;do if(I0){if(Q0=t+32|0,J0=e[Q0>>2]|0,c1=J0+($0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,B=t+8|0,p=e[B>>2]|0,S=$1&32767,b=p-S|0,u1=b,l1=m;break}return v=$1+-1|0,y=t+28|0,D=e[y>>2]|0,_=D+v|0,L=d[_>>0]|0,x=L<<24>>24,lp(n,x),A=v,A|0}else F=t+8|0,M=e[F>>2]|0,u1=M,l1=0;while(!1);if(T=$p(n,u)|0,N=(T|0)<0,G=(u|0)>1,O=N&G,O)for(Z0=u;;)if(z=Z0+-1|0,t0=$p(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)Z0=z;else{a=J,n1=t0,o1=z;break}else a=N,n1=T,o1=u;if(a)return A=-1,A|0;if(q=n1>>>16,X=n1<<16,U=q|X,l0=U>>>8,Z=l0&16711935,K=U<<8,s0=K&-16711936,i0=Z|s0,r0=i0>>>4,V=r0&252645135,h0=i0<<4,o0=h0&-252645136,g0=V|o0,j=g0>>>2,c0=j&858993459,u0=g0<<2,w0=u0&-858993460,C0=c0|w0,v0=C0>>>1,d0=v0&1431655765,p0=C0<<1,B0=p0&-1431655766,E0=d0|B0,b0=u1-l1|0,K0=(b0|0)>1,K0)for(x0=t+20|0,M0=e[x0>>2]|0,G0=b0,g1=u1,a1=l1;;)if(T0=G0>>1,P0=T0+a1|0,y0=M0+(P0<<2)|0,Y0=e[y0>>2]|0,F0=Y0>>>0>E0>>>0,_0=F0?0:T0,N0=_0+a1|0,V0=F0?T0:0,O0=g1-V0|0,z0=O0-N0|0,U0=(z0|0)>1,U0)G0=z0,g1=O0,a1=N0;else{s1=N0;break}else s1=l1;return q0=t+28|0,r1=e[q0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,D0=e1<<24>>24,i1=(D0|0)>(o1|0),i1?(lp(n,o1),A=-1,A|0):(lp(n,D0),A=s1,A|0)}function aS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;for(c1=C,B=n+28|0,p=e[B>>2]|0,M=n+4|0,q=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,p0=t+8|0,e[p0>>2]=64,y0=p+2932|0,J0=e[y0>>2]|0,O0=t+12|0,e[O0>>2]=J0,e[t>>2]=q,z0=t+164|0,e[z0>>2]=128,S=p+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,y=t+176|0,e[y>>2]=v,D=n4(128,4)|0,Q=t+36|0,e[Q>>2]=D,_=t+16|0,hp(_,128),L=e[Q>>2]|0,H0=0;x=+(H0|0),F=x*.024736950028266088,T=+Un(+F),N=T,G=L+(H0<<2)|0,O=N*N,s[G>>2]=O,z=H0+1|0,r1=(z|0)==128,!r1;)H0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,l0=t+92|0,e[l0>>2]=8,Z=t+104|0,e[Z>>2]=13,K=t+108|0,e[K>>2]=8,$0=t+120|0,e[$0>>2]=17,s0=t+124|0,e[s0>>2]=8,i0=t+136|0,e[i0>>2]=22,r0=t+140|0,e[r0>>2]=8,o0=4,D0=0;;){if(V=o0<<2,g0=S9(V)|0,j=((t+40|0)+(D0<<4)|0)+8|0,e[j>>2]=g0,c0=(o0|0)>0,c0){for(u0=+(o0|0),I0=((t+40|0)+(D0<<4)|0)+12|0,m=+s[I0>>2],x0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,v0=C0/u0,d0=v0*3.141592653589793,B0=+Un(+d0),E0=B0,b0=g0+(e1<<2)|0,s[b0>>2]=E0,K0=x0+E0,Q0=e1+1|0,U0=(Q0|0)==(o0|0),U0){A=K0;break}else x0=K0,e1=Q0;s[I0>>2]=A,E=I0,T0=A}else g=((t+40|0)+(D0<<4)|0)+12|0,I=+s[g>>2],E=g,T0=I;if(M0=1/T0,s[E>>2]=M0,G0=D0+1|0,q0=(G0|0)==7,q0)break;a=((t+40|0)+(G0<<4)|0)+4|0,u=e[a>>2]|0,o0=u,D0=G0}P0=q*7|0,Y0=n4(P0,144)|0,F0=t+152|0,e[F0>>2]=Y0,_0=e[z0>>2]|0,N0=n4(_0,4)|0,V0=t+160|0,e[V0>>2]=N0}function $S(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0;N=C,n=t+16|0,up(n),A=t+48|0,v=e[A>>2]|0,I2(v),D=t+64|0,Q=e[D>>2]|0,I2(Q),_=t+80|0,L=e[_>>2]|0,I2(L),x=t+96|0,F=e[x>>2]|0,I2(F),M=t+112|0,a=e[M>>2]|0,I2(a),g=t+128|0,u=e[g>>2]|0,I2(u),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,B=e[m>>2]|0,I2(B),p=t+152|0,S=e[p>>2]|0,I2(S),b=t+160|0,y=e[b>>2]|0,I2(y),Ae(t|0,0,180)|0}function lS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,u=t+4|0,E=e[u>>2]|0,F=E+28|0,e0=e[F>>2]|0,V=e0+2868|0,d0=t+104|0,P0=e[d0>>2]|0,q0=e[P0>>2]|0,s1=q0+168|0,B1=e[s1>>2]|0,I=q0+8|0,S=e[I>>2]|0,b=(B1|0)/(S|0)&-1,v=t+20|0,y=e[v>>2]|0,D=(y|0)/(S|0)&-1,Q=D+-4|0,_=(b|0)<0,n=_?0:b,L=D+2|0,x=q0+164|0,M=e[x>>2]|0,T=(L|0)>(M|0),T&&(e[x>>2]=L,N=q0+160|0,G=e[N>>2]|0,O=L<<2,z=qi(G,O)|0,e[N>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=q0+156|0,J=q0+160|0,W=t+8|0,q=q0+40|0,X=q0+152|0,_1=n;;){if(U=e[t0>>2]|0,l0=U+1|0,Z=(U|0)>23,a=Z?24:l0,e[t0>>2]=a,K=e[q0>>2]|0,$0=(K|0)>0,$0){for(N1=0,H1=0;;)if(h0=e[W>>2]|0,o0=h0+(N1<<2)|0,g0=e[o0>>2]|0,j=e[I>>2]|0,c0=r5(j,_1)|0,u0=g0+(c0<<2)|0,I0=e[X>>2]|0,w0=N1*7|0,C0=I0+(w0*144|0)|0,v0=hS(q0,V,u0,q,C0)|0,p0=v0|H1,B0=N1+1|0,E0=e[q0>>2]|0,b0=(B0|0)<(E0|0),b0)N1=B0,H1=p0;else{g=p0;break}K0=_1+2|0,x0=e[J>>2]|0,Q0=x0+(K0<<2)|0,e[Q0>>2]=0,M0=g&1,T0=(M0|0)==0,T0||(G0=x0+(_1<<2)|0,e[G0>>2]=1,y0=_1+1|0,Y0=x0+(y0<<2)|0,e[Y0>>2]=1),F0=g&2,_0=(F0|0)==0,_0||(N0=x0+(_1<<2)|0,e[N0>>2]=1,V0=(_1|0)>0,V0&&(J0=_1+-1|0,O0=x0+(J0<<2)|0,e[O0>>2]=1)),z0=g&4,U0=(z0|0)==0,U0||(e[t0>>2]=-1)}else s0=_1+2|0,i0=e[J>>2]|0,r0=i0+(s0<<2)|0,e[r0>>2]=0;if(r1=_1+1|0,Z1=(r1|0)==(Q|0),Z1)break;_1=r1}if(H0=e[I>>2]|0,e1=r5(H0,Q)|0,e[s1>>2]=e1,D0=t+48|0,i1=e[D0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,u1=e0+($1<<2)|0,g1=e[u1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,o1=e[n1>>2]|0,Z0=(o1|0)/2&-1,I1=a1+Z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=q0+176|0,p1=e[E1>>2]|0,Q1=e1-H0|0,x1=(p1|0)<(Q1|0),!x1)return A=-1,A|0;for(L1=q0+160|0,V1=p1;;){if(R1=(V1|0)<(d1|0),!R1){A=1,Y1=22;break}if(e[E1>>2]=V1,F1=(V1|0)/(H0|0)&-1,G1=e[L1>>2]|0,v1=G1+(F1<<2)|0,U1=e[v1>>2]|0,m=(U1|0)!=0,B=(V1|0)>(i1|0),q1=B&m,w1=H0+V1|0,q1){O1=V1,Y1=21;break}if(b1=(w1|0)<(Q1|0),b1)V1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(p=q0+172|0,e[p>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function cS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0;if(p0=C,g=t+104|0,u=e[g>>2]|0,Q=e[u>>2]|0,Y=t+4|0,$0=e[Y>>2]|0,o0=$0+28|0,g0=e[o0>>2]|0,j=t+48|0,c0=e[j>>2]|0,u0=t+40|0,E=e[u0>>2]|0,I=g0+(E<<2)|0,m=e[I>>2]|0,B=(m|0)/4&-1,p=c0-B|0,S=B+c0|0,b=(E|0)==0,b?(G=e[g0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(v=t+36|0,y=e[v>>2]|0,D=g0+(y<<2)|0,_=e[D>>2]|0,L=(_|0)/4&-1,x=t+44|0,F=e[x>>2]|0,M=g0+(F<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=L),I0=p-a|0,w0=S+A|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(I0|0),W=(t0|0)<(w0|0),v0=J&W,v0)return n=1,n|0;if(e0=Q+8|0,q=e[e0>>2]|0,X=(I0|0)/(q|0)&-1,U=(w0|0)/(q|0)&-1,l0=(X|0)<(U|0),!l0)return n=0,n|0;for(Z=Q+160|0,K=e[Z>>2]|0,C0=X;;){if(r0=K+(C0<<2)|0,V=e[r0>>2]|0,h0=(V|0)==0,s0=C0+1|0,!h0){n=1,d0=9;break}if(i0=(s0|0)<(U|0),i0)C0=s0;else{n=0,d0=9;break}}return(d0|0)==9?n|0:0}function gS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0;if(G=C,A=t+168|0,a=e[A>>2]|0,y=t+8|0,Q=e[y>>2]|0,_=(a|0)/(Q|0)&-1,L=_+2|0,x=(n|0)/(Q|0)&-1,F=t+160|0,M=e[F>>2]|0,T=M+(x<<2)|0,g=L-x|0,u=g<<2,XA(M|0,T|0,u|0)|0,E=e[A>>2]|0,I=E-n|0,e[A>>2]=I,m=t+172|0,B=e[m>>2]|0,p=(B|0)>-1,!p){b=t+176|0,v=e[b>>2]|0,D=v-n|0,e[b>>2]=D;return}S=B-n|0,e[m>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-n|0,e[b>>2]=D}function hS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,l2=t+12|0,F2=+s[l2>>2],O2=t0<<2,_=O2,v2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,L2=(g2|0)>5,F5=(g2|0)/2&-1,u=L2?F5:2,J=n+60|0,i0=+s[J>>2],C0=F5+-2|0,T0=+(C0|0),z0=i0-T0,g1=z0<0,u6=g1?0:z0,E1=u6>i0,Q3=E1?i0:u6,v1=(t0|0)>0,v1)for(n2=t+36|0,$2=e[n2>>2]|0,O5=0;r2=A+(O5<<2)|0,a2=+s[r2>>2],X1=$2+(O5<<2)|0,s2=+s[X1>>2],f2=s2*a2,t2=v2+(O5<<2)|0,s[t2>>2]=f2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;k2=t+16|0,sQ(k2,v2,v2),w2=+s[v2>>2],C2=w2*w2,D2=C2,N2=v2+4|0,d2=+s[N2>>2],K2=d2,G2=K2*K2,H2=G2*.7,M2=H2+D2,P2=v2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,L5=M2+X2,e5=L5,b5=g+140|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5?(k5=g+136|0,P5=+s[k5>>2],l5=P5+e5,m5=g+132|0,s[m5>>2]=l5,s[k5>>2]=e5,T=m5,q2=l5):(n5=g+132|0,x2=+s[n5>>2],_2=x2+e5,s[n5>>2]=_2,p2=g+136|0,C5=+s[p2>>2],R5=C5+e5,s[p2>>2]=R5,T=n5,q2=_2),d5=(g+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=q2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,p5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=q2*.0625,g5=(s[B2>>2]=S5,e[B2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),B5=W2*7177114298428933e-22,t5=B5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,u5=J2,L=u5,M0=w2,v5=0;;){if(Q0=M0*M0,G0=v5|1,P0=v2+(G0<<2)|0,y0=+s[P0>>2],Y0=y0*y0,F0=Y0+Q0,_0=(s[B2>>2]=F0,e[B2>>2]|0),N0=_0&2147483647,V0=+(N0>>>0),J0=V0*35885571492144663e-23,O0=J0+-382.30810546875,U0=O0>1,H0=v2+(r1<<2)|0,s[H0>>2]=z,e1=v5+2|0,D0=(e1|0)<(p5|0),!D0)break e;i1=L+-8,F=v2+(e1<<2)|0,M=+s[F>>2],L=i1,M0=M,v5=e1}while(!1);if(i5=(u|0)>0,i5)A3=0,O3=0;else{for(e3=0,j3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,u1=($1|0)>0,u1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,P3=0;;)if(o1=s1+P3|0,Z0=v2+(o1<<2)|0,I1=+s[Z0>>2],h1=n1+(P3<<2)|0,m1=+s[h1>>2],d1=m1*I1,p1=d1+a3,B1=P3+1|0,Q1=(B1|0)<($1|0),Q1)a3=p1,P3=B1;else{L3=p1;break}else L3=0;if(x1=(a+(e3<<4)|0)+12|0,L1=+s[x1>>2],w1=L1*L3,b1=(g+(e3*144|0)|0)+68|0,R1=e[b1>>2]|0,F1=(R1|0)<1,B=F1?16:-1,I=B+R1|0,G1=(g+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,S=_1?U1:w1,V1=S+-99999,O1=N1+99999,q1=(g+(e3*144|0)|0)+(R1<<2)|0,s[q1>>2]=w1,H1=e[b1>>2]|0,Y1=H1+1|0,j1=(H1|0)>15,D=j1?0:Y1,e[b1>>2]=D,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+Q3,z1=O1>c2,u2=j3|5,V5=z1?u2:j3,o2=(n+32|0)+(e3<<2)|0,E2=+s[o2>>2],A2=E2-Q3,K1=V1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,s0=e[w0>>2]|0,v0=(a+(A3<<4)|0)+8|0,o0=e[v0>>2]|0,l3=0,M5=0;;)if($0=s0+M5|0,r0=v2+($0<<2)|0,V=+s[r0>>2],h0=o0+(M5<<2)|0,g0=+s[h0>>2],j=g0*V,c0=j+l3,u0=M5+1|0,I0=(u0|0)<(j2|0),I0)l3=c0,M5=u0;else{U3=c0;break}else U3=0;for(d0=(a+(A3<<4)|0)+12|0,p0=+s[d0>>2],h3=p0*U3,X5=(g+(A3*144|0)|0)+68|0,f3=e[X5>>2]|0,B0=(f3|0)<1,p=B0?16:-1,m=p+f3|0,E0=(g+(A3*144|0)|0)+(m<<2)|0,b0=+s[E0>>2],K0=h3b0,b=x0?b0:h3,o6=0,R3=m,k3=-99999,y3=99999;;)if(e0=(R3|0)<1,y=e0?16:-1,v=y+R3|0,q=(g+(A3*144|0)|0)+(v<<2)|0,X=+s[q>>2],U=k3X,N=Z?X:y3,K=o6+1|0,H5=(K|0)==(u|0),H5){x=l0,G=N;break}else o6=K,R3=v,k3=l0,y3=N;if(Q5=b-G,q5=j5-x,E5=(g+(A3*144|0)|0)+(f3<<2)|0,s[E5>>2]=h3,Y5=e[X5>>2]|0,n3=Y5+1|0,m3=(Y5|0)>15,Q=m3?0:n3,e[X5>>2]=Q,J5=(n+4|0)+(A3<<2)|0,v3=+s[J5>>2],u3=v3+Q3,B3=q5>u3,z3=O3|5,S3=B3?z3:O3,G3=(n+32|0)+(A3<<2)|0,z5=+s[G3>>2],w3=z5-Q3,W5=Q5>2]|0,C2=n+1288|0,X3=e[C2>>2]|0,M3=n+1284|0,E6=e[M3>>2]|0,E9=(E6|0)>0,E9){for(u8=0;j4=B4+(u8<<2)|0,e[j4>>2]=-200,pe=u8+1|0,Be=(pe|0)==(E6|0),!Be;)u8=pe;if(E9){for(J3=0;f4=c4+(J3<<2)|0,e[f4>>2]=-200,W=J3+1|0,l4=(W|0)==(E6|0),!l4;)J3=W;if(E9){for(r0=E6<<2,Ae(T8|0,0,r0|0)|0,w9=0;v0=De+(w9<<2)|0,e[v0>>2]=1,G0=w9+1|0,Ue=(G0|0)==(E6|0),!Ue;)w9=G0;if(E9){if(l1=E6<<2,Ae(W8|0,-1,l1|0)|0,p1=(E6|0)>1,!p1)return ie=0,C=e4,ie|0;for(U1=X3+-1|0,W1=J+1112|0,i2=E6+-1|0,M=e[n>>2]|0,C4=M,p9=0,Qe=0;;){b4=p9+1|0,D4=n+(b4<<2)|0,x4=e[D4>>2]|0,M4=P6+(p9*56|0)|0,Me=M4,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[M4>>2]=C4,T4=(P6+(p9*56|0)|0)+4|0,e[T4>>2]=x4,U9=(x4|0)<(X3|0),it=U9?x4:U1,N4=(it|0)<(C4|0),N4)v8=0,et=0,b8=0,D8=0,m8=0,Fe=0,rt=0,H9=0,K8=0,x8=0,Ht=0,Yt=0;else for(v4=C4,f8=0,Pe=0,O4=0,j9=0,ye=0,A8=0,I3=0,D9=0,$8=0,B9=0,$t=0,L8=0;;){a4=a+(v4<<2)|0,O=+s[a4>>2],L4=O*7.314285755157471,u4=L4+1023.5,Ce=~~u4,q9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,S=q9?1023:E,Ne=(S|0)==0;do if(Ne)H8=f8,i8=Pe,n8=O4,E8=j9,qe=ye,Q4=A8,p8=I3,J8=D9,H4=$8,Ve=B9,se=$t,z8=L8;else if(Xe=A+(v4<<2)|0,G4=+s[Xe>>2],Ge=+s[W1>>2],U4=Ge+G4,X4=!(U4>=O),X4){$e=v4+A8|0,W9=S+L8|0,le=r5(v4,v4)|0,ce=le+j9|0,p4=r5(S,S)|0,e0=p4+B9|0,q=r5(S,v4)|0,X=q+D9|0,U=Pe+1|0,H8=f8,i8=U,n8=O4,E8=ce,qe=ye,Q4=$e,p8=I3,J8=X,H4=$8,Ve=e0,se=$t,z8=W9;break}else{be=v4+ye|0,e8=S+$t|0,Z9=r5(v4,v4)|0,ae=Z9+O4|0,_6=r5(S,S)|0,P4=_6+$8|0,R9=r5(S,v4)|0,$4=R9+I3|0,_4=f8+1|0,H8=_4,i8=Pe,n8=ae,E8=j9,qe=be,Q4=A8,p8=$4,J8=D9,H4=P4,Ve=B9,se=e8,z8=L8;break}while(!1);if(l0=v4+1|0,Z=(v4|0)<(it|0),Z)v4=l0,f8=H8,Pe=i8,O4=n8,j9=E8,ye=qe,A8=Q4,I3=p8,D9=J8,$8=H4,B9=Ve,$t=se,L8=z8;else{v8=H8,et=i8,b8=n8,D8=E8,m8=qe,Fe=Q4,rt=p8,H9=J8,K8=H4,x8=Ve,Ht=se,Yt=z8;break}}if(K=(P6+(p9*56|0)|0)+8|0,e[K>>2]=m8,$0=(P6+(p9*56|0)|0)+12|0,e[$0>>2]=Ht,s0=(P6+(p9*56|0)|0)+16|0,e[s0>>2]=b8,i0=(P6+(p9*56|0)|0)+20|0,e[i0>>2]=K8,V=(P6+(p9*56|0)|0)+24|0,e[V>>2]=rt,h0=(P6+(p9*56|0)|0)+28|0,e[h0>>2]=v8,o0=(P6+(p9*56|0)|0)+32|0,e[o0>>2]=Fe,g0=(P6+(p9*56|0)|0)+36|0,e[g0>>2]=Yt,j=(P6+(p9*56|0)|0)+40|0,e[j>>2]=D8,c0=(P6+(p9*56|0)|0)+44|0,e[c0>>2]=x8,u0=(P6+(p9*56|0)|0)+48|0,e[u0>>2]=H9,I0=(P6+(p9*56|0)|0)+52|0,e[I0>>2]=et,w0=v8+Qe|0,g6=(b4|0)==(i2|0),g6){ft=w0;break}else C4=x4,p9=b4,Qe=w0}}else de=9}else de=9}else de=9}else de=9;if((de|0)==9){if(U0=(E6|0)==0,!U0)return ie=0,C=e4,ie|0;F2=P6+4|0,Me=P6,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[F2>>2]=X3,O2=(X3|0)<1,O2)O8=0,X8=0,Y8=0,I8=0,o8=0,X9=0,C8=0,re=0,ot=0,At=0,Nt=0,Gt=0;else for(v2=J+1112|0,g4=0,k8=0,d8=0,r8=0,he=0,ue=0,fe=0,q4=0,ne=0,a8=0,Je=0,bt=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,L2=g2+1023.5,F5=~~L2,L3=(F5|0)>1023,M5=(F5|0)<0,u=M5?0:F5,p=L3?1023:u,O3=(p|0)==0;do if(O3)q8=k8,Le=d8,Re=r8,s8=he,Oe=ue,we=fe,He=q4,Ye=ne,_8=a8,at=Je,Dt=bt,_t=l8;else if(c6=A+(g4<<2)|0,Y3=+s[c6>>2],n6=+s[v2>>2],s9=n6+Y3,R6=!(s9>=G),R6){u9=g4+fe|0,f9=p+l8|0,d9=r5(g4,g4)|0,a9=d9+he|0,$9=r5(p,p)|0,T9=$9+Je|0,T6=r5(p,g4)|0,i9=T6+ne|0,N9=d8+1|0,q8=k8,Le=N9,Re=r8,s8=a9,Oe=ue,we=u9,He=q4,Ye=i9,_8=a8,at=T9,Dt=bt,_t=f9;break}else{U6=g4+ue|0,D6=p+bt|0,z6=r5(g4,g4)|0,y6=z6+r8|0,F6=r5(p,p)|0,M6=F6+a8|0,t9=r5(p,g4)|0,A9=t9+q4|0,X6=k8+1|0,q8=X6,Le=d8,Re=y6,s8=he,Oe=U6,we=fe,He=A9,Ye=ne,_8=M6,at=Je,Dt=D6,_t=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(X3|0),C9){O8=q8,X8=Le,Y8=Re,I8=s8,o8=Oe,X9=we,C8=He,re=Ye,ot=_8,At=at,Nt=Dt,Gt=_t;break}else g4=I9,k8=q8,d8=Le,r8=Re,he=s8,ue=Oe,fe=we,q4=He,ne=Ye,a8=_8,Je=at,bt=Dt,l8=_t}E4=P6+8|0,e[E4>>2]=o8,o4=P6+12|0,e[o4>>2]=Nt,h4=P6+16|0,e[h4>>2]=Y8,G9=P6+20|0,e[G9>>2]=ot,z9=P6+24|0,e[z9>>2]=C8,b9=P6+28|0,e[b9>>2]=O8,q6=P6+32|0,e[q6>>2]=X9,r9=P6+36|0,e[r9>>2]=Gt,m4=P6+40|0,e[m4>>2]=I8,S4=P6+44|0,e[S4>>2]=At,A4=P6+48|0,e[A4>>2]=re,y9=P6+52|0,e[y9>>2]=X8,ft=O8}if(C0=(ft|0)==0,C0)return ie=0,C=e4,ie|0;e[st>>2]=-200,e[V8>>2]=-200,d0=E6+-1|0,cp(P6,d0,st,V8,J)|0,p0=e[st>>2]|0,e[B4>>2]=p0,e[c4>>2]=p0,B0=e[V8>>2]|0,E0=c4+4|0,e[E0>>2]=B0,b0=B4+4|0,e[b0>>2]=B0,K0=(E6|0)>2;do if(K0){x0=J+1112|0,Q0=J+1096|0,M0=J+1100|0,T0=J+1104|0,F4=2;e:for(;;){P0=(n+520|0)+(F4<<2)|0,y0=e[P0>>2]|0,Y0=T8+(y0<<2)|0,F0=e[Y0>>2]|0,_0=De+(y0<<2)|0,N0=e[_0>>2]|0,V0=W8+(F0<<2)|0,J0=e[V0>>2]|0,O0=(J0|0)==(N0|0);t:do if(!O0){if(z0=(n+520|0)+(F0<<2)|0,q0=e[z0>>2]|0,r1=(n+520|0)+(N0<<2)|0,H0=e[r1>>2]|0,e[V0>>2]=N0,e1=(J+836|0)+(F0<<2)|0,D0=e[e1>>2]|0,i1=(J+836|0)+(N0<<2)|0,c1=e[i1>>2]|0,$1=B4+(F0<<2)|0,u1=e[$1>>2]|0,g1=(u1|0)<0,s1=c4+(F0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(n1=(a1|0)<0,n1?y=u1:(o1=a1+u1|0,Z0=o1>>1,y=Z0)),I1=B4+(N0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(N0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(B1=(E1|0)<0,B1?Q=h1:(Q1=E1+h1|0,x1=Q1>>1,Q=x1)),L1=(y|0)==-1,w1=(Q|0)==-1,kt=L1|w1,kt){de=38;break e}b1=Q-y|0,R1=c1-D0|0,xe=(b1|0)>-1,v9=0-b1|0,F1=xe?b1:v9,G1=(b1|0)/(R1|0)&-1,v1=b1>>31,Z1=v1|1,N1=a+(D0<<2)|0,Y=+s[N1>>2],_1=Y*7.314285755157471,V1=_1+1023.5,O1=~~V1,q1=(O1|0)>1023,H1=(O1|0)<0,I=H1?0:O1,b=q1?1023:I,Y1=r5(G1,R1)|0,ct=(Y1|0)>-1,ut=0-Y1|0,j1=ct?Y1:ut,n2=F1-j1|0,P1=y-b|0,c2=r5(P1,P1)|0,z1=A+(D0<<2)|0,u2=+s[z1>>2],o2=+s[x0>>2],E2=o2+u2,A2=!(E2>=Y),A2?de=42:(K1=+(y|0),h2=+s[Q0>>2],$2=h2+K1,l2=+(b|0),r2=$2>2],X1=K1-a2,s2=X1>l2,s2||(de=42)));i:do if((de|0)==42){if(de=0,f2=D0+1|0,t2=(f2|0)<(c1|0),t2)for(d2=f2,ee=0,vt=c2,P8=1,dt=y;;){if(y2=ee+n2|0,k2=(y2|0)<(R1|0),w2=k2?0:Z1,D2=k2?0:R1,R4=y2-D2|0,F=dt+G1|0,nt=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],K2=z*7.314285755157471,G2=K2+1023.5,H2=~~G2,M2=(H2|0)>1023,P2=(H2|0)<0,m=P2?0:H2,D=M2?1023:m,z2=nt-D|0,o5=r5(z2,z2)|0,T1=o5+vt|0,X2=P8+1|0,L5=A+(d2<<2)|0,e5=+s[L5>>2],b5=e5+o2,Z2=b5>=z,f5=(D|0)!=0,tt=Z2&f5,tt&&(k5=+(nt|0),P5=+s[Q0>>2],l5=P5+k5,m5=+(D|0),n5=l5>2],_2=k5-x2,p2=_2>m5,p2)))break i;if(C5=d2+1|0,R5=(C5|0)<(c1|0),R5)d2=C5,ee=R4,vt=T1,P8=X2,dt=nt;else{j8=T1,U8=X2;break}}else j8=c2,U8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(U8|0),q2=D5/G5,I5=+s[T0>>2],A5=q2>I5,!A5&&(c5=+s[M0>>2],p5=c5*c5,M1=p5/G5,S5=M1>I5,!S5&&(g5=(j8|0)/(U8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=B4+(F4<<2)|0,e[l3>>2]=-200,c3=c4+(F4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[N8>>2]=-200,e[G8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,B5=P6+(q0*56|0)|0,t5=y0-q0|0,s5=cp(B5,t5,N8,G8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,u5=cp(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[N8>>2]=y,x5=e[_e>>2]|0,e[G8>>2]=x5),j2=(u5|0)==0,!j2&&($5=e[G8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=B4+(F4<<2)|0,e[Q5>>2]=-200,q5=c4+(F4<<2)|0,e[q5>>2]=-200;break}if(j5=e[N8>>2]|0,e[s1>>2]=j5,E5=(F0|0)==0,E5&&(e[B4>>2]=j5),f3=e[G8>>2]|0,h3=B4+(F4<<2)|0,e[h3>>2]=f3,Y5=e[_e>>2]|0,X5=c4+(F4<<2)|0,e[X5>>2]=Y5,n3=e[t8>>2]|0,e[I1>>2]=n3,m3=(N0|0)==1,m3&&(e[E0>>2]=n3),J5=Y5&f3,v3=(J5|0)>-1,v3){u3=(y0|0)>0;i:do if(u3)for(Z8=y0;;){if(wt=Z8+-1|0,z3=De+(wt<<2)|0,G3=e[z3>>2]|0,z5=(G3|0)==(N0|0),!z5)break i;if(e[z3>>2]=F4,w3=(Z8|0)>1,w3)Z8=wt;else break}while(!1);if(ht=y0+1|0,B3=(ht|0)<(E6|0),B3)for(M8=ht;;){if(W5=T8+(M8<<2)|0,i6=e[W5>>2]|0,U3=(i6|0)==(F0|0),!U3)break t;if(e[W5>>2]=F4,gt=M8+1|0,a3=(gt|0)<(E6|0),a3)M8=gt;else break}}}while(!1);if(C3=F4+1|0,H5=(C3|0)<(E6|0),H5)F4=C3;else{de=68;break}}if((de|0)==38)Fk(1);else if((de|0)==68){T=e[B4>>2]|0,N=e[c4>>2]|0,v5=T,o6=N;break}}else v5=p0,o6=p0;while(!1);if(U5=E6<<2,O5=qt(t,U5)|0,P3=(v5|0)<0,P3?v=o6:(e3=(o6|0)<0,e3?v=v5:(A3=o6+v5|0,R3=A3>>1,v=R3)),e[O5>>2]=v,u6=e[b0>>2]|0,Q3=(u6|0)<0,k3=e[E0>>2]|0,Q3?L=k3:(y3=(k3|0)<0,y3?L=u6:(r6=k3+u6|0,j3=r6>>1,L=j3)),V5=O5+4|0,e[V5>>2]=L,K0)te=2;else return ie=O5,C=e4,ie|0;for(;;)if(S3=te+-2|0,g3=(n+1032|0)+(S3<<2)|0,q3=e[g3>>2]|0,l6=(n+780|0)+(S3<<2)|0,d3=e[l6>>2]|0,v6=(J+836|0)+(q3<<2)|0,k6=e[v6>>2]|0,S6=(J+836|0)+(d3<<2)|0,p6=e[S6>>2]|0,B6=O5+(q3<<2)|0,x6=e[B6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,b3=(J+836|0)+(te<<2)|0,e6=e[b3>>2]|0,t6=x6&32767,f6=C6&32767,H3=f6-t6|0,D3=p6-k6|0,lt=(H3|0)>-1,S8=0-H3|0,Z3=lt?H3:S8,b6=e6-k6|0,A6=r5(Z3,b6)|0,t3=(A6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,x=O6?s3:t3,_=x+t6|0,a6=B4+(te<<2)|0,d6=e[a6>>2]|0,_3=(d6|0)<0,N6=c4+(te<<2)|0,Q6=e[N6>>2]|0,_3?B=Q6:(L6=(Q6|0)<0,L6?B=d6:(K6=Q6+d6|0,I6=K6>>1,B=I6)),J6=(B|0)<0,F3=(_|0)==(B|0),St=J6|F3,j6=_|32768,g=St?j6:B,G6=O5+(te<<2)|0,e[G6>>2]=g,e9=te+1|0,ge=(e9|0)==(E6|0),ge){ie=O5;break}else te=e9;return C=e4,ie|0}function F8(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0;if($0=C,u=n+1284|0,E=e[u>>2]|0,_=(A|0)!=0,z=(a|0)!=0,l0=_&z,!l0)return Z=0,Z|0;if(Y=E<<2,t0=qt(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-g|0,U=0;;)if(e0=A+(U<<2)|0,q=e[e0>>2]|0,I=q&32767,m=r5(I,W)|0,B=a+(U<<2)|0,p=e[B>>2]|0,S=p&32767,b=r5(S,g)|0,v=m+32768|0,y=v+b|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,L=e[e0>>2]|0,x=L&32768,F=(x|0)==0,F||(M=e[B>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function uS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;if(M6=C,C=C+336|0,R6=M6+64|0,g3=M6+32|0,F3=M6,D=A+1296|0,Q=e[D>>2]|0,h2=A+1284|0,x2=e[h2>>2]|0,A5=n+64|0,s5=e[A5>>2]|0,j5=s5+4|0,u3=e[j5>>2]|0,l3=u3+28|0,A3=e[l3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,s0=(a|0)==0,s0)return U2(t,0,1),L5=n+36|0,e5=e[L5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,Ae(g|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(x2|0)>0,w0)for(M0=Q+832|0,f6=0;O0=a+(f6<<2)|0,u1=e[O0>>2]|0,d1=u1&32767,G1=e[M0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?($2=d1>>>3,U6=$2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,f5=u1&32768,k5=f5|U6,e[O0>>2]=k5,P5=f6+1|0,C6=(P5|0)==(x2|0),!C6;)f6=P5;if(l5=e[a>>2]|0,e[R6>>2]=l5,v2=a+4|0,m5=e[v2>>2]|0,n5=R6+4|0,e[n5>>2]=m5,_2=(x2|0)>2,p2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,R5=(A+1032|0)+(C5<<2)|0,d5=e[R5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,q2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,p5=a+(d5<<2)|0,M1=e[p5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,B5=g5&32767,t5=B5-g2|0,h5=c5-q2|0,Y3=(t5|0)>-1,j6=0-t5|0,J2=Y3?t5:j6,u5=W2-q2|0,i5=r5(J2,u5)|0,x5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-x5|0,m=j2?$5:x5,I=m+g2|0,L2=a+(H3<<2)|0,Q5=e[L2>>2]|0,q5=Q5&32768,E5=(q5|0)!=0,f3=(Q5|0)==(I|0),s9=E5|f3,s9)h3=I|32768,e[L2>>2]=h3,Y5=R6+(H3<<2)|0,e[Y5>>2]=0;else{X5=e[p2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),u=m3?n3:I,F5=Q5-I|0,J5=(F5|0)<0;do if(J5)if(v3=0-u|0,B3=(F5|0)<(v3|0),B3){z3=F5^-1,G3=u+z3|0,D6=G3;break}else{z5=F5<<1,w3=z5^-1,D6=w3;break}else if(W5=(u|0)>(F5|0),W5){L3=F5<<1,D6=L3;break}else{i6=u+F5|0,D6=i6;break}while(!1);U3=R6+(H3<<2)|0,e[U3>>2]=D6,e[p5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(x2|0),Y6)break;H3=C3}S=e[R6>>2]|0,b=e[n5>>2]|0,r6=S,S3=b}else r6=l5,S3=m5;if(U2(t,1,1),H5=A+1308|0,U5=e[H5>>2]|0,O5=U5+1|0,e[H5>>2]=O5,v5=e[p2>>2]|0,P3=v5+-1|0,M5=Tt(P3)|0,o6=M5<<1,e3=A+1304|0,R3=e[e3>>2]|0,u6=R3+o6|0,e[e3>>2]=u6,Q3=e[p2>>2]|0,k3=Q3+-1|0,y3=Tt(k3)|0,U2(t,r6,y3),j3=e[p2>>2]|0,O3=j3+-1|0,V5=Tt(O3)|0,U2(t,S3,V5),L=e[Q>>2]|0,x=(L|0)>0,x)for(F=A+1300|0,D3=0,A6=2;;){if(M=(Q+4|0)+(D3<<2)|0,T=e[M>>2]|0,N=(Q+128|0)+(T<<2)|0,G=e[N>>2]|0,O=(Q+192|0)+(T<<2)|0,z=e[O>>2]|0,Y=1<>2]=0,e[g3+4>>2]=0,e[g3+8>>2]=0,e[g3+12>>2]=0,e[g3+16>>2]=0,e[g3+20>>2]=0,e[g3+24>>2]=0,e[g3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;c0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,u0=e[c0>>2]|0,I0=(u0|0)<0,I0?y=1:(C0=(A3+1824|0)+(u0<<2)|0,v0=e[C0>>2]|0,d0=v0+4|0,p0=e[d0>>2]|0,y=p0),B0=F3+(s3<<2)|0,e[B0>>2]=y,E0=s3+1|0,b0=(E0|0)<(Y|0),b0;)s3=E0;e0=(G|0)>0;e:do if(e0){if(W)for(q3=0,v6=0,a6=0;;)if(K0=g3+(a6<<2)|0,x0=e[K0>>2]|0,Q0=x0<>2]|0,N6=0;;){if(q=F3+(N6<<2)|0,X=e[q>>2]|0,l0=(U|0)<(X|0),l0){n6=N6,M3=31;break}if(Z=N6+1|0,K=(Z|0)<(Y|0),K)N6=Z;else{M3=33;break}}if((M3|0)==31?(M3=0,$0=g3+(d6<<2)|0,e[$0>>2]=n6,r0=n6):(M3|0)==33&&(M3=0,B=g3+(d6<<2)|0,v=e[B>>2]|0,r0=v),i0=r0<>2]|0,F0=t0+(Y0*56|0)|0,_0=Rh(F0,d3,t)|0,N0=e[F>>2]|0,V0=N0+_0|0,e[F>>2]=V0}if(J0=(G|0)>0,J0)for(_3=0;z0=g3+(_3<<2)|0,U0=e[z0>>2]|0,q0=((Q+320|0)+(T<<5)|0)+(U0<<2)|0,r1=e[q0>>2]|0,H0=(r1|0)>-1,H0&&(e1=_3+A6|0,D0=R6+(e1<<2)|0,i1=e[D0>>2]|0,c1=(t0+(r1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(r1*56|0)|0,s1=Rh(l1,i1,t)|0,a1=e[e3>>2]|0,n1=a1+s1|0,e[e3>>2]=n1)),o1=_3+1|0,B6=(o1|0)==(G|0),!B6;)_3=o1;if(Z0=G+A6|0,I1=D3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,A6=Z0;else break}if(E1=e[a>>2]|0,p1=Q+832|0,B1=e[p1>>2]|0,Q1=r5(B1,E1)|0,x1=n+28|0,L1=e[x1>>2]|0,w1=A3+(L1<<2)|0,b1=e[w1>>2]|0,R1=(b1|0)/2&-1,F1=e[h2>>2]|0,v1=(F1|0)>1,v1)for(e6=0,t3=1,Q6=0,I6=Q1;;){if(V1=(A+260|0)+(t3<<2)|0,O1=e[V1>>2]|0,q1=a+(O1<<2)|0,H1=e[q1>>2]|0,Y1=H1&32767,n2=(Y1|0)==(H1|0),n2)if(W1=e[p1>>2]|0,P1=r5(W1,H1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,u2=P1-I6|0,o2=z1-Q6|0,Z3=(u2|0)>-1,G6=0-u2|0,E2=Z3?u2:G6,A2=(u2|0)/(o2|0)&-1,K1=u2>>31,i2=K1|1,l2=r5(A2,o2)|0,b6=(l2|0)>-1,e9=0-l2|0,r2=b6?l2:e9,a2=E2-r2|0,X1=(R1|0)>(z1|0),z6=X1?z1:R1,s2=(z6|0)>(Q6|0),s2&&(f2=g+(Q6<<2)|0,e[f2>>2]=I6),t2=Q6+1|0,y2=(t2|0)<(z6|0),y2)for(d2=t2,S6=0,y6=I6;;)if(k2=S6+a2|0,C2=(k2|0)<(o2|0),F2=C2?0:i2,D2=C2?0:o2,p6=k2-D2|0,p=y6+A2|0,F6=p+F2|0,N2=g+(d2<<2)|0,e[N2>>2]=F6,K2=d2+1|0,c6=(K2|0)==(z6|0),c6){t6=z1,L6=z1,J6=P1;break}else d2=K2,S6=p6,y6=F6;else t6=z1,L6=z1,J6=P1;else t6=e6,L6=Q6,J6=I6;if(G2=t3+1|0,H2=e[h2>>2]|0,M2=(G2|0)<(H2|0),M2)e6=t6,t3=G2,Q6=L6,I6=J6;else{b3=t6,K6=J6;break}}else b3=0,K6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,_1=(b3|0)<(N1|0),_1)O6=b3;else return E=1,C=M6,E|0;for(;;)if(P2=g+(O6<<2)|0,e[P2>>2]=K6,o5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(o5|0)<(T1|0),X2)O6=o5;else{E=1;break}return C=M6,E|0}function cp(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,B=e[t>>2]|0,p=n+-1|0,i0=(t+(p*56|0)|0)+4|0,C0=e[i0>>2]|0,T0=(n|0)>0,T0)for(z0=g+1108|0,g1=+s[z0>>2],i2=0,X1=0,f2=0,w2=0,N2=0,H2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,v1=e[E1>>2]|0,n2=(t+(X1*56|0)|0)+28|0,S=e[n2>>2]|0,T=S+v1|0,q=+(T|0),X=q*g1,U=S+1|0,l0=+(U|0),Z=X/l0,K=Z,$0=K+1,s0=(t+(X1*56|0)|0)+32|0,r0=e[s0>>2]|0,V=+(r0|0),h0=(t+(X1*56|0)|0)+8|0,o0=e[h0>>2]|0,g0=+(o0|0),j=g0*$0,c0=V+w2,u0=c0+j,I0=(t+(X1*56|0)|0)+36|0,w0=e[I0>>2]|0,v0=+(w0|0),d0=(t+(X1*56|0)|0)+12|0,p0=e[d0>>2]|0,B0=+(p0|0),E0=B0*$0,b0=v0+H2,K0=b0+E0,x0=(t+(X1*56|0)|0)+40|0,Q0=e[x0>>2]|0,M0=+(Q0|0),G0=(t+(X1*56|0)|0)+16|0,P0=e[G0>>2]|0,y0=+(P0|0),Y0=y0*$0,F0=M0+f2,_0=F0+Y0,N0=(t+(X1*56|0)|0)+48|0,V0=e[N0>>2]|0,J0=+(V0|0),O0=(t+(X1*56|0)|0)+24|0,U0=e[O0>>2]|0,q0=+(U0|0),r1=q0*$0,H0=J0+N2,e1=H0+r1,D0=+(v1|0),i1=+(S|0),c1=$0*i1,$1=D0+i2,u1=$1+c1,l1=X1+1|0,a2=(l1|0)==(n|0),a2){$2=u1,s2=_0,k2=u0,D2=e1,G2=K0;break}else i2=u1,X1=l1,f2=_0,w2=u0,N2=e1,H2=K0;else $2=0,s2=0,k2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(n1=+(B|0),o1=k2+n1,Z0=+(s1|0),I1=Z0+G2,h1=r5(B,B)|0,m1=+(h1|0),d1=s2+m1,p1=r5(s1,B)|0,B1=+(p1|0),Q1=B1+D2,x1=$2+1,l2=x1,t2=d1,C2=o1,d2=Q1,M2=I1):(l2=$2,t2=s2,C2=k2,d2=D2,M2=G2),L1=e[a>>2]|0,w1=(L1|0)>-1,w1?(b1=+(C0|0),R1=C2+b1,F1=+(L1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=t2+Z1,_1=r5(L1,C0)|0,V1=+(_1|0),O1=V1+d2,q1=l2+1,r2=q1,y2=N1,F2=R1,K2=O1,P2=G1):(r2=l2,y2=t2,F2=C2,K2=d2,P2=M2),H1=y2*r2,Y1=F2*F2,j1=H1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*K2,z1=P1-c2,u2=z1/j1,o2=K2*r2,E2=F2*P2,A2=o2-E2,K1=A2/j1,h2=+(B|0),b=K1*h2,v=b+u2,y=+Oi(v),D=~~y,e[A>>2]=D,Q=+(C0|0),_=K1*Q,L=_+u2,x=+Oi(L),F=~~x,e[a>>2]=F,M=e[A>>2]|0,N=(M|0)>1023,N?(e[A>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=F,W=M),O=(G|0)>1023,O?(e[a>>2]=1023,I=e[A>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[A>>2]=0,m=e[a>>2]|0,t0=m):t0=e0,J=(t0|0)<0,J?(e[a>>2]=0,u=0,u|0):(u=0,u|0)):(e[A>>2]=0,e[a>>2]=0,u=1,u|0)}function fS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0;if(D0=C,E=t+836|0,I=t+840|0,L=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,C0=(i0|0)>0,C0){for(T0=t+4|0,V0=0,H0=-1;;)if(p=T0+(V0<<2)|0,S=e[p>>2]|0,U2(n,S,4),b=e[p>>2]|0,v=(H0|0)<(b|0),A=v?b:H0,y=V0+1|0,D=e[t>>2]|0,Q=(y|0)<(D|0),Q)V0=y,H0=A;else{a=A;break}if(P0=(a|0)>-1,P0)for(y0=t+128|0,Y0=t+192|0,m=t+256|0,B=t+320|0,J0=0;;){if(_=y0+(J0<<2)|0,x=e[_>>2]|0,F=x+-1|0,U2(n,F,3),M=Y0+(J0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(z0=0,e1=8):(O=m+(J0<<2)|0,z=e[O>>2]|0,U2(n,z,8),g=e[M>>2]|0,Y=(g|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(B+(J0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),q=z0+1|0,X=e[M>>2]|0,U=1<>2]|0,s0=$0+-1|0,U2(n,s0,2),r0=L+-1|0,V=Tt(r0)|0,U2(n,V,4),h0=Tt(r0)|0,o0=e[t>>2]|0,g0=(o0|0)>0,!!g0)for(j=t+4|0,c0=t+128|0,G0=o0,F0=0,O0=0,U0=0;;){if(u0=j+(O0<<2)|0,I0=e[u0>>2]|0,w0=c0+(I0<<2)|0,v0=e[w0>>2]|0,d0=v0+F0|0,p0=(U0|0)<(d0|0),p0){for(r1=U0;B0=r1+2|0,E0=E+(B0<<2)|0,b0=e[E0>>2]|0,U2(n,b0,h0),K0=r1+1|0,_0=(K0|0)==(d0|0),!_0;)r1=K0;u=e[t>>2]|0,M0=u,q0=d0}else M0=G0,q0=U0;if(x0=O0+1|0,Q0=(x0|0)<(M0|0),Q0)G0=M0,F0=d0,O0=x0,U0=q0;else break}}function dS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,D=t+28|0,Q=e[D>>2]|0,Y=n4(1,1120)|0,$0=W4(n,5)|0,e[Y>>2]=$0,I0=($0|0)>0;e:do if(I0){for(Q0=Y+4|0,Z1=0,n2=-1;;){if(x=W4(n,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=x,M=(x|0)<0,M)break e;if(T=(n2|0)<(x|0),g=T?x:n2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,n2=g;else{u=g;break}}if(J0=(u|0)>-1,J0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,L=Y+320|0,N1=0;;){if(z=W4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=W4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,q=(W|0)<0,q||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=W4(n,8)|0,l0=F1+(N1<<2)|0,e[l0>>2]=U,Z=U),K=(Z|0)<0,K)||(s0=e[_>>2]|0,i0=(Z|0)<(s0|0),!i0))break e;if(r0=e[e0>>2]|0,V=(r0|0)==31,!V)for(q1=0;;){if(c0=W4(n,8)|0,u0=c0+-1|0,w0=(L+(N1<<5)|0)+(q1<<2)|0,e[w0>>2]=u0,C0=(c0|0)<0,C0||(v0=e[_>>2]|0,d0=(c0|0)>(v0|0),g0=q1+1|0,d0))break e;if(h0=e[e0>>2]|0,o0=1<>2]=b0,x0=W4(n,4)|0,M0=(x0|0)<0,!M0)){if(T0=e[Y>>2]|0,G0=(T0|0)>0,G0)for(P0=Y+4|0,y0=Y+128|0,Y0=Y+836|0,F0=1<>2]|0,V0=y0+(N0<<2)|0,O0=e[V0>>2]|0,z0=O0+U1|0,U0=(z0|0)>63,U0)break e;if(q0=(H1|0)<(z0|0),q0){for(j1=H1;;){if(r1=W4(n,x0)|0,H0=j1+2|0,e1=Y0+(H0<<2)|0,e[e1>>2]=r1,D0=(r1|0)>-1,i1=(r1|0)<(F0|0),W1=D0&i1,!W1)break e;if(c1=j1+1|0,u1=(c1|0)<(z0|0),u1)j1=c1;else{a=c1;break}}p=e[Y>>2]|0,s1=p,Y1=a}else s1=G1,Y1=H1;if(g1=_1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=z0,_1=g1,H1=Y1;else{m=Y0,B=F0,v1=z0;break}}else v=Y+836|0,y=1<>2]=0,a1=Y+840|0,e[a1>>2]=B,n1=v1+2|0,o1=(v1|0)>-2,o1)for(V1=0;Z0=m+(V1<<2)|0,I1=P1+(V1<<2)|0,e[I1>>2]=Z0,h1=V1+1|0,d1=(h1|0)<(n1|0),d1;)V1=h1;Mh(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(S=e[P1>>2]|0,b=e[S>>2]|0,w1=b,O1=1;Q1=P1+(O1<<2)|0,x1=e[Q1>>2]|0,L1=e[x1>>2]|0,b1=(w1|0)==(L1|0),p1=O1+1|0,!b1;)if(B1=(p1|0)<(n1|0),B1)w1=L1,O1=p1;else break t;if(R1=(Y|0)==0,R1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function IS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0;if(R1=C,C=C+272|0,w1=R1,a=n4(1,1312)|0,g=a+1296|0,e[g>>2]=n,D=n+836|0,z=n+840|0,K=e[z>>2]|0,u0=a+1288|0,e[u0>>2]=K,x0=e[n>>2]|0,V0=(x0|0)>0,V0){for(H0=n+4|0,u=n+128|0,g1=0,Q1=0;;)if(E=H0+(g1<<2)|0,I=e[E>>2]|0,m=u+(I<<2)|0,B=e[m>>2]|0,p=B+Q1|0,S=g1+1|0,b=(S|0)<(x0|0),b)g1=S,Q1=p;else{A=p;break}v=A+2|0,y=a+1284|0,e[y>>2]=v,Q=(A|0)>-2,Q?(M=v,B1=A,b1=7):(Mh(w1,v,4,8),p1=A)}else r1=a+1284|0,e[r1>>2]=2,M=2,B1=0,b1=7;if((b1|0)==7){for(l1=0;_=D+(l1<<2)|0,L=w1+(l1<<2)|0,e[L>>2]=_,x=l1+1|0,F=(x|0)<(M|0),F;)l1=x;for(Mh(w1,M,4,8),T=D,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,q=N+(s1<<2)|0,e[q>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,$0=e[Z>>2]|0,s0=O+($0<<2)|0,e[s0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(M|0),r0;)a1=i0;for(l0=a+260|0,n1=0;;)if(V=l0+(n1<<2)|0,h0=e[V>>2]|0,o0=D+(h0<<2)|0,g0=e[o0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=g0,c0=n1+1|0,I0=(c0|0)<(M|0),I0)n1=c0;else{p1=B1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(B0=a+1292|0,e[B0>>2]=64):(C0|0)==2?(d0=a+1292|0,e[d0>>2]=128):(C0|0)==1?(v0=a+1292|0,e[v0>>2]=256):(C0|0)==3&&(p0=a+1292|0,e[p0>>2]=86),E0=(p1|0)>0,!E0)return C=R1,a|0;for(b0=a+1032|0,K0=a+780|0,o1=0;;){for(Q0=o1+2|0,M0=D+(Q0<<2)|0,T0=e[M0>>2]|0,G0=e[u0>>2]|0,D0=1,$1=G0,Z0=0,I1=0,d1=0;;)if(P0=D+(Z0<<2)|0,y0=e[P0>>2]|0,Y0=(y0|0)>(d1|0),F0=(y0|0)<(T0|0),x1=Y0&F0,h1=x1?Z0:I1,E1=x1?y0:d1,_0=(y0|0)<($1|0),N0=(y0|0)>(T0|0),L1=_0&N0,i1=L1?Z0:D0,u1=L1?y0:$1,J0=Z0+1|0,O0=(J0|0)<(Q0|0),O0)D0=i1,$1=u1,Z0=J0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(z0=b0+(o1<<2)|0,e[z0>>2]=m1,U0=K0+(o1<<2)|0,e[U0>>2]=c1,q0=o1+1|0,e1=(q0|0)==(p1|0),e1)break;o1=q0}return C=R1,a|0}function ES(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function mS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function CS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0;if(w2=C,u=n+1296|0,E=e[u>>2]|0,r0=t+64|0,v0=e[r0>>2]|0,G0=v0+4|0,U0=e[G0>>2]|0,l1=U0+28|0,p1=e[l1>>2]|0,U1=p1+2848|0,W1=e[U1>>2]|0,I=t+4|0,L=W4(I,1)|0,J=(L|0)==1,!J)return A=0,A|0;U=n+1284|0,l0=e[U>>2]|0,Z=l0<<2,K=qt(t,Z)|0,$0=n+1292|0,s0=e[$0>>2]|0,i0=s0+-1|0,V=Tt(i0)|0,h0=W4(I,V)|0,e[K>>2]=h0,o0=e[$0>>2]|0,g0=o0+-1|0,j=Tt(g0)|0,c0=W4(I,j)|0,u0=K+4|0,e[u0>>2]=c0,I0=e[E>>2]|0,w0=(I0|0)>0;e:do if(w0){r2=0,s2=2;t:for(;;){if(E0=(E+4|0)+(r2<<2)|0,b0=e[E0>>2]|0,K0=(E+128|0)+(b0<<2)|0,x0=e[K0>>2]|0,Q0=(E+192|0)+(b0<<2)|0,M0=e[Q0>>2]|0,T0=1<>2]|0,F0=W1+(Y0*56|0)|0,_0=jm(F0,I)|0,N0=(_0|0)==-1,N0){A=0,k2=25;break}else i2=_0;if(V0=(x0|0)>0,V0)for(J0=T0+-1|0,l2=i2,f2=0;;){if(O0=l2&J0,z0=((E+320|0)+(b0<<5)|0)+(O0<<2)|0,q0=e[z0>>2]|0,r1=l2>>M0,H0=(q0|0)>-1,H0){if(e1=W1+(q0*56|0)|0,D0=jm(e1,I)|0,i1=f2+s2|0,c1=K+(i1<<2)|0,e[c1>>2]=D0,$1=(D0|0)==-1,$1){A=0,k2=25;break t}}else u1=f2+s2|0,g1=K+(u1<<2)|0,e[g1>>2]=0;if(s1=f2+1|0,a1=(s1|0)<(x0|0),a1)l2=r1,f2=s1;else break}if(n1=x0+s2|0,o1=r2+1|0,Z0=e[E>>2]|0,I1=(o1|0)<(Z0|0),I1)r2=o1,s2=n1;else break e}if((k2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,d0=(C0|0)>2,!d0)return A=K,A|0;for(p0=n+1032|0,B0=n+780|0,a2=2;;){if(h1=a2+-2|0,m1=p0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,B1=e[E1>>2]|0,Q1=B0+(h1<<2)|0,x1=e[Q1>>2]|0,L1=(E+836|0)+(x1<<2)|0,w1=e[L1>>2]|0,b1=K+(d1<<2)|0,R1=e[b1>>2]|0,F1=K+(x1<<2)|0,G1=e[F1>>2]|0,v1=(E+836|0)+(a2<<2)|0,Z1=e[v1>>2]|0,N1=R1&32767,_1=G1&32767,V1=_1-N1|0,O1=w1-B1|0,X1=(V1|0)>-1,t2=0-V1|0,q1=X1?V1:t2,H1=Z1-B1|0,Y1=r5(q1,H1)|0,j1=(Y1|0)/(O1|0)&-1,n2=(V1|0)<0,P1=0-j1|0,g=n2?P1:j1,a=g+N1|0,c2=e[$0>>2]|0,z1=c2-a|0,u2=K+(a2<<2)|0,o2=e[u2>>2]|0,E2=(o2|0)==0,E2)W=a|32768,e[u2>>2]=W;else{A2=(z1|0)<(a|0),K1=A2?z1:a,h2=K1<<1,$2=(o2|0)<(h2|0);do if($2)if(b=o2&1,v=(b|0)==0,v){_=o2>>1,y2=_;break}else{y=o2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){B=o2-a|0,y2=B;break}else{p=o2-z1|0,S=p^-1,y2=S;break}while(!1);x=y2+a|0,F=x&32767,e[u2>>2]=F,M=e[m1>>2]|0,T=K+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=K+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=a2+1|0,q=e[U>>2]|0,X=(e0|0)<(q|0),X)a2=e0;else{A=K;break}}return A|0}function pS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0;if(v1=C,E=n+1296|0,I=e[E>>2]|0,L=t+64|0,J=e[L>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,T0=C0+28|0,z0=e[T0>>2]|0,$1=t+28|0,u1=e[$1>>2]|0,m=z0+(u1<<2)|0,B=e[m>>2]|0,p=(B|0)/2&-1,S=(A|0)==0,S)return c1=p<<2,Ae(a|0,0,c1|0)|0,g=0,g|0;if(b=e[A>>2]|0,v=I+832|0,y=e[v>>2]|0,D=r5(y,b)|0,Q=(D|0)<0,_=(D|0)>255,x=_?255:D,F=Q?0:x,M=n+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=n+260|0,o1=0,m1=1,E1=0,Q1=F;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=A+(W<<2)|0,q=e[e0>>2]|0,X=q&32767,U=(X|0)==(q|0),U)if(l0=(I+836|0)+(W<<2)|0,Z=e[l0>>2]|0,K=r5(y,q)|0,$0=(K|0)<0,s0=(K|0)>255,r0=s0?255:K,V=$0?0:r0,h0=V-Q1|0,o0=Z-E1|0,I1=(h0|0)>-1,L1=0-h0|0,g0=I1?h0:L1,j=(h0|0)/(o0|0)&-1,c0=h0>>31,u0=c0|1,I0=r5(j,o0)|0,h1=(I0|0)>-1,w1=0-I0|0,w0=h1?I0:w1,v0=g0-w0|0,d0=(p|0)>(Z|0),b1=d0?Z:p,p0=(b1|0)>(E1|0),p0&&(B0=1768+(Q1<<2)|0,E0=+s[B0>>2],b0=a+(E1<<2)|0,K0=+s[b0>>2],x0=K0*E0,s[b0>>2]=x0),Q0=E1+1|0,M0=(Q0|0)<(b1|0),M0)for(V0=Q0,g1=0,R1=Q1;;)if(G0=g1+v0|0,P0=(G0|0)<(o0|0),y0=P0?0:u0,Y0=P0?0:o0,l1=G0-Y0|0,u=R1+j|0,F1=u+y0|0,F0=1768+(F1<<2)|0,_0=+s[F0>>2],N0=a+(V0<<2)|0,J0=+s[N0>>2],O0=J0*_0,s[N0>>2]=O0,U0=V0+1|0,a1=(U0|0)==(b1|0),a1){Z0=Z,p1=Z,x1=V;break}else V0=U0,g1=l1,R1=F1;else Z0=Z,p1=Z,x1=V;else Z0=o1,p1=E1,x1=Q1;if(q0=m1+1|0,r1=(q0|0)<(T|0),r1)o1=Z0,m1=q0,E1=p1,Q1=x1;else{n1=Z0,B1=x1;break}}else n1=0,B1=F;if(O=(n1|0)<(p|0),!O)return g=1,g|0;for(z=1768+(B1<<2)|0,Y=+s[z>>2],d1=n1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],D0=e1*Y,s[H0>>2]=D0,i1=d1+1|0,s1=(i1|0)==(p|0),s1){g=1;break}else d1=i1;return g|0}function BS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,g=e[n>>2]|0,u=e[g>>2]|0,E=a-u|0,E|0}function QS(t){t=t|0;var n=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function yS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0;$0=C,g=j$(n|0)|0,u=j$(A|0)|0,Q=g+2|0,Y=Q+u|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,dp(J|0,n|0)|0,Z=j$(J|0)|0,l0=J+Z|0,d[l0>>0]=61,d[l0+1>>0]=0,yQ(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,q=e[e0>>2]|0,X=q<<2,U=X+8|0,E=qi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,B=e[e0>>2]|0,p=B<<2,S=p+8|0,b=qi(m,S)|0,e[I>>2]=b,v=j$(J|0)|0,y=e[e0>>2]|0,D=b+(y<<2)|0,e[D>>2]=v,_=v+1|0,L=S9(_)|0,x=e[t>>2]|0,F=x+(y<<2)|0,e[F>>2]=L,M=e[t>>2]|0,T=M+(y<<2)|0,N=e[T>>2]|0,dp(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=$0}function wS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;if(Y=C,g=(t|0)==0,!g){if(u=e[t>>2]|0,Q=(u|0)==0,!Q){if(L=t+8|0,x=e[L>>2]|0,F=(x|0)>0,F){for(_=x,T=u,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),A=e[L>>2]|0,m=A),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,B=a}else B=u;I2(B)}p=t+4|0,S=e[p>>2]|0,b=(S|0)==0,b||I2(S),v=t+12|0,y=e[v>>2]|0,D=(y|0)==0,D||I2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function vS(t){t=t|0;var n=0,A=0,a=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,n=n4(1,3664)|0,A=t+28|0,e[A>>2]=n}function gp(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;if(p1=C,u=t+28|0,E=e[u>>2]|0,_=(E|0)==0,_){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(t0=E+8|0,s0=e[t0>>2]|0,w0=(s0|0)>0,w0)for(g1=s0,o1=0;n1=(E+32|0)+(o1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?S=g1:(I2(I),n=e[t0>>2]|0,S=n),B=o1+1|0,p=(B|0)<(S|0),p;)g1=S,o1=B;if(M0=E+12|0,O0=e[M0>>2]|0,u1=(O0|0)>0,u1)for(l1=O0,Z0=0;D=(E+544|0)+(Z0<<2)|0,Q=e[D>>2]|0,L=(Q|0)==0,L?Y=l1:(x=(E+288|0)+(Z0<<2)|0,F=e[x>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,eo[G&7](Q),A=e[M0>>2]|0,Y=A),O=Z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,Z0=O;if(b=E+16|0,v=e[b>>2]|0,y=(v|0)>0,y)for(s1=v,I1=0;q=(E+1056|0)+(I1<<2)|0,X=e[q>>2]|0,U=(X|0)==0,U?o0=s1:(l0=(E+800|0)+(I1<<2)|0,Z=e[l0>>2]|0,K=25640+(Z<<2)|0,$0=e[K>>2]|0,i0=$0+12|0,r0=e[i0>>2]|0,eo[r0&7](X),a=e[b>>2]|0,o0=a),V=I1+1|0,h0=(V|0)<(o0|0),h0;)s1=o0,I1=V;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;I0=(E+1568|0)+(h1<<2)|0,C0=e[I0>>2]|0,v0=(C0|0)==0,v0?T0=a1:(d0=(E+1312|0)+(h1<<2)|0,p0=e[d0>>2]|0,B0=25648+(p0<<2)|0,E0=e[B0>>2]|0,b0=E0+12|0,K0=e[b0>>2]|0,eo[K0&7](C0),g=e[J>>2]|0,T0=g),x0=h1+1|0,Q0=(x0|0)<(T0|0),Q0;)a1=T0,h1=x0;if(g0=E+24|0,j=e[g0>>2]|0,c0=(j|0)>0,u0=E+2848|0,c0)for(m1=0;G0=(E+1824|0)+(m1<<2)|0,P0=e[G0>>2]|0,y0=(P0|0)==0,y0||fp(P0),Y0=e[u0>>2]|0,F0=(Y0|0)==0,F0||(_0=Y0+(m1*56|0)|0,nb(_0)),N0=m1+1|0,V0=e[g0>>2]|0,J0=(N0|0)<(V0|0),J0;)m1=N0;if(z0=e[u0>>2]|0,U0=(z0|0)==0,U0||I2(z0),q0=E+28|0,r1=e[q0>>2]|0,H0=(r1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,D0=e[e1>>2]|0,TS(D0),i1=d1+1|0,c1=e[q0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function kS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,B=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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,u=-129,C=W2,u|0;if(c2=B+4|0,r2=e[c2>>2]|0,D2=(r2|0)<1,D2)S5=-129,a5=27;else if(Ap(M1),T1=B+28|0,m5=e[T1>>2]|0,p=(m5|0)==0,p)S5=-130,a5=27;else if(M=e[m5>>2]|0,q=(M|0)<64,q)S5=-130,a5=27;else if(h0=m5+4|0,p0=e[h0>>2]|0,y0=(p0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=B+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=B+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),o1=B+16|0,Z0=e[o1>>2]|0,U2(M1,Z0,32),I1=B+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Tt(d1)|0,U2(M1,E1,4),p1=e[h0>>2]|0,B1=p1+-1|0,x1=Tt(B1)|0,U2(M1,x1,4),U2(M1,1,1),L1=Q1+64|0,w1=e[L1>>2]|0,b1=(w1|0)==0,b1||I2(w1),R1=yt(M1)|0,F1=S9(R1)|0,e[L1>>2]=F1,G1=M1+8|0,v1=e[G1>>2]|0,U1=yt(M1)|0,s4(F1|0,v1|0,U1|0)|0,Z1=e[L1>>2]|0,e[A>>2]=Z1,_1=yt(M1)|0,V1=A+4|0,e[V1>>2]=_1,O1=A+8|0,e[O1>>2]=1,q1=A+12|0,e[q1>>2]=0,e[q1+4>>2]=0,e[q1+8>>2]=0,e[q1+12>>2]=0,e[q1+16>>2]=0,u7(M1),SS(M1,n),H1=Q1+68|0,Y1=e[H1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),n2=yt(M1)|0,W1=S9(n2)|0,e[H1>>2]=W1,P1=e[G1>>2]|0,z1=yt(M1)|0,s4(W1|0,P1|0,z1|0)|0,u2=e[H1>>2]|0,e[a>>2]=u2,o2=yt(M1)|0,E2=a+4|0,e[E2>>2]=o2,A2=a+8|0,K1=a+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=K1,$2=h2,e[$2>>2]=1,i2=h2+4|0,l2=i2,e[l2>>2]=0,u7(M1),a2=e[T1>>2]|0,X1=(a2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),s2=a2+24|0,f2=e[s2>>2]|0,t2=f2+-1|0,U2(M1,t2,8),y2=e[s2>>2]|0,k2=(y2|0)>0,k2)for(q2=0;;){if(N2=(a2+1824|0)+(q2<<2)|0,d2=e[N2>>2]|0,K2=nS(d2,M1)|0,G2=(K2|0)==0,C2=q2+1|0,!G2)break e;if(w2=e[s2>>2]|0,F2=(C2|0)<(w2|0),F2)q2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),H2=a2+16|0,M2=e[H2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[H2>>2]|0,o5=(z2|0)>0,o5)for(I5=0;;){if(O2=(a2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),L5=e[O2>>2]|0,e5=25640+(L5<<2)|0,b5=e[e5>>2]|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5)break e;if(k5=(a2+1056|0)+(I5<<2)|0,P5=e[k5>>2]|0,Cp[Z2&3](P5,M1),l5=I5+1|0,v2=e[H2>>2]|0,n5=(l5|0)<(v2|0),n5)I5=l5;else break}if(x2=a2+20|0,_2=e[x2>>2]|0,p2=_2+-1|0,U2(M1,p2,6),C5=e[x2>>2]|0,R5=(C5|0)>0,R5)for(A5=0;d5=(a2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,S=e[_5>>2]|0,b=e[S>>2]|0,v=(a2+1568|0)+(A5<<2)|0,y=e[v>>2]|0,Cp[b&3](y,M1),D=A5+1|0,Q=e[x2>>2]|0,_=(D|0)<(Q|0),_;)A5=D;if(L=a2+12|0,x=e[L>>2]|0,F=x+-1|0,U2(M1,F,6),T=e[L>>2]|0,N=(T|0)>0,N)for(c5=0;G=(a2+288|0)+(c5<<2)|0,O=e[G>>2]|0,U2(M1,O,16),z=e[G>>2]|0,Y=25664+(z<<2)|0,t0=e[Y>>2]|0,J=e[t0>>2]|0,W=(a2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,DQ[J&1](B,e0,M1),X=c5+1|0,U=e[L>>2]|0,l0=(X|0)<(U|0),l0;)c5=X;if(Z=a2+8|0,K=e[Z>>2]|0,$0=K+-1|0,U2(M1,$0,6),s0=e[Z>>2]|0,i0=(s0|0)>0,i0)for(p5=0;r0=(a2+32|0)+(p5<<2)|0,V=e[r0>>2]|0,o0=e[V>>2]|0,U2(M1,o0,1),g0=e[r0>>2]|0,j=g0+4|0,c0=e[j>>2]|0,U2(M1,c0,16),u0=e[r0>>2]|0,I0=u0+8|0,w0=e[I0>>2]|0,U2(M1,w0,16),C0=e[r0>>2]|0,v0=C0+12|0,d0=e[v0>>2]|0,U2(M1,d0,8),B0=p5+1|0,E0=e[Z>>2]|0,b0=(B0|0)<(E0|0),b0;)p5=B0;return U2(M1,1,1),K0=Q1+72|0,x0=e[K0>>2]|0,Q0=(x0|0)==0,Q0||I2(x0),M0=yt(M1)|0,T0=S9(M0)|0,e[K0>>2]=T0,G0=e[G1>>2]|0,P0=yt(M1)|0,s4(T0|0,G0|0,P0|0)|0,Y0=e[K0>>2]|0,e[g>>2]=Y0,F0=yt(M1)|0,_0=g+4|0,e[_0>>2]=F0,N0=g+8|0,V0=g+24|0,e[N0>>2]=0,e[N0+4>>2]=0,e[N0+8>>2]=0,e[N0+12>>2]=0,J0=V0,O0=J0,e[O0>>2]=2,z0=J0+4|0,U0=z0,e[U0>>2]=0,ap(M1),u=0,C=W2,u|0}while(!1);e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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=L1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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,E=Q1+64|0,I=E,g5=S5),ap(M1),q0=e[I>>2]|0,H0=(q0|0)==0,H0||I2(q0),e1=Q1+68|0,D0=e[e1>>2]|0,i1=(D0|0)==0,i1||I2(D0),c1=Q1+72|0,$1=e[c1>>2]|0,u1=($1|0)==0,u1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,u=g5,C=W2,u|0}function SS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,g=44;E=g+-1|0,I=A+1|0,L=d[A>>0]|0,J=L<<24>>24,U2(t,J,8),q=(E|0)==0,!q;)A=I,g=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),l0=e[X>>2]|0,Z=(l0|0)>0,!Z){U2(t,1,1);return}for(K=n+4|0,$0=0;;){if(m=e[n>>2]|0,B=m+($0<<2)|0,p=e[B>>2]|0,S=(p|0)==0,S)U2(t,0,32);else if(b=e[K>>2]|0,v=b+($0<<2)|0,y=e[v>>2]|0,U2(t,y,32),D=e[K>>2]|0,Q=D+($0<<2)|0,_=e[Q>>2]|0,x=(_|0)==0,!x)for(F=e[n>>2]|0,M=F+($0<<2)|0,T=e[M>>2]|0,a=T,u=_;N=u+-1|0,G=a+1|0,O=d[a>>0]|0,z=O<<24>>24,U2(t,z,8),Y=(N|0)==0,!Y;)a=G,u=N;if(t0=$0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)$0=t0;else break}U2(t,1,1)}function rQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0;if(Y1=C,m=a+1|0,B=m<<3,g=B,F=C,C=C+((1*g|0)+15&-16)|0,e0=a<<3,u=e0,V=C,C=C+((1*u|0)+15&-16)|0,d0=(m|0)==0,d0)N=0;else{for(P0=a;;){if(q0=(P0|0)<(A|0),q0)for(m1=0,R1=P0;;)if(s1=t+(R1<<2)|0,I1=+s[s1>>2],p=I1,S=R1-P0|0,b=t+(S<<2)|0,v=+s[b>>2],y=v,D=y*p,Q=D+m1,_=R1+1|0,b1=(_|0)==(A|0),b1){h1=Q;break}else m1=Q,R1=_;else h1=0;if(L=F+(P0<<3)|0,A1[L>>3]=h1,x=P0+-1|0,M=(P0|0)==0,M)break;P0=x}I=+A1[F>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,Z0=Q1,C=Y1,+Z0;for(;;){if(v1=F1+1|0,Y=E1>3],U=-X,l0=(F1|0)>0,l0){for(U1=0,O1=U;;)if($0=V+(U1<<3)|0,s0=+A1[$0>>3],i0=F1-U1|0,r0=F+(i0<<3)|0,h0=+A1[r0>>3],o0=h0*s0,g0=O1-o0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=g0;break}else U1=j,O1=g0;if(c0=E/E1,u0=V+(F1<<3)|0,A1[u0>>3]=c0,I0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,v0=(I0|0)>1,N1=0;p0=V+(N1<<3)|0,B0=+A1[p0>>3],E0=C0-N1|0,b0=V+(E0<<3)|0,K0=+A1[b0>>3],x0=K0*c0,Q0=x0+B0,A1[p0>>3]=Q0,M0=B0*c0,T0=+A1[b0>>3],G0=T0+M0,A1[b0>>3]=G0,y0=N1+1|0,Y0=(y0|0)<(I0|0),Y0;)N1=y0;q1=v0?I0:1,O0=c0,Z1=q1}else O0=c0,Z1=0}else Z=U/E1,K=V+(F1<<3)|0,A1[K>>3]=Z,O0=Z,Z1=0;if(F0=F1&1,_0=(F0|0)==0,_0||(N0=V+(Z1<<3)|0,V0=+A1[N0>>3],J0=V0*O0,z0=J0+V0,A1[N0>>3]=z0),U0=O0*O0,r1=1-U0,H0=r1*E1,e1=(v1|0)<(a|0),e1)E1=H0,F1=v1;else{B1=H0;break}}if((H1|0)==8&&(t0=V+(G1<<3)|0,J=a-G1|0,W=J<<3,Ae(t0|0,0,W|0)|0,B1=p1),z)d1=.99,_1=0;else return Q1=B1,Z0=Q1,C=Y1,+Z0;for(;D0=V+(_1<<3)|0,i1=+A1[D0>>3],c1=i1*d1,A1[D0>>3]=c1,$1=d1*.99,u1=_1+1|0,L1=(u1|0)==(a|0),!L1;)d1=$1,_1=u1;if(z)V1=0;else return Q1=B1,Z0=Q1,C=Y1,+Z0;for(;;)if(g1=V+(V1<<3)|0,l1=+A1[g1>>3],a1=l1,n1=n+(V1<<2)|0,s[n1>>2]=a1,o1=V1+1|0,x1=(o1|0)==(a|0),x1){Q1=B1;break}else V1=o1;return Z0=Q1,C=Y1,+Z0}function nQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0;if(K=C,I=g+A|0,m=I<<2,u=m,x=C,C=C+((1*u|0)+15&-16)|0,M=(n|0)==0,T=(A|0)>0,M?T&&(G=A<<2,Ae(x|0,0,G|0)|0):T&&(N=A<<2,s4(x|0,n|0,N|0)|0),O=(g|0)>0,!O){C=K;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=g<<2,Ae(x|0,0,Y|0)|0,Ae(a|0,0,Y|0)|0,C=K;return}for(;;){for(X=W,U=A,l0=0;;)if(b=X+1|0,v=x+(X<<2)|0,y=+s[v>>2],D=U+-1|0,Q=t+(D<<2)|0,_=+s[Q>>2],L=_*y,F=l0-L,t0=(b|0)==(e0|0),t0){E=F;break}else X=b,U=D,l0=F;if(B=x+(e0<<2)|0,s[B>>2]=E,p=a+(W<<2)|0,s[p>>2]=E,S=W+1|0,q=e0+1|0,J=(S|0)==(g|0),J)break;W=S,e0=q}C=K}function bS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0;if(b0=C,g=e[n>>2]|0,u=(g|0)>1,u?(U2(A,1,1),Q=e[n>>2]|0,Y=Q+-1|0,U2(A,Y,4)):U2(A,0,1),$0=n+1156|0,u0=e[$0>>2]|0,I0=(u0|0)>0,I0){if(U2(A,1,1),w0=e[$0>>2]|0,C0=w0+-1|0,U2(A,C0,8),v0=e[$0>>2]|0,E=(v0|0)>0,E)for(I=n+1160|0,m=t+4|0,B=n+2184|0,d0=0;p=I+(d0<<2)|0,S=e[p>>2]|0,b=e[m>>2]|0,v=b+-1|0,y=Tt(v)|0,U2(A,S,y),D=B+(d0<<2)|0,_=e[D>>2]|0,L=e[m>>2]|0,x=L+-1|0,F=Tt(x)|0,U2(A,_,F),M=d0+1|0,T=e[$0>>2]|0,N=(M|0)<(T|0),N;)d0=M}else U2(A,0,1);if(U2(A,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,p0=0;l0=W+(p0<<2)|0,Z=e[l0>>2]|0,U2(A,Z,4),K=p0+1|0,s0=e[z>>2]|0,i0=(K|0)<(s0|0),i0;)p0=K;a=e[n>>2]|0,e0=a,E0=13}}else e0=G,E0=13;if(!((E0|0)==13&&(q=(e0|0)>0,!q)))for(X=n+1028|0,U=n+1092|0,B0=0;U2(A,0,8),r0=X+(B0<<2)|0,V=e[r0>>2]|0,U2(A,V,8),h0=U+(B0<<2)|0,o0=e[h0>>2]|0,U2(A,o0,8),g0=B0+1|0,j=e[n>>2]|0,c0=(g0|0)<(j|0),c0;)B0=g0}function DS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,g=n4(1,3208)|0,u=t+28|0,Q=e[u>>2]|0,Ae(g|0,0,3208)|0,Y=t+4|0,$0=e[Y>>2]|0,I0=($0|0)<1;e:do if(I0)a1=24;else if(Q0=W4(n,1)|0,J0=(Q0|0)<0,J0)a1=24;else{if(H0=(Q0|0)==0,H0)e[g>>2]=1;else if(e1=W4(n,4)|0,E=e1+1|0,e[g>>2]=E,I=(e1|0)<0,I)break;if(m=W4(n,1)|0,B=(m|0)<0,!B){if(p=(m|0)==0,!p){if(S=W4(n,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,y=(S|0)<0,y)break;for(D=g+1160|0,_=g+2184|0,a=e[Y>>2]|0,T=a,D0=0;;){if(M=T+-1|0,N=Tt(M)|0,G=W4(n,N)|0,O=D+(D0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Tt(t0)|0,W=W4(n,J)|0,e0=_+(D0<<2)|0,e[e0>>2]=W,q=W|G,X=(q|0)<0,U=(G|0)==(W|0),$1=U|X,$1||(l0=e[Y>>2]|0,Z=(G|0)<(l0|0),K=(W|0)<(l0|0),u1=Z&K,x=D0+1|0,!u1))break e;if(L=e[v>>2]|0,F=(x|0)<(L|0),F)T=l0,D0=x;else break}}if(s0=W4(n,2)|0,i0=(s0|0)==0,i0){if(r0=e[g>>2]|0,V=(r0|0)>1,V){if(h0=e[Y>>2]|0,o0=(h0|0)>0,o0)for(g0=g+4|0,i1=0;;){if(E0=W4(n,4)|0,b0=g0+(i1<<2)|0,e[b0>>2]=E0,K0=e[g>>2]|0,x0=(E0|0)>=(K0|0),M0=(E0|0)<0,g1=M0|x0,p0=i1+1|0,g1)break e;if(d0=e[Y>>2]|0,B0=(p0|0)<(d0|0),B0)i1=p0;else{j=K0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&(c0=(j|0)>0,!c0))return A=g,A|0;for(u0=g+1028|0,w0=Q+16|0,C0=g+1092|0,v0=Q+20|0,c1=0;;){if(W4(n,8)|0,y0=W4(n,8)|0,Y0=u0+(c1<<2)|0,e[Y0>>2]=y0,F0=e[w0>>2]|0,_0=(y0|0)>=(F0|0),N0=(y0|0)<0,l1=N0|_0,l1||(V0=W4(n,8)|0,O0=C0+(c1<<2)|0,e[O0>>2]=V0,z0=e[v0>>2]|0,U0=(V0|0)>=(z0|0),q0=(V0|0)<0,s1=q0|U0,G0=c1+1|0,s1))break e;if(T0=e[g>>2]|0,P0=(G0|0)<(T0|0),P0)c1=G0;else{A=g;break}}return A|0}}}while(!1);return(a1|0)==24&&(r1=(g|0)==0,r1)?(A=0,A|0):(I2(g),A=0,A|0)}function _S(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function xS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,Z8=0,gt=0,ht=0,M8=0,T8=0,N8=0,G8=0,W8=0,j8=0,vt=0,U8=0,P8=0,O8=0,v8=0,k8=0,f8=0,q8=0,H8=0,X8=0,et=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,tt=0,St=0,ie=0,it=0,Y8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,rt=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,J8=0,dt=0,nt=0,st=0,V8=0,ot=0,K8=0,a8=0,$8=0,_8=0,H4=0,At=0,x8=0,Je=0,B9=0,at=0,Ve=0,Nt=0,Ht=0,bt=0,$t=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,z8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0,Et=0,Rt=0,jr=0,Er=0,to=0,On=0,io=0,qn=0,ro=0,no=0,Hn=0,so=0,Xr=0,oo=0,Ao=0,ao=0,Yn=0,$o=0,Jn=0,Vn=0,lo=0,en=0,Kn=0,tn=0,zn=0,Zn=0,co=0,go=0,ho=0,rn=0,Wn=0,uo=0,mr=0,nn=0,fo=0,Io=0,sn=0,ui=0,jn=0,Eo=0,mo=0,Xn=0,es=0,ts=0,Co=0,fi=0,on=0,po=0,is=0,Bo=0,Qo=0,yo=0,rs=0,wo=0,vo=0,ko=0,So=0,ns=0,bo=0,Do=0,An=0,Cr=0,an=0,_o=0,ji=0,xo=0,ss=0,$n=0,os=0,ln=0,Lo=0,As=0,as=0,Ro=0,$s=0,ls=0,Fo=0,pr=0,cs=0,di=0,cn=0,Br=0,Xi=0,Qr=0,Hi=0,yr=0,gs=0,Yi=0,vi=0,ki=0,j7=0,Si=0,wr=0,er=0,tr=0,vr=0,Ii=0,Mo=0,l7=0,el=0,gn=0,hn=0;if(gn=C,_=t+64|0,L=e[_>>2]|0,i2=L+4|0,O3=e[i2>>2]|0,_4=O3+28|0,H4=e[_4>>2]|0,fo=L+104|0,fi=e[fo>>2]|0,So=t+104|0,$n=e[So>>2]|0,x=t+36|0,W=e[x>>2]|0,r0=O3+4|0,v0=e[r0>>2]|0,G0=v0<<2,a=G0,U0=C,C=C+((1*a|0)+15&-16)|0,l1=qt(t,G0)|0,p1=e[r0>>2]|0,U1=p1<<2,W1=qt(t,U1)|0,l2=e[r0>>2]|0,F2=l2<<2,O2=qt(t,F2)|0,v2=$n+4|0,_5=+s[v2>>2],g2=e[r0>>2]|0,L2=g2<<2,g=L2,F5=C,C=C+((1*g|0)+15&-16)|0,L3=$n+8|0,M5=e[L3>>2]|0,V5=t+28|0,c6=e[V5>>2]|0,Y3=(H4+544|0)+(c6<<2)|0,n6=e[Y3>>2]|0,R6=fi+56|0,u9=e[R6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,D=A4+M5|0,a4=u9+(D*52|0)|0,U4=t+40|0,e[U4>>2]=c6,$e=(g2|0)>0,$e)for(l4=+(W|0),J3=4/l4,ht=(s[B2>>2]=J3,e[B2>>2]|0),v8=(W|0)/2&-1,S8=v8<<2,b8=ht&2147483647,o8=+(b8>>>0),Q4=o8*7177114298428933e-22,Ye=Q4+-764.6162109375,At=Ye,se=At+.345,r7=se,n7=fi+4|0,Y7=t+24|0,hi=t+32|0,Pt=r7+-764.6162109375,jr=W+-1|0,oo=(jr|0)>1,zn=r7+-382.30810546875,yr=_5,Yi=0;;){if(Io=e[t>>2]|0,sn=Io+(Yi<<2)|0,ui=e[sn>>2]|0,jn=qt(t,S8)|0,Eo=W1+(Yi<<2)|0,e[Eo>>2]=jn,mo=qt(t,S8)|0,Xn=l1+(Yi<<2)|0,e[Xn>>2]=mo,es=e[Y7>>2]|0,ts=e[V5>>2]|0,Co=e[hi>>2]|0,gb(ui,n7,H4,es,ts,Co),on=e[V5>>2]|0,po=(fi+12|0)+(on<<2)|0,is=e[po>>2]|0,Bo=e[is>>2]|0,Qo=e[Xn>>2]|0,sQ(Bo,ui,Qo),yo=e[V5>>2]|0,rs=(fi+20|0)+(yo*12|0)|0,Ab(rs,ui),wo=e[ui>>2]|0,vo=wo&2147483647,ko=+(vo>>>0),ns=ko*7177114298428933e-22,bo=Pt+ns,Do=bo,An=Do+.345,Cr=An,s[ui>>2]=Cr,an=F5+(Yi<<2)|0,s[an>>2]=Cr,oo)for(O=Cr,wr=1;;)if(_o=ui+(wr<<2)|0,ji=+s[_o>>2],xo=ji*ji,ss=wr+1|0,os=ui+(ss<<2)|0,ln=+s[os>>2],Lo=ln*ln,As=Lo+xo,as=(s[B2>>2]=As,e[B2>>2]|0),Ro=as&2147483647,$s=+(Ro>>>0),ls=$s*35885571492144663e-23,Fo=zn+ls,pr=Fo,F=pr+.345,M=F,T=ss>>1,N=ui+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[an>>2]=M,mr=M):mr=O,z=wr+2|0,Y=(z|0)<(jr|0),Y)O=mr,wr=z;else{J=mr;break}else J=Cr;if(t0=J>0,t0?(s[an>>2]=0,q=0):q=J,e0=q>yr,gs=e0?q:yr,X=Yi+1|0,U=e[r0>>2]|0,l0=(X|0)<(U|0),l0)yr=gs,Yi=X;else{B=S8,S=v8,Hi=gs;break}}else b=(W|0)/2&-1,v=b<<2,B=v,S=b,Hi=_5;Z=qt(t,B)|0,K=qt(t,B)|0,$0=e[r0>>2]|0,s0=($0|0)>0;e:do if(s0){if(i0=(W|0)>1,V=fi+48|0,i0)ki=0;else{for(vi=0;;){t6=(n6+4|0)+(vi<<2)|0,f6=e[t6>>2]|0,H3=l1+(vi<<2)|0,D3=e[H3>>2]|0,Z3=e[t>>2]|0,b6=Z3+(vi<<2)|0,A6=e[b6>>2]|0,t3=A6+(S<<2)|0,e[U4>>2]=c6,O6=qt(t,60)|0,s3=O2+(vi<<2)|0,e[s3>>2]=O6,l7=O6,hn=l7+60|0;do e[l7>>2]=0,l7=l7+4|0;while((l7|0)<(hn|0));if($Q(a4,t3,Z),a6=F5+(vi<<2)|0,d6=+s[a6>>2],lQ(a4,A6,K,Hi,d6),W$(a4,Z,K,1,A6,D3,t3),_3=(n6+1028|0)+(f6<<2)|0,N6=e[_3>>2]|0,Q6=(H4+800|0)+(N6<<2)|0,L6=e[Q6>>2]|0,K6=(L6|0)==1,!K6){A=-1;break}if(I6=e[V>>2]|0,J6=I6+(N6<<2)|0,F3=e[J6>>2]|0,j6=Z$(t,F3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=j6,s9=Lh(t)|0,U6=(s9|0)==0,U6||(D6=e[s3>>2]|0,z6=D6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(W$(a4,Z,K,2,A6,D3,t3),M3=e[_3>>2]|0,M6=e[V>>2]|0,t9=M6+(M3<<2)|0,A9=e[t9>>2]|0,X6=Z$(t,A9,t3,A6)|0,f9=e[s3>>2]|0,d9=f9+56|0,e[d9>>2]=X6,W$(a4,Z,K,0,A6,D3,t3),a9=e[_3>>2]|0,$9=e[V>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=Z$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[_3>>2]|0,I9=e[V>>2]|0,o4=I9+(N9<<2)|0,h4=e[o4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,b9=G9+28|0,E9=e[b9>>2]|0,q6=F8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=q6,S4=e[_3>>2]|0,y9=e[V>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,x4=e[s3>>2]|0,M4=e[x4>>2]|0,j4=x4+28|0,C4=e[j4>>2]|0,T4=F8(t,D4,M4,C4,18724)|0,U9=e[s3>>2]|0,N4=U9+8|0,e[N4>>2]=T4,L4=e[_3>>2]|0,u4=e[V>>2]|0,Ce=u4+(L4<<2)|0,q9=e[Ce>>2]|0,m9=e[s3>>2]|0,pe=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,G4=F8(t,q9,pe,Xe,28086)|0,Ge=e[s3>>2]|0,X4=Ge+12|0,e[X4>>2]=G4,be=e[_3>>2]|0,e8=e[V>>2]|0,Z9=e8+(be<<2)|0,ae=e[Z9>>2]|0,f4=e[s3>>2]|0,_6=e[f4>>2]|0,P4=f4+28|0,R9=e[P4>>2]|0,$4=F8(t,ae,_6,R9,37449)|0,W9=e[s3>>2]|0,le=W9+16|0,e[le>>2]=$4,ce=e[_3>>2]|0,p4=e[V>>2]|0,ee=p4+(ce<<2)|0,R4=e[ee>>2]|0,ge=e[s3>>2]|0,C9=e[ge>>2]|0,g6=ge+28|0,Ue=e[g6>>2]|0,Be=F8(t,R4,C9,Ue,46811)|0,B4=e[s3>>2]|0,c4=B4+20|0,e[c4>>2]=Be,P6=e[_3>>2]|0,De=e[V>>2]|0,_e=De+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,v4=e[g4>>2]|0,u8=g4+28|0,w9=e[u8>>2]|0,p9=F8(t,t8,v4,w9,56173)|0,F4=e[s3>>2]|0,te=F4+24|0,e[te>>2]=p9,lt=e[_3>>2]|0,xe=e[V>>2]|0,ct=xe+(lt<<2)|0,wt=e[ct>>2]|0,Z8=e[s3>>2]|0,gt=Z8+28|0,M8=e[gt>>2]|0,T8=Z8+56|0,N8=e[T8>>2]|0,G8=F8(t,wt,M8,N8,9362)|0,W8=e[s3>>2]|0,j8=W8+32|0,e[j8>>2]=G8,vt=e[_3>>2]|0,U8=e[V>>2]|0,P8=U8+(vt<<2)|0,O8=e[P8>>2]|0,k8=e[s3>>2]|0,f8=k8+28|0,q8=e[f8>>2]|0,H8=k8+56|0,X8=e[H8>>2]|0,et=F8(t,O8,q8,X8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=et,Le=e[_3>>2]|0,i8=e[V>>2]|0,v9=i8+(Le<<2)|0,ut=e[v9>>2]|0,Qe=e[s3>>2]|0,ft=Qe+28|0,kt=e[ft>>2]|0,tt=Qe+56|0,St=e[tt>>2]|0,ie=F8(t,ut,kt,St,28086)|0,it=e[s3>>2]|0,Y8=it+40|0,e[Y8>>2]=ie,r8=e[_3>>2]|0,O4=e[V>>2]|0,Re=O4+(r8<<2)|0,n8=e[Re>>2]|0,I8=e[s3>>2]|0,D8=I8+28|0,he=e[D8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=F8(t,n8,he,s8,37449)|0,m8=e[s3>>2]|0,ue=m8+44|0,e[ue>>2]=E8,ye=e[_3>>2]|0,Oe=e[V>>2]|0,qe=Oe+(ye<<2)|0,X9=e[qe>>2]|0,Fe=e[s3>>2]|0,fe=Fe+28|0,A8=e[fe>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,rt=F8(t,X9,A8,C8,46811)|0,q4=e[s3>>2]|0,I3=q4+48|0,e[I3>>2]=rt,He=e[_3>>2]|0,p8=e[V>>2]|0,re=p8+(He<<2)|0,H9=e[re>>2]|0,ne=e[s3>>2]|0,D9=ne+28|0,J8=e[D9>>2]|0,dt=ne+56|0,nt=e[dt>>2]|0,st=F8(t,H9,J8,nt,56173)|0,V8=e[s3>>2]|0,ot=V8+52|0,e[ot>>2]=st)),K8=vi+1|0,a8=e[r0>>2]|0,$8=(K8|0)<(a8|0),$8)vi=K8;else{p=V,x8=a8;break e}}return C=gn,A|0}for(;;){x6=(n6+4|0)+(ki<<2)|0,I0=e[x6>>2]|0,Y6=l1+(ki<<2)|0,c0=e[Y6>>2]|0,C6=e[t>>2]|0,b3=C6+(ki<<2)|0,j=e[b3>>2]|0,h0=j+(S<<2)|0,e[U4>>2]=c6,e6=qt(t,60)|0,Q0=O2+(ki<<2)|0,e[Q0>>2]=e6,l7=e6,hn=l7+60|0;do e[l7>>2]=0,l7=l7+4|0;while((l7|0)<(hn|0));for(er=0;j3=c0+(er<<2)|0,S3=e[j3>>2]|0,g3=S3&2147483647,q3=+(g3>>>0),l6=q3*7177114298428933e-22,d3=l6+-764.6162109375,v6=d3,k6=v6+.345,S6=k6,Q=er+S|0,p6=j+(Q<<2)|0,s[p6>>2]=S6,X3=er+1|0,B6=(X3|0)<(S|0),B6;)er=X3;if($Q(a4,h0,Z),o0=F5+(ki<<2)|0,g0=+s[o0>>2],lQ(a4,j,K,Hi,g0),W$(a4,Z,K,1,j,c0,h0),u0=(n6+1028|0)+(I0<<2)|0,w0=e[u0>>2]|0,C0=(H4+800|0)+(w0<<2)|0,d0=e[C0>>2]|0,p0=(d0|0)==1,!p0){A=-1;break}if(B0=e[V>>2]|0,E0=B0+(w0<<2)|0,b0=e[E0>>2]|0,K0=Z$(t,b0,h0,j)|0,x0=e[Q0>>2]|0,M0=x0+28|0,e[M0>>2]=K0,T0=Lh(t)|0,P0=(T0|0)==0,P0||(y0=e[Q0>>2]|0,Y0=y0+28|0,F0=e[Y0>>2]|0,_0=(F0|0)==0,_0||(W$(a4,Z,K,2,j,c0,h0),N0=e[u0>>2]|0,V0=e[V>>2]|0,J0=V0+(N0<<2)|0,O0=e[J0>>2]|0,z0=Z$(t,O0,h0,j)|0,q0=e[Q0>>2]|0,r1=q0+56|0,e[r1>>2]=z0,W$(a4,Z,K,0,j,c0,h0),H0=e[u0>>2]|0,e1=e[V>>2]|0,D0=e1+(H0<<2)|0,i1=e[D0>>2]|0,c1=Z$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,u1=e[u0>>2]|0,g1=e[V>>2]|0,s1=g1+(u1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,o1=e[n1>>2]|0,Z0=n1+28|0,I1=e[Z0>>2]|0,h1=F8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[u0>>2]|0,B1=e[V>>2]|0,Q1=B1+(E1<<2)|0,x1=e[Q1>>2]|0,L1=e[Q0>>2]|0,w1=e[L1>>2]|0,b1=L1+28|0,R1=e[b1>>2]|0,F1=F8(t,x1,w1,R1,18724)|0,G1=e[Q0>>2]|0,v1=G1+8|0,e[v1>>2]=F1,Z1=e[u0>>2]|0,N1=e[V>>2]|0,_1=N1+(Z1<<2)|0,V1=e[_1>>2]|0,O1=e[Q0>>2]|0,q1=e[O1>>2]|0,H1=O1+28|0,Y1=e[H1>>2]|0,j1=F8(t,V1,q1,Y1,28086)|0,n2=e[Q0>>2]|0,P1=n2+12|0,e[P1>>2]=j1,c2=e[u0>>2]|0,z1=e[V>>2]|0,u2=z1+(c2<<2)|0,o2=e[u2>>2]|0,E2=e[Q0>>2]|0,A2=e[E2>>2]|0,K1=E2+28|0,h2=e[K1>>2]|0,$2=F8(t,o2,A2,h2,37449)|0,r2=e[Q0>>2]|0,a2=r2+16|0,e[a2>>2]=$2,X1=e[u0>>2]|0,s2=e[V>>2]|0,f2=s2+(X1<<2)|0,t2=e[f2>>2]|0,y2=e[Q0>>2]|0,k2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=F8(t,t2,k2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,K2=e[u0>>2]|0,G2=e[V>>2]|0,H2=G2+(K2<<2)|0,M2=e[H2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=F8(t,M2,z2,T1,56173)|0,L5=e[Q0>>2]|0,e5=L5+24|0,e[e5>>2]=X2,b5=e[u0>>2]|0,Z2=e[V>>2]|0,f5=Z2+(b5<<2)|0,k5=e[f5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,x2=e[n5>>2]|0,_2=F8(t,k5,m5,x2,9362)|0,p2=e[Q0>>2]|0,C5=p2+32|0,e[C5>>2]=_2,R5=e[u0>>2]|0,d5=e[V>>2]|0,D5=d5+(R5<<2)|0,G5=e[D5>>2]|0,q2=e[Q0>>2]|0,I5=q2+28|0,A5=e[I5>>2]|0,c5=q2+56|0,p5=e[c5>>2]|0,M1=F8(t,G5,A5,p5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[u0>>2]|0,W2=e[V>>2]|0,B5=W2+(a5<<2)|0,t5=e[B5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,u5=s5+56|0,i5=e[u5>>2]|0,x5=F8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=x5,Q5=e[u0>>2]|0,q5=e[V>>2]|0,j5=q5+(Q5<<2)|0,E5=e[j5>>2]|0,f3=e[Q0>>2]|0,h3=f3+28|0,Y5=e[h3>>2]|0,X5=f3+56|0,n3=e[X5>>2]|0,m3=F8(t,E5,Y5,n3,37449)|0,J5=e[Q0>>2]|0,v3=J5+44|0,e[v3>>2]=m3,u3=e[u0>>2]|0,B3=e[V>>2]|0,z3=B3+(u3<<2)|0,G3=e[z3>>2]|0,z5=e[Q0>>2]|0,w3=z5+28|0,W5=e[w3>>2]|0,i6=z5+56|0,U3=e[i6>>2]|0,a3=F8(t,G3,W5,U3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[u0>>2]|0,H5=e[V>>2]|0,U5=H5+(C3<<2)|0,O5=e[U5>>2]|0,v5=e[Q0>>2]|0,P3=v5+28|0,o6=e[P3>>2]|0,e3=v5+56|0,A3=e[e3>>2]|0,R3=F8(t,O5,o6,A3,56173)|0,u6=e[Q0>>2]|0,Q3=u6+52|0,e[Q3>>2]=R3)),k3=ki+1|0,y3=e[r0>>2]|0,r6=(k3|0)<(y3|0),r6)ki=k3;else{p=V,x8=y3;break e}}return C=gn,A|0}else y=fi+48|0,p=y,x8=$0;while(!1);for(s[v2>>2]=Hi,_8=x8<<2,u=_8,Je=C,C=C+((1*u|0)+15&-16)|0,E=_8,B9=C,C=C+((1*E|0)+15&-16)|0,at=Lh(t)|0,Ve=(at|0)!=0,Nt=Ve?0:7,Ht=fi+44|0,bt=t+24|0,$t=t+32|0,Dt=H4+2868|0,Gt=fi+52|0,Ii=Nt;;){if(Yt=($n+12|0)+(Ii<<2)|0,l8=e[Yt>>2]|0,U2(l8,0,1),L8=e[Ht>>2]|0,U2(l8,c6,L8),_t=e[V5>>2]|0,z8=(_t|0)==0,z8||(Me=e[bt>>2]|0,U2(l8,Me,1),de=e[$t>>2]|0,U2(l8,de,1)),e4=e[r0>>2]|0,xt=(e4|0)>0,xt)for(j7=0;;)if(G7=(n6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Jt=(n6+1028|0)+(U7<<2)|0,I7=e[Jt>>2]|0,Vt=e[p>>2]|0,E7=Vt+(I7<<2)|0,Kt=e[E7>>2]|0,m7=O2+(j7<<2)|0,$i=e[m7>>2]|0,O7=$i+(Ii<<2)|0,C7=e[O7>>2]|0,p7=uS(l8,t,Kt,C7,d7)|0,li=U0+(j7<<2)|0,e[li>>2]=p7,B7=j7+1|0,s7=e[r0>>2]|0,ci=(B7|0)<(s7|0),ci)j7=B7;else{I=s7;break}else I=e4;if(q7=e[V5>>2]|0,H7=((H4+3240|0)+(q7*60|0)|0)+(Ii<<2)|0,J7=e[H7>>2]|0,US(Ii,Dt,a4,n6,l1,W1,U0,J7,I),o7=e[n6>>2]|0,Q7=(o7|0)>0,Q7)for(Si=0;;){if(V7=(n6+1092|0)+(Si<<2)|0,zt=e[V7>>2]|0,A7=e[r0>>2]|0,Ut=(A7|0)>0,Ut)for(nn=A7,di=0,tr=0;;)if(Zt=(n6+4|0)+(tr<<2)|0,gi=e[Zt>>2]|0,K7=(gi|0)==(Si|0),K7?(y7=B9+(di<<2)|0,z7=U0+(tr<<2)|0,w7=e[z7>>2]|0,Mo=(w7|0)!=0,n=Mo&1,e[y7>>2]=n,v7=W1+(tr<<2)|0,Z7=e[v7>>2]|0,k7=di+1|0,Wt=Je+(di<<2)|0,e[Wt>>2]=Z7,m=e[r0>>2]|0,a7=m,cn=k7):(a7=nn,cn=di),S7=tr+1|0,W7=(S7|0)<(a7|0),W7)nn=a7,di=cn,tr=S7;else{cs=cn;break}else cs=0;if(b7=(H4+1312|0)+(zt<<2)|0,ve=e[b7>>2]|0,D7=25648+(ve<<2)|0,Lt=e[D7>>2]|0,$7=Lt+20|0,n9=e[$7>>2]|0,It=e[Gt>>2]|0,B8=It+(zt<<2)|0,Et=e[B8>>2]|0,Rt=pp[n9&7](t,Et,Je,B9,cs)|0,Er=e[r0>>2]|0,to=(Er|0)>0,to)for(Xi=0,vr=0;;)if(On=(n6+4|0)+(vr<<2)|0,io=e[On>>2]|0,qn=(io|0)==(Si|0),qn?(ro=W1+(vr<<2)|0,no=e[ro>>2]|0,Hn=Xi+1|0,so=Je+(Xi<<2)|0,e[so>>2]=no,Qr=Hn):Qr=Xi,Xr=vr+1|0,Ao=(Xr|0)<(Er|0),Ao)Xi=Qr,vr=Xr;else{Br=Qr;break}else Br=0;if(ao=e[b7>>2]|0,Yn=25648+(ao<<2)|0,$o=e[Yn>>2]|0,Jn=$o+24|0,Vn=e[Jn>>2]|0,lo=e[Gt>>2]|0,en=lo+(zt<<2)|0,Kn=e[en>>2]|0,_Q[Vn&3](l8,t,Kn,Je,B9,Br,Rt,Si)|0,tn=Si+1|0,Zn=e[n6>>2]|0,co=(tn|0)<(Zn|0),co)Si=tn;else break}if(go=Ii+1|0,ho=Lh(t)|0,rn=(ho|0)!=0,Wn=rn?14:7,uo=(Ii|0)<(Wn|0),uo)Ii=go;else{A=0;break}}return C=gn,A|0}function LS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0;if(L2=C,b=t+64|0,v=e[b>>2]|0,m1=v+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,y2=v+104|0,M2=e[y2>>2]|0,f5=t+28|0,R5=e[f5>>2]|0,y=K1+(R5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,c0=F1+4|0,K0=e[c0>>2]|0,N0=K0<<2,g=N0,i1=C,C=C+((1*g|0)+15&-16)|0,u=N0,Z0=C,C=C+((1*u|0)+15&-16)|0,E=N0,I1=C,C=C+((1*E|0)+15&-16)|0,I=N0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[c0>>2]|0,E1=(d1|0)>0,E1)for(p1=n+4|0,B1=n+1028|0,Q1=M2+48|0,x1=O<<1,L1=x1&2147483646,W2=0;;)if(U1=p1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=B1+(Z1<<2)|0,_1=e[N1>>2]|0,V1=(K1+800|0)+(_1<<2)|0,O1=e[V1>>2]|0,q1=25640+(O1<<2)|0,H1=e[q1>>2]|0,j1=H1+20|0,n2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(_1<<2)|0,c2=e[P1>>2]|0,z1=f7[n2&15](t,c2)|0,u2=h1+(W2<<2)|0,e[u2>>2]=z1,o2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[o2>>2]=A,E2=e[t>>2]|0,A2=E2+(W2<<2)|0,h2=e[A2>>2]|0,Ae(h2|0,0,L1|0)|0,$2=W2+1|0,i2=e[c0>>2]|0,l2=($2|0)<(i2|0),l2)W2=$2;else{n1=i2;break}else n1=d1;if(w1=n+1156|0,b1=e[w1>>2]|0,R1=(b1|0)>0,R1)for(G1=n+1160|0,v1=n+2184|0,g2=0;t2=G1+(g2<<2)|0,k2=e[t2>>2]|0,w2=I1+(k2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=v1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,K2=e[d2>>2]|0,G2=(K2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,H2=I1+(N2<<2)|0,e[H2>>2]=1),P2=g2+1|0,z2=(P2|0)<(b1|0),z2;)g2=P2;if(r2=e[n>>2]|0,a2=(r2|0)>0,a2){for(X1=n+1092|0,s2=M2+52|0,f2=n+4|0,o5=n1,B5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,u5=0;;)if(T1=f2+(u5<<2)|0,X2=e[T1>>2]|0,L5=(X2|0)==(B5|0),L5?(e5=I1+(u5<<2)|0,b5=e[e5>>2]|0,Z2=Z0+(g5<<2)|0,x5=(b5|0)!=0,a=x5&1,e[Z2>>2]=a,k5=e[t>>2]|0,P5=k5+(u5<<2)|0,l5=e[P5>>2]|0,v2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,p=e[c0>>2]|0,_2=p,a5=v2):(_2=o1,a5=g5),n5=u5+1|0,x2=(n5|0)<(_2|0),x2)o1=_2,g5=a5,u5=n5;else{S5=a5;break}else S5=0;if(p2=X1+(B5<<2)|0,C5=e[p2>>2]|0,d5=(K1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,q2=_5+28|0,I5=e[q2>>2]|0,A5=e[s2>>2]|0,c5=A5+(C5<<2)|0,p5=e[c5>>2]|0,pp[I5&7](t,p5,i1,Z0,S5)|0,M1=B5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;B=e[c0>>2]|0,o5=B,B5=M1}S=e[w1>>2]|0,_=S}else _=b1;if(L=(_|0)>0,L)for(x=n+1160|0,F=e[t>>2]|0,M=n+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=x+(t5<<2)|0,q=e[e0>>2]|0,X=F+(q<<2)|0,U=e[X>>2]|0,l0=M+(t5<<2)|0,K=e[l0>>2]|0,$0=F+(K<<2)|0,s0=e[$0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,r0=+s[i0>>2],V=s0+(i5<<2)|0,h0=+s[V>>2],o0=r0>0,g0=h0>0;do if(o0)if(g0){s[i0>>2]=r0,j=r0-h0,s[V>>2]=j;break}else{s[V>>2]=r0,u0=h0+r0,s[i0>>2]=u0;break}else if(g0){s[i0>>2]=r0,I0=h0+r0,s[V>>2]=I0;break}else{s[V>>2]=r0,w0=r0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,v0=(C0|0)<(T|0),v0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[c0>>2]|0,Y=(z|0)>0,!Y)return C=L2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(p0=e[t>>2]|0,B0=p0+(h5<<2)|0,E0=e[B0>>2]|0,b0=t0+(h5<<2)|0,x0=e[b0>>2]|0,Q0=J+(x0<<2)|0,M0=e[Q0>>2]|0,T0=(K1+800|0)+(M0<<2)|0,G0=e[T0>>2]|0,P0=25640+(G0<<2)|0,y0=e[P0>>2]|0,Y0=y0+24|0,F0=e[Y0>>2]|0,_0=e[W>>2]|0,V0=_0+(M0<<2)|0,J0=e[V0>>2]|0,O0=h1+(h5<<2)|0,z0=e[O0>>2]|0,mp[F0&3](t,J0,z0,E0)|0,U0=h5+1|0,q0=e[c0>>2]|0,r1=(U0|0)<(q0|0),r1)h5=U0;else{m=q0;break}if(d0=(m|0)>0,!d0)return C=L2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,D0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,u1=e[$1>>2]|0,g1=e[u1>>2]|0,RS(g1,D0,D0),l1=J2+1|0,s1=e[c0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=L2,0}function hp(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0;if(w1=C,A=(n|0)/4&-1,a=A<<2,y=S9(a)|0,O=A+n|0,Z=O<<2,c0=S9(Z)|0,K0=n>>1,N0=+(n|0),i1=N0,I1=+Zr(+i1),g=I1*1.4426950408889634,u=+Oi(g),E=~~u,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=c0,B=t+12|0,e[B>>2]=y,p=(n|0)>3,!p){Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0;return}for(S=+(n|0),b=3.141592653589793/S,v=n<<1,D=+(v|0),Q=3.141592653589793/D,p1=0;M=p1<<2,T=+(M|0),N=b*T,G=+WA(+N),z=G,Y=p1<<1,t0=c0+(Y<<2)|0,s[t0>>2]=z,J=+Un(+N),W=J,e0=-W,q=Y|1,X=c0+(q<<2)|0,s[X>>2]=e0,U=+(q|0),l0=Q*U,K=+WA(+l0),$0=K,s0=Y+K0|0,i0=c0+(s0<<2)|0,s[i0>>2]=$0,r0=+Un(+l0),V=r0,h0=s0+1|0,o0=c0+(h0<<2)|0,s[o0>>2]=V,g0=p1+1|0,j=(g0|0)<(A|0),j;)p1=g0;if(_=(n|0)/8&-1,L=(n|0)>7,!L){Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0;return}for(x=+(n|0),F=3.141592653589793/x,B1=0;u0=B1<<2,I0=u0|2,w0=+(I0|0),C0=F*w0,v0=+WA(+C0),d0=v0*.5,p0=d0,B0=B1<<1,E0=B0+n|0,b0=c0+(E0<<2)|0,s[b0>>2]=p0,x0=+Un(+C0),Q0=x0*-.5,M0=Q0,T0=E0+1|0,G0=c0+(T0<<2)|0,s[G0>>2]=M0,P0=B1+1|0,y0=(P0|0)<(_|0),y0;)B1=P0;if(Y0=E+-1|0,F0=1<>2]=Z0;return}for(;;){for(z0=J0,m1=0,x1=0;;)if(O0=z0&Q1,U0=(O0|0)==0,q0=1<>H0,D0=(e1|0)==0,D0){E1=d1;break}else z0=e1,m1=d1,x1=H0;if(c1=E1^-1,$1=_0&c1,u1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=u1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,o1=(n1|0)<(_|0),o1)Q1=n1;else break}Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0}function up(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;B=C,n=(t|0)==0,!n&&(A=t+8|0,a=e[A>>2]|0,g=(a|0)==0,g||I2(a),u=t+12|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function RS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0;for(q3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,K2=n+(a<<2)|0,g=I+W1|0,e5=A+(g<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=K2,k3=e5;E5=k3+-16|0,B3=U5+8|0,m=+s[B3>>2],x=c3+12|0,W=+s[x>>2],r0=m*W,v0=-r0,G0=+s[U5>>2],U0=c3+8|0,l1=+s[U0>>2],p1=l1*G0,U1=v0-p1,s[E5>>2]=U1,P1=+s[U5>>2],l2=+s[x>>2],y2=l2*P1,k2=+s[B3>>2],w2=+s[U0>>2],C2=w2*k2,F2=y2-C2,D2=k3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,H2=+s[G2>>2],M2=d2*H2,P2=-M2,z2=U5+16|0,o5=+s[z2>>2],O2=+s[c3>>2],T1=O2*o5,X2=P2-T1,L5=k3+-8|0,s[L5>>2]=X2,b5=+s[z2>>2],Z2=+s[G2>>2],f5=Z2*b5,k5=+s[N2>>2],P5=+s[c3>>2],l5=P5*k5,v2=f5-l5,m5=k3+-4|0,s[m5>>2]=v2,n5=U5+-32|0,x2=c3+16|0,p2=n5>>>0>>0,!p2;)c3=x2,U5=n5,k3=E5;for(C5=A+(I<<2)|0,u=I+-8|0,R5=n+(u<<2)|0,C3=h5,O5=R5,y3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,q2=+s[_5>>2],I5=q2*G5,A5=O5+24|0,p5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*p5,a5=g5+I5,s[y3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],B5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,u5=B5-J2,i5=y3+4|0,s[i5>>2]=u5,x5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],L2=$5*x5,Q5=O5+8|0,q5=+s[Q5>>2],j5=+s[d5>>2],f3=j5*q5,h3=f3+L2,Y5=y3+8|0,s[Y5>>2]=h3,X5=+s[O5>>2],n3=+s[d5>>2],m3=n3*X5,F5=+s[Q5>>2],J5=+s[j2>>2],v3=J5*F5,u3=m3-v3,z3=y3+12|0,s[z3>>2]=u3,G3=O5+-32|0,z5=y3+16|0,w3=G3>>>0>>0,!w3;)C3=d5,O5=G3,y3=z5;for(o6=t+4|0,e3=e[o6>>2]|0,oQ(e3,c5,C5,I),A3=e[t>>2]|0,R3=e[_2>>2]|0,u6=t+12|0,Q3=e[u6>>2]|0,AQ(A3,R3,Q3,A),W5=e[_2>>2]|0,i6=W5+(I<<2)|0,H5=i6,v5=A,r6=e5,V5=e5;L3=r6+-16|0,U3=+s[v5>>2],a3=H5+4|0,l3=+s[a3>>2],B=l3*U3,p=v5+4|0,S=+s[p>>2],b=+s[H5>>2],v=b*S,y=B-v,D=r6+-4|0,s[D>>2]=y,Q=+s[v5>>2],_=+s[H5>>2],L=_*Q,F=+s[p>>2],M=+s[a3>>2],T=M*F,N=L+T,G=-N,s[V5>>2]=G,O=v5+8|0,z=+s[O>>2],Y=H5+12|0,t0=+s[Y>>2],J=t0*z,e0=v5+12|0,q=+s[e0>>2],X=H5+8|0,U=+s[X>>2],l0=U*q,Z=J-l0,K=r6+-8|0,s[K>>2]=Z,$0=+s[O>>2],s0=+s[X>>2],i0=s0*$0,V=+s[e0>>2],h0=+s[Y>>2],o0=h0*V,g0=i0+o0,j=-g0,c0=V5+4|0,s[c0>>2]=j,u0=v5+16|0,I0=+s[u0>>2],w0=H5+20|0,C0=+s[w0>>2],d0=C0*I0,p0=v5+20|0,B0=+s[p0>>2],E0=H5+16|0,b0=+s[E0>>2],K0=b0*B0,x0=d0-K0,Q0=r6+-12|0,s[Q0>>2]=x0,M0=+s[u0>>2],T0=+s[E0>>2],P0=T0*M0,y0=+s[p0>>2],Y0=+s[w0>>2],F0=Y0*y0,_0=P0+F0,N0=-_0,V0=V5+8|0,s[V0>>2]=N0,J0=v5+24|0,O0=+s[J0>>2],z0=H5+28|0,q0=+s[z0>>2],r1=q0*O0,H0=v5+28|0,e1=+s[H0>>2],D0=H5+24|0,i1=+s[D0>>2],c1=i1*e1,$1=r1-c1,s[L3>>2]=$1,u1=+s[J0>>2],g1=+s[D0>>2],s1=g1*u1,a1=+s[H0>>2],n1=+s[z0>>2],o1=n1*a1,Z0=s1+o1,I1=-Z0,h1=V5+12|0,s[h1>>2]=I1,m1=V5+16|0,d1=v5+32|0,E1=H5+32|0,B1=d1>>>0>>0,B1;)H5=E1,v5=d1,r6=L3,V5=m1;for(Q1=A+(W1<<2)|0,P3=e5,j3=Q1,S3=Q1;;)if(x1=j3+-16|0,L1=P3+-16|0,w1=P3+-4|0,b1=+s[w1>>2],R1=j3+-4|0,s[R1>>2]=b1,F1=-b1,s[S3>>2]=F1,G1=P3+-8|0,v1=+s[G1>>2],Z1=j3+-8|0,s[Z1>>2]=v1,N1=-v1,_1=S3+4|0,s[_1>>2]=N1,V1=P3+-12|0,O1=+s[V1>>2],q1=j3+-12|0,s[q1>>2]=O1,H1=-O1,Y1=S3+8|0,s[Y1>>2]=H1,j1=+s[L1>>2],s[x1>>2]=j1,n2=-j1,c2=S3+12|0,s[c2>>2]=n2,z1=S3+16|0,u2=z1>>>0>>0,u2)P3=L1,j3=x1,S3=z1;else{M5=e5,O3=e5;break}for(;o2=O3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[o2>>2]=A2,K1=M5+8|0,h2=e[K1>>2]|0,$2=O3+-12|0,e[$2>>2]=h2,i2=M5+4|0,r2=e[i2>>2]|0,a2=O3+-8|0,e[a2>>2]=r2,X1=e[M5>>2]|0,s2=O3+-4|0,e[s2>>2]=X1,f2=M5+16|0,t2=o2>>>0>C5>>>0,t2;)M5=f2,O3=o2}function sQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0;if(q5=C,v=e[t>>2]|0,y=v>>1,r1=v>>2,a1=v>>3,Q1=v<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,g=y+r1|0,r2=n+(g<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(u=g+1|0,K=n+(u<<2)|0,u0=a1+-1|0,x0=u0>>>1,V0=x0<<1,O0=y+-2|0,z0=O0-V0|0,U0=g+-4|0,q0=x0<<2,H0=U0-q0|0,n5=D,D5=0,h5=r2,x5=K;e1=h5+-16|0,D0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[x5>>2],u1=$1+c1,g1=+s[e1>>2],l1=x5+8|0,s1=+s[l1>>2],n1=s1+g1,o1=n5+-4|0,Z0=+s[o1>>2],I1=n1*Z0,h1=+s[D0>>2],m1=h1*u1,d1=m1+I1,S=D5+y|0,E1=N1+(S<<2)|0,s[E1>>2]=d1,p1=+s[D0>>2],B1=p1*n1,x1=+s[o1>>2],L1=x1*u1,w1=B1-L1,b1=D5|1,b=b1+y|0,R1=N1+(b<<2)|0,s[R1>>2]=w1,F1=x5+16|0,G1=D5+2|0,v1=(G1|0)<(a1|0),v1;)n5=D0,D5=G1,h5=e1,x5=F1;U1=V0+2|0,g2=T1+(z0<<2)|0,B5=n+(H0<<2)|0,O2=z0,m5=g2,d5=U1,s5=B5}else O2=y,m5=D,d5=0,s5=r2;if(Z1=n+4|0,_1=y-a1|0,V1=(d5|0)<(_1|0),V1){for(O1=y+-1|0,q1=O1-d5|0,H1=q1-a1|0,Y1=H1>>>1,j1=Y1<<1,n2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;u2=_2+-8|0,o2=J2+-16|0,E2=J2+-8|0,A2=+s[E2>>2],K1=+s[$5>>2],h2=A2-K1,$2=+s[o2>>2],i2=$5+8|0,l2=+s[i2>>2],a2=$2-l2,X1=_2+-4|0,s2=+s[X1>>2],f2=a2*s2,t2=+s[u2>>2],y2=t2*h2,k2=y2+f2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=k2,C2=+s[u2>>2],F2=C2*a2,N2=+s[X1>>2],d2=N2*h2,K2=F2-d2,G2=_5|1,B=G2+y|0,H2=N1+(B<<2)|0,s[H2>>2]=K2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(_1|0),z2;)_2=u2,_5=P2,J2=o2,$5=M2;o5=n2+2|0,a5=n+(P1<<2)|0,p=O2+z1|0,W2=T1+(p<<2)|0,x2=W2,G5=o5,j2=a5}else x2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(L5=n+(v<<2)|0,p2=x2,q2=G5,u5=L5,L2=j2;e5=p2+-8|0,b5=u5+-16|0,Z2=u5+-8|0,f5=+s[Z2>>2],k5=-f5,P5=+s[L2>>2],l5=k5-P5,v2=+s[b5>>2],Q=-v2,_=L2+8|0,L=+s[_>>2],x=Q-L,F=p2+-4|0,M=+s[F>>2],T=x*M,N=+s[e5>>2],G=N*l5,O=G+T,E=q2+y|0,Y=N1+(E<<2)|0,s[Y>>2]=O,t0=+s[e5>>2],J=t0*x,W=+s[F>>2],e0=W*l5,q=J-e0,X=q2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=q,l0=L2+16|0,Z=q2+2|0,$0=(Z|0)<(y|0),$0;)p2=e5,q2=Z,u5=b5,L2=l0;if(A5=t+4|0,c5=e[A5>>2]|0,oQ(c5,T1,c2,y),g5=e[t>>2]|0,p5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,AQ(g5,p5,S5,N1),s0=(r1|0)>0,!s0){C=q5;return}for(i0=A+(y<<2)|0,r0=e[D2>>2]|0,V=r0+(y<<2)|0,h0=t+16|0,C5=V,I5=0,t5=N1,i5=i0;o0=i5+-4|0,g0=+s[t5>>2],j=+s[C5>>2],c0=j*g0,I0=t5+4|0,w0=+s[I0>>2],C0=C5+4|0,v0=+s[C0>>2],d0=v0*w0,p0=d0+c0,B0=+s[h0>>2],E0=p0*B0,b0=A+(I5<<2)|0,s[b0>>2]=E0,K0=+s[t5>>2],Q0=+s[C0>>2],M0=Q0*K0,T0=+s[I0>>2],G0=+s[C5>>2],P0=G0*T0,y0=M0-P0,Y0=+s[h0>>2],F0=y0*Y0,s[o0>>2]=F0,_0=t5+8|0,N0=C5+8|0,J0=I5+1|0,R5=(J0|0)==(r1|0),!R5;)C5=N0,I5=J0,t5=_0,i5=o0;C=q5}function oQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,Z8=0,gt=0,ht=0,M8=0,T8=0,N8=0,G8=0,W8=0,j8=0,vt=0,U8=0,P8=0,O8=0,v8=0,k8=0,f8=0,q8=0,H8=0,X8=0,et=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,tt=0,St=0,ie=0,it=0,Y8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,rt=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,J8=0,dt=0,nt=0,st=0,V8=0,ot=0,K8=0,a8=0,$8=0,_8=0,H4=0,At=0,x8=0,Je=0,B9=0,at=0,Ve=0,Nt=0,Ht=0,bt=0,$t=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,z8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0,Et=0,Rt=0,jr=0,Er=0;if(Er=C,I0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,_3=a>>1,p=_3+-8|0,Z8=A+(p<<2)|0,g=n,It=P5,Et=Z8;l8=It+24|0,P7=+s[l8>>2],C7=Et+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=It+28|0,T0=+s[C0>>2],z0=Et+28|0,g1=+s[z0>>2],E1=T0-g1,v1=Q7+P7,s[l8>>2]=v1,n2=+s[z0>>2],$2=n2+T0,s[C0>>2]=$2,w2=g+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[g>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[g>>2],i6=m3*E1,P3=+s[w2>>2],j3=P3*w7,p6=i6-j3,s[z0>>2]=p6,H3=It+16|0,N6=+s[H3>>2],s9=Et+16|0,X6=+s[s9>>2],I9=N6-X6,S4=It+20|0,N4=+s[S4>>2],Ge=Et+20|0,$4=+s[Ge>>2],g6=N4-$4,v4=X6+N6,s[H3>>2]=v4,gt=+s[Ge>>2],O8=gt+N4,s[S4>>2]=O8,i8=g+20|0,Y8=+s[i8>>2],E8=Y8*g6,we=g+16|0,D9=+s[we>>2],_8=D9*I9,$t=_8+E8,s[s9>>2]=$t,Yt=+s[we>>2],L8=Yt*g6,_t=+s[i8>>2],z8=_t*I9,Me=L8-z8,s[Ge>>2]=Me,de=It+8|0,e4=+s[de>>2],xt=Et+8|0,r7=+s[xt>>2],G7=e4-r7,U7=It+12|0,d7=+s[U7>>2],Jt=Et+12|0,I7=+s[Jt>>2],Vt=d7-I7,E7=r7+e4,s[de>>2]=E7,Kt=+s[Jt>>2],m7=Kt+d7,s[U7>>2]=m7,n7=g+36|0,$i=+s[n7>>2],O7=$i*Vt,p7=g+32|0,li=+s[p7>>2],B7=li*G7,s7=B7+O7,s[xt>>2]=s7,ci=+s[p7>>2],q7=ci*Vt,H7=+s[n7>>2],Y7=H7*G7,J7=q7-Y7,s[Jt>>2]=J7,o7=+s[It>>2],V7=+s[Et>>2],zt=o7-V7,A7=It+4|0,Ut=+s[A7>>2],Zt=Et+4|0,gi=+s[Zt>>2],K7=Ut-gi,hi=V7+o7,s[It>>2]=hi,y7=+s[Zt>>2],z7=y7+Ut,s[A7>>2]=z7,v7=g+52|0,Z7=+s[v7>>2],k7=Z7*K7,Wt=g+48|0,S7=+s[Wt>>2],W7=S7*zt,a7=W7+k7,s[Et>>2]=a7,Pt=+s[Wt>>2],b7=Pt*K7,ve=+s[v7>>2],v0=ve*zt,d0=b7-v0,s[Zt>>2]=d0,p0=It+-32|0,B0=Et+-32|0,E0=g+64|0,b0=B0>>>0
>>0,!b0;)g=E0,It=p0,Et=B0;if(K0=(I0|0)>1,K0)for(Lt=1;;){if(x0=1<>Lt,G0=4<>1,S=P0+-8|0,N=G0+1|0,l0=G0<<1,i0=l0|1,h0=G0*3|0,g0=h0+1|0,c0=G0<<2,$7=0;;){for(Y0=r5($7,M0)|0,F0=A+(Y0<<2)|0,E=m+Y0|0,_0=A+(E<<2)|0,$0=S+Y0|0,N0=A+($0<<2)|0,u=n,B8=_0,Rt=N0;V0=B8+24|0,J0=+s[V0>>2],O0=Rt+24|0,U0=+s[O0>>2],q0=J0-U0,r1=B8+28|0,H0=+s[r1>>2],e1=Rt+28|0,D0=+s[e1>>2],i1=H0-D0,c1=U0+J0,s[V0>>2]=c1,$1=+s[e1>>2],u1=$1+H0,s[r1>>2]=u1,l1=u+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[u>>2],o1=n1*q0,Z0=o1+a1,s[O0>>2]=Z0,I1=+s[u>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*q0,p1=h1-d1,s[e1>>2]=p1,B1=u+(G0<<2)|0,Q1=B8+16|0,x1=+s[Q1>>2],L1=Rt+16|0,w1=+s[L1>>2],b1=x1-w1,R1=B8+20|0,F1=+s[R1>>2],G1=Rt+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+x1,s[Q1>>2]=N1,_1=+s[G1>>2],V1=_1+F1,s[R1>>2]=V1,O1=u+(N<<2)|0,q1=+s[O1>>2],H1=q1*Z1,Y1=+s[B1>>2],j1=Y1*b1,W1=j1+H1,s[L1>>2]=W1,P1=+s[B1>>2],c2=P1*Z1,z1=+s[O1>>2],u2=z1*b1,o2=c2-u2,s[G1>>2]=o2,E2=u+(l0<<2)|0,A2=B8+8|0,K1=+s[A2>>2],h2=Rt+8|0,i2=+s[h2>>2],l2=K1-i2,r2=B8+12|0,a2=+s[r2>>2],X1=Rt+12|0,s2=+s[X1>>2],f2=a2-s2,t2=i2+K1,s[A2>>2]=t2,y2=+s[X1>>2],k2=y2+a2,s[r2>>2]=k2,C2=u+(i0<<2)|0,F2=+s[C2>>2],D2=F2*f2,N2=+s[E2>>2],d2=N2*l2,K2=d2+D2,s[h2>>2]=K2,G2=+s[E2>>2],H2=G2*f2,M2=+s[C2>>2],P2=M2*l2,o5=H2-P2,s[X1>>2]=o5,O2=u+(h0<<2)|0,T1=+s[B8>>2],X2=+s[Rt>>2],L5=T1-X2,e5=B8+4|0,b5=+s[e5>>2],Z2=Rt+4|0,f5=+s[Z2>>2],k5=b5-f5,v2=X2+T1,s[B8>>2]=v2,m5=+s[Z2>>2],n5=m5+b5,s[e5>>2]=n5,x2=u+(g0<<2)|0,_2=+s[x2>>2],p2=_2*k5,C5=+s[O2>>2],R5=C5*L5,d5=R5+p2,s[Rt>>2]=d5,D5=+s[O2>>2],_5=D5*k5,q2=+s[x2>>2],I5=q2*L5,A5=_5-I5,s[Z2>>2]=A5,c5=u+(c0<<2)|0,p5=B8+-32|0,M1=Rt+-32|0,S5=M1>>>0>>0,!S5;)u=c5,B8=p5,Rt=M1;if(g5=$7+1|0,a5=(g5|0)<(x0|0),a5)$7=g5;else break}if(g2=Lt+1|0,D7=(g2|0)==(I0|0),D7)break;Lt=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;B5=A+(n9<<2)|0,B=n9|30,t5=A+(B<<2)|0,s5=+s[t5>>2],T=n9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],u5=s5-J2,U=n9|31,i5=A+(U<<2)|0,x5=+s[i5>>2],s0=n9|15,j2=A+(s0<<2)|0,L2=+s[j2>>2],Q5=x5-L2,q5=J2+s5,s[t5>>2]=q5,j5=L2+x5,s[i5>>2]=j5,s[h5>>2]=u5,s[j2>>2]=Q5,r0=n9|28,E5=A+(r0<<2)|0,f3=+s[E5>>2],V=n9|12,h3=A+(V<<2)|0,Y5=+s[h3>>2],X5=f3-Y5,o0=n9|29,n3=A+(o0<<2)|0,F5=+s[n3>>2],j=n9|13,J5=A+(j<<2)|0,v3=+s[J5>>2],u3=F5-v3,B3=Y5+f3,s[E5>>2]=B3,z3=v3+F5,s[n3>>2]=z3,G3=X5*.9238795042037964,z5=u3*.3826834261417389,w3=G3-z5,s[h3>>2]=w3,W5=X5*.3826834261417389,L3=u3*.9238795042037964,U3=L3+W5,s[J5>>2]=U3,u0=n9|26,a3=A+(u0<<2)|0,l3=+s[a3>>2],b=n9|10,c3=A+(b<<2)|0,C3=+s[c3>>2],H5=l3-C3,v=n9|27,U5=A+(v<<2)|0,O5=+s[U5>>2],y=n9|11,v5=A+(y<<2)|0,M5=+s[v5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,R3=H5-o6,u6=R3*.7071067690849304,s[c3>>2]=u6,Q3=o6+H5,k3=Q3*.7071067690849304,s[v5>>2]=k3,D=n9|24,y3=A+(D<<2)|0,r6=+s[y3>>2],Q=n9|8,O3=A+(Q<<2)|0,V5=+s[O3>>2],S3=r6-V5,_=n9|25,g3=A+(_<<2)|0,q3=+s[g3>>2],L=n9|9,l6=A+(L<<2)|0,d3=+s[l6>>2],v6=q3-d3,k6=V5+r6,s[y3>>2]=k6,S6=d3+q3,s[g3>>2]=S6,X3=S3*.3826834261417389,c6=v6*.9238795042037964,B6=X3-c6,x6=v6*.3826834261417389,Y6=S3*.9238795042037964,C6=x6+Y6,x=n9|22,b3=A+(x<<2)|0,e6=+s[b3>>2],F=n9|6,t6=A+(F<<2)|0,f6=+s[t6>>2],D3=e6-f6,M=n9|7,Y3=A+(M<<2)|0,Z3=+s[Y3>>2],G=n9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=Z3-A6,O6=f6+e6,s[b3>>2]=O6,s3=A6+Z3,s[b6>>2]=s3,s[t6>>2]=t3,s[Y3>>2]=D3,O=n9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=A+(z<<2)|0,Q6=+s[n6>>2],L6=d6-Q6,Y=n9|5,K6=A+(Y<<2)|0,I6=+s[K6>>2],t0=n9|21,J6=A+(t0<<2)|0,F3=+s[J6>>2],j6=I6-F3,G6=Q6+d6,s[n6>>2]=G6,e9=F3+I6,s[J6>>2]=e9,R6=j6*.9238795042037964,U6=L6*.3826834261417389,D6=R6+U6,z6=j6*.3826834261417389,y6=L6*.9238795042037964,F6=z6-y6,J=n9|2,M3=A+(J<<2)|0,M6=+s[M3>>2],W=n9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],u9=M6-A9,e0=n9|3,f9=A+(e0<<2)|0,d9=+s[f9>>2],q=n9|19,a9=A+(q<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=A9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+u9,N9=i9*.7071067690849304,E4=T9-u9,o4=E4*.7071067690849304,h4=+s[B5>>2],X=n9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=n9|1,E9=A+(Z<<2)|0,q6=+s[E9>>2],K=n9|17,r9=A+(K<<2)|0,m4=+s[r9>>2],A4=q6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+q6,s[r9>>2]=b4,D4=A4*.3826834261417389,x4=b9*.9238795042037964,M4=D4+x4,j4=A4*.9238795042037964,C4=b9*.3826834261417389,T4=j4-C4,U9=T4-C6,a4=M4-B6,L4=M4+B6,u4=T4+C6,Ce=a4+U9,q9=U9-a4,m9=+s[v5>>2],pe=o4-m9,Ne=+s[c3>>2],Xe=Ne-N9,G4=Ne+N9,U4=m9+o4,X4=+s[h3>>2],be=X4-D6,e8=+s[J5>>2],Z9=e8-F6,ae=X4+D6,f4=e8+F6,_6=be-Z9,P4=Z9+be,R9=+s[h5>>2],_4=R9-t3,$e=+s[j2>>2],W9=$e-D3,le=t3+R9,ce=D3+$e,p4=_4+pe,ee=_4-pe,R4=_6+Ce,ge=R4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=ge+p4,s[t6>>2]=l4,Be=p4-ge,s[a6>>2]=Be,B4=P4-q9,c4=B4*.7071067690849304,P6=W9-Xe,De=c4+ee,s[B5>>2]=De,_e=ee-c4,s[M3>>2]=_e,t8=P4+q9,g4=t8*.7071067690849304,u8=W9+Xe,J3=P6+Ue,s[f9>>2]=J3,w9=P6-Ue,s[E9>>2]=w9,p9=u8+g4,s[Y3>>2]=p9,F4=u8-g4,s[K6>>2]=F4,te=le+G4,lt=le-G4,xe=L4+ae,ct=ae-L4,wt=te+xe,s[h5>>2]=wt,ht=te-xe,s[h3>>2]=ht,M8=f4-u4,T8=ce-U4,N8=lt+M8,s[O3>>2]=N8,G8=lt-M8,s[c3>>2]=G8,W8=f4+u4,j8=ce+U4,vt=T8+ct,s[v5>>2]=vt,U8=T8-ct,s[l6>>2]=U8,P8=j8+W8,s[j2>>2]=P8,v8=j8-W8,s[J5>>2]=v8,k8=+s[g3>>2],f8=b4-k8,q8=+s[y3>>2],H8=y9-q8,X8=q8+y9,et=k8+b4,d8=H8+f8,Pe=f8-H8,Le=+s[a9>>2],S8=+s[U5>>2],v9=Le-S8,ut=+s[a3>>2],Qe=+s[t9>>2],ft=ut-Qe,kt=Qe+ut,tt=S8+Le,St=+s[E5>>2],ie=+s[n6>>2],it=St-ie,b8=+s[n3>>2],r8=+s[J6>>2],O4=b8-r8,Re=ie+St,n8=r8+b8,I8=it-O4,D8=O4+it,he=+s[t5>>2],j9=+s[b3>>2],s8=he-j9,o8=+s[i5>>2],m8=+s[b6>>2],ue=o8-m8,ye=j9+he,Oe=m8+o8,qe=s8+v9,X9=s8-v9,Fe=I8+d8,fe=Fe*.7071067690849304,A8=I8-d8,Q4=A8*.7071067690849304,C8=fe+qe,s[b3>>2]=C8,rt=qe-fe,s[n6>>2]=rt,q4=D8-Pe,I3=q4*.7071067690849304,He=ue-ft,p8=I3+X9,s[G9>>2]=p8,re=X9-I3,s[t9>>2]=re,H9=D8+Pe,ne=H9*.7071067690849304,Ye=ue+ft,J8=He+Q4,s[a9>>2]=J8,dt=He-Q4,s[r9>>2]=dt,nt=Ye+ne,s[b6>>2]=nt,st=Ye-ne,s[J6>>2]=st,V8=ye+kt,ot=ye-kt,K8=Re+X8,a8=Re-X8,$8=V8+K8,s[t5>>2]=$8,H4=V8-K8,s[E5>>2]=H4,At=n8-et,x8=Oe-tt,Je=ot+At,s[y3>>2]=Je,B9=ot-At,s[a3>>2]=B9,at=n8+et,Ve=Oe+tt,Nt=x8+a8,s[U5>>2]=Nt,Ht=x8-a8,s[g3>>2]=Ht,bt=Ve+at,s[i5>>2]=bt,Dt=Ve-at,s[n3>>2]=Dt,se=n9+32|0,Gt=(se|0)<(a|0),Gt;)n9=se}function AQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0;for(m1=C,b=t>>1,v=a+(b<<2)|0,G=n+(t<<2)|0,n1=G,o1=A,Z0=a,I1=v;l0=e[o1>>2]|0,g=l0+b|0,j=a+(g<<2)|0,b0=o1+4|0,_0=e[b0>>2]|0,u=_0+b|0,D0=a+(u<<2)|0,E=g+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=u+1|0,y=a+(I<<2)|0,D=+s[y>>2],Q=a1-D,_=+s[j>>2],L=+s[D0>>2],x=L+_,F=+s[n1>>2],M=x*F,T=n1+4|0,N=+s[T>>2],O=N*Q,z=O+M,Y=N*x,t0=F*Q,J=Y-t0,W=I1+-16|0,e0=D+a1,q=e0*.5,X=_-L,U=X*.5,Z=z+q,s[Z0>>2]=Z,K=q-z,$0=I1+-8|0,s[$0>>2]=K,s0=J+U,i0=Z0+4|0,s[i0>>2]=s0,r0=J-U,V=I1+-4|0,s[V>>2]=r0,h0=o1+8|0,o0=e[h0>>2]|0,m=o0+b|0,g0=a+(m<<2)|0,c0=o1+12|0,u0=e[c0>>2]|0,B=u0+b|0,I0=a+(B<<2)|0,p=m+1|0,w0=a+(p<<2)|0,C0=+s[w0>>2],S=B+1|0,v0=a+(S<<2)|0,d0=+s[v0>>2],p0=C0-d0,B0=+s[g0>>2],E0=+s[I0>>2],K0=E0+B0,x0=n1+8|0,Q0=+s[x0>>2],M0=K0*Q0,T0=n1+12|0,G0=+s[T0>>2],P0=G0*p0,y0=P0+M0,Y0=G0*K0,F0=Q0*p0,N0=Y0-F0,V0=d0+C0,J0=V0*.5,O0=B0-E0,z0=O0*.5,U0=y0+J0,q0=Z0+8|0,s[q0>>2]=U0,r1=J0-y0,s[W>>2]=r1,H0=N0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=N0-z0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,u1=o1+16|0,g1=Z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,o1=u1,Z0=g1,I1=W}function FS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0;return p=C,n=t+28|0,A=e[n>>2]|0,a=A+2868|0,g=n4(1,36)|0,u=t+4|0,E=e[u>>2]|0,I=g+4|0,e[I>>2]=E,s[g>>2]=-9999,m=g+8|0,e[m>>2]=a,g|0}function MS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function TS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function NS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,L=t+36|0,e[L>>2]=_,i2=+(_|0),j5=i2*8,u3=j5,l3=+Zr(+u3),A3=l3*1.4426950408889634,g3=+Oi(A3),x6=g3+-1,b6=~~x6,x=t+32|0,e[x>>2]=b6,W=+(g|0),r0=W*.25,v0=r0,G0=v0*.5,U0=+(a|0),l1=G0/U0,p1=+Zr(+l1),U1=p1*1.4426950216293335,W1=U1+-5.965784072875977,l2=b6+1|0,F2=1<>2]=$5,Q5=+(a|0),q5=Q5+.25,E5=q5*W,f3=E5,h3=f3*.5,Y5=h3/U0,X5=+Zr(+Y5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,J5=F5+.5,v3=~~J5,B3=1-$5|0,z3=B3+v3|0,G3=t+40|0,e[G3>>2]=z3,z5=a<<2,w3=S9(z5)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(z5)|0,L3=t+20|0,e[L3>>2]=i6,U3=S9(z5)|0,a3=t+24|0,e[a3>>2]=U3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=g,H5=t+48|0,s[H5>>2]=1,U5=(g|0)<26e3;do if(U5)s[H5>>2]=0;else{if(O5=(g|0)<38e3,O5){s[H5>>2]=.9399999976158142;break}v5=(g|0)>46e3,v5&&(s[H5>>2]=1.274999976158142)}while(!1);P3=U0*2,M5=+(g|0),o6=(a|0)>0,Q3=o6,z6=0,X6=0;e:for(;;){for(B=Q3^1,y6=z6;;){if(y3=y6+1|0,r6=+(y3|0),j3=r6*.08664337545633316,O3=j3+2.7488713472395148,V5=+Pn(+O3),S3=P3*V5,q3=S3/M5,l6=+Oi(q3),d3=~~l6,m=(d3|0)<=(X6|0),K6=m|B,!K6){E=y3,I=d3,F6=y6;break}if(v6=(y3|0)<87,v6)y6=y3;else{A9=X6;break e}}for(k6=1272+(F6<<2)|0,S6=+s[k6>>2],p6=1272+(E<<2)|0,X3=+s[p6>>2],c6=X3-S6,B6=I-X6|0,Y6=+(B6|0),C6=c6/Y6,b3=X6-I|0,e6=X6-a|0,t6=b3>>>0>e6>>>0,T9=t6?b3:e6,e3=X6-T9|0,L6=S6,u9=X6;f6=L6+100,H3=w3+(u9<<2)|0,s[H3>>2]=f6,D3=L6+C6,Y3=u9+1|0,G6=(Y3|0)==(e3|0),!G6;)L6=D3,u9=Y3;if(R3=(e3|0)<(a|0),u6=(E|0)<87,u6)Q3=R3,z6=E,X6=e3;else{A9=e3;break}}if(k3=(A9|0)<(a|0),k3)for(f9=A9;N6=f9+-1|0,n6=w3+(N6<<2)|0,Q6=e[n6>>2]|0,F=w3+(f9<<2)|0,e[F>>2]=Q6,M=f9+1|0,j6=(M|0)==(a|0),!j6;)f9=M;if(Z3=(a|0)>0,Z3){for(A6=a<<1,t3=(g|0)/(A6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,_3=n+112|0,R6=1,M3=0,d9=-99;;){Y=r5(t3,M3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,q=+zs(+e0),X=q*13.100000381469727,U=r5(Y,Y)|0,l0=+(U|0),Z=l0*18499999754340024e-24,K=Z,$0=+zs(+K),s0=$0*2.240000009536743,i0=s0+X,V=t0*9999999747378752e-20,h0=V,o0=i0+h0,g0=o0,j=s3+d9|0,c0=(j|0)<(M3|0);e:do if(c0)for(u0=+s[_3>>2],I0=g0-u0,w0=I0,$9=d9;;){if(C0=r5($9,t3)|0,d0=+(C0|0),p0=d0*.0007399999885819852,B0=p0,E0=+zs(+B0),b0=E0*13.100000381469727,K0=r5(C0,C0)|0,x0=+(K0|0),Q0=x0*18499999754340024e-24,M0=Q0,T0=+zs(+M0),P0=T0*2.240000009536743,y0=d0*9999999747378752e-20,Y0=y0,F0=b0+Y0,_0=F0+P0,N0=_0(a|0);e:do if(V0)U6=R6;else for(J0=e[a6>>2]|0,O0=J0+M3|0,D6=R6;;){if(H0=(D6|0)<(O0|0),!H0&&(e1=r5(D6,t3)|0,D0=+(e1|0),i1=D0*.0007399999885819852,c1=i1,$1=+zs(+c1),u1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,o1=+zs(+n1),Z0=o1*2.240000009536743,I1=D0*9999999747378752e-20,h1=I1,m1=u1+h1,d1=m1+Z0,E1=+s[d6>>2],B1=E1+g0,Q1=B1,x1=d1>2]=F1,v1=M3+1|0,F3=(v1|0)==(a|0),F3)break;R6=U6,M3=v1,d9=a9}if(Z3)for(T=M5*.5,N=e[x>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){v=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,v=Q),u2=n+36|0,o2=v/U0,E2=o2,A2=n+24|0,K1=+s[A2>>2],h2=n+28|0,$2=+s[h2>>2],r2=PS(u2,E2,a,K1,$2)|0,a2=t+8|0,e[a2>>2]=r2,X1=S9(12)|0,s2=t+12|0,e[s2>>2]=X1,f2=S9(z5)|0,e[X1>>2]=f2,t2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=t2,k2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=k2,!!Z3)for(C2=e[c3>>2]|0,b=e[X1>>2]|0,p=X1+4|0,y=e[p>>2]|0,S=X1+8|0,D=e[S>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,K2=d2/P3,G2=+Zr(+K2),H2=G2*2.885390043258667,M2=H2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,u=e9>=16,s9=u?16:e9,o5=~~s9,T1=+(o5|0),X2=s9-T1,L5=X2,e5=1-L5,b5=o5+1|0,Z2=(C2+132|0)+(o5<<2)|0,f5=+s[Z2>>2],k5=f5,P5=k5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],n5=m5*X2,x2=n5,_2=x2+P5,p2=_2,C5=b+(t9<<2)|0,s[C5>>2]=p2,R5=(C2+200|0)+(o5<<2)|0,d5=+s[R5>>2],D5=d5,G5=D5*e5,q2=(C2+200|0)+(b5<<2)|0,I5=+s[q2>>2],A5=I5*X2,c5=A5,p5=c5+G5,M1=p5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,B5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,u5=J2+B5,i5=u5,x5=D+(t9<<2)|0,s[x5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function aQ(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;if(U0=C,A=(t|0)==0,!A){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,c0=e[Z>>2]|0,K0=(c0|0)==0,K0||I2(c0),F0=t+24|0,_0=e[F0>>2]|0,N0=(_0|0)==0,N0||I2(_0),g=t+8|0,u=e[g>>2]|0,E=(u|0)==0,!E){for(m=u,J0=0;I=m+(J0<<2)|0,B=e[I>>2]|0,p=e[B>>2]|0,I2(p),S=e[g>>2]|0,b=S+(J0<<2)|0,v=e[b>>2]|0,D=v+4|0,Q=e[D>>2]|0,I2(Q),_=e[g>>2]|0,L=_+(J0<<2)|0,x=e[L>>2]|0,F=x+8|0,M=e[F>>2]|0,I2(M),T=e[g>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[g>>2]|0,J=t0+(J0<<2)|0,W=e[J>>2]|0,e0=W+16|0,q=e[e0>>2]|0,I2(q),X=e[g>>2]|0,U=X+(J0<<2)|0,l0=e[U>>2]|0,K=l0+20|0,$0=e[K>>2]|0,I2($0),s0=e[g>>2]|0,i0=s0+(J0<<2)|0,r0=e[i0>>2]|0,V=r0+24|0,h0=e[V>>2]|0,I2(h0),o0=e[g>>2]|0,g0=o0+(J0<<2)|0,j=e[g0>>2]|0,u0=j+28|0,I0=e[u0>>2]|0,I2(I0),w0=e[g>>2]|0,C0=w0+(J0<<2)|0,v0=e[C0>>2]|0,I2(v0),d0=J0+1|0,V0=(d0|0)==17,!V0;)n=e[g>>2]|0,m=n,J0=d0;p0=e[g>>2]|0,I2(p0)}B0=t+12|0,E0=e[B0>>2]|0,b0=(E0|0)==0,b0||(x0=e[E0>>2]|0,I2(x0),Q0=e[B0>>2]|0,M0=Q0+4|0,T0=e[M0>>2]|0,I2(T0),G0=e[B0>>2]|0,P0=G0+8|0,y0=e[P0>>2]|0,I2(y0),Y0=e[B0>>2]|0,I2(Y0)),O0=t,q0=O0+52|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(q0|0))}}function $Q(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,u=I,L=C,C=C+((1*u|0)+15&-16)|0,J=t+24|0,$0=e[J>>2]|0,cQ(E,$0,n,A,140,-1),s0=(E|0)>0,s0)for(c0=0;i0=n+(c0<<2)|0,r0=+s[i0>>2],V=A+(c0<<2)|0,h0=+s[V>>2],m=r0-h0,B=L+(c0<<2)|0,s[B>>2]=m,p=c0+1|0,g0=(p|0)==(E|0),!g0;)c0=p;if(S=e[J>>2]|0,b=t+4|0,v=e[b>>2]|0,y=v+128|0,D=e[y>>2]|0,cQ(E,S,L,A,0,D),s0)u0=0;else{C=C0;return}for(;_=n+(u0<<2)|0,x=+s[_>>2],F=L+(u0<<2)|0,M=+s[F>>2],T=x-M,s[F>>2]=T,N=u0+1|0,j=(N|0)==(E|0),!j;)u0=N;if(!s0){C=C0;return}for(Q=e[b>>2]|0,I0=0;G=A+(I0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,g=e0?0:a,q=L+(I0<<2)|0,X=+s[q>>2],U=(Q+336|0)+(g<<2)|0,l0=+s[U>>2],Z=l0+X,s[G>>2]=Z,K=I0+1|0,o0=(K|0)==(E|0),!o0;)I0=K;C=C0}function lQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=+a,g=+g;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,p1=l1<<2,I=p1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,i2=e[W1>>2]|0,C2=i2+4|0,o5=+s[C2>>2],l5=o5+g,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,g0=A5+1|0,E0=(g0|0)<(l1|0),E0;)A5=g0;if(F0=i2+8|0,e1=+s[F0>>2],c1=l50,$1){for(u1=t+16|0,g1=e[u1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=n1,Z0=g5+1|0,q2=(Z0|0)==(M|0),!q2;)g5=Z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=i2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(B1=t+20|0,Q1=e[B1>>2]|0,x1=t+32|0,L1=t+36|0,w1=t+28|0,c5=0;;){b1=n+(c5<<2)|0,R1=+s[b1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=R1;e:for(;;)for(p5=S5;;){if(v1=p5+1|0,Z1=(v1|0)<(M|0),!Z1){S=0,v=v1,M1=p5,h5=s5;break e}if(N1=Q1+(v1<<2)|0,_1=e[N1>>2]|0,V1=(_1|0)==(G1|0),!V1){S=1,v=v1,M1=p5,h5=s5;break e}if(O1=n+(v1<<2)|0,q1=+s[O1>>2],H1=q1>s5,H1){S5=v1,s5=q1;continue e}else p5=v1}if(Y1=h5+6,j1=A+(M1<<2)|0,n2=+s[j1>>2],P1=Y1>n2,P1&&(c2=e[x1>>2]|0,z1=G1>>c2,u2=(z1|0)>16,E=u2?16:z1,o2=(E|0)<0,u=o2?0:E,E2=h1+(u<<2)|0,A2=e[E2>>2]|0,K1=e[L1>>2]|0,h2=E1+h5,$2=h2,l2=$2+-30,r2=l2*.10000000149011612,a2=~~r2,X1=(a2|0)<0,s2=X1?0:a2,f2=(s2|0)>7,t2=f2?7:s2,y2=A2+(t2<<2)|0,k2=e[y2>>2]|0,w2=k2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[k2>>2],d2=~~N2,K2=(d2|0)<(D2|0),K2))for(G2=Q1+(M1<<2)|0,H2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=H2-M2|0,z2=+(P2|0),O2=K1>>1,T1=+(O2|0),X2=N2+-16,L5=+(K1|0),e5=X2*L5,b5=e5-T1,Z2=b5+z2,f5=~~Z2,I5=d2,q5=f5;k5=(q5|0)>0,k5&&(F=I5+2|0,P5=k2+(F<<2)|0,v2=+s[P5>>2],m5=v2+h5,n5=U1+(q5<<2)|0,x2=+s[n5>>2],_2=x2>2]=m5)),p2=q5+K1|0,C5=(p2|0)<(l1|0),R5=I5+1|0,d5=(R5|0)<(D2|0),$5=d5&C5,$5;)I5=R5,q5=p2;if(S)c5=v;else{L=L1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,L=Q),D5=e[L>>2]|0,OS(U1,D5,l1),G=e[t>>2]|0,O=(G|0)>1;e:do if(O)for(z=t+20|0,Y=t+28|0,t0=e[z>>2]|0,J=e[t0>>2]|0,W=D5>>1,e0=J-W|0,q=e[Y>>2]|0,X=e0-q|0,l0=e[W1>>2]|0,Z=l0+32|0,V=1,j=J,W2=0,L2=X;;){s0=U1+(L2<<2)|0,i0=+s[s0>>2],r0=t0+(V<<2)|0,h0=e[r0>>2]|0,o0=h0+j|0,c0=o0>>1,u0=c0-q|0,I0=+s[Z>>2],w0=i0>I0,J2=w0?I0:i0,C0=(L2|0)<(u0|0);t:do if(C0)for(m=L2,i5=J2;;){for(v0=i5==-9999,B=m;;){if(d0=B+1|0,p0=U1+(d0<<2)|0,B0=+s[p0>>2],b0=B0>-9999,b0){if(K0=B0=(G|0),G0=(j|0)>(M0|0),x5=T0|G0;t:do if(x5)g2=W2;else for(B5=W2;;){if(P0=A+(B5<<2)|0,y0=+s[P0>>2],Y0=y0>2]=u5),_0=B5+1|0,N0=(_0|0)<(G|0),!N0){g2=_0;break t}if(D=t0+(_0<<2)|0,x=e[D>>2]|0,V0=(x|0)>(M0|0),V0){g2=_0;break}else B5=_0}while(!1);if(K=g2+1|0,$0=(K|0)<(G|0),!$0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,V=K,j=_,W2=g2,L2=Q5}else a5=0;while(!1);if(J0=e[T>>2]|0,O0=J0+-1|0,z0=U1+(O0<<2)|0,U0=+s[z0>>2],q0=(a5|0)<(G|0),q0)t5=a5;else{C=E5;return}for(;r1=A+(t5<<2)|0,H0=+s[r1>>2],D0=H0>2]=U0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function W$(t,n,A,a,g,u,E){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0;var I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0;if(x0=C,m=e[t>>2]|0,B=t+4|0,F=e[B>>2]|0,e0=(F+12|0)+(a<<2)|0,V=+s[e0>>2],I0=(m|0)>0,!!I0)for(w0=t+48|0,C0=+s[w0>>2],v0=t+12|0,d0=e[v0>>2]|0,p=d0+(a<<2)|0,S=e[p>>2]|0,b=F+108|0,v=(a|0)==1,y=C0,D=y*.005,Q=y*3e-4,E0=0;_=n+(E0<<2)|0,L=+s[_>>2],x=S+(E0<<2)|0,M=+s[x>>2],T=M+L,N=+s[b>>2],G=T>N,b0=G?N:T,O=A+(E0<<2)|0,z=+s[O>>2],Y=z+V,t0=b0>2]=I,v&&(W=E+(E0<<2)|0,q=+s[W>>2],X=b0-q,U=X>-17.200000762939453,l0=X+17.200000762939453,Z=l0,U?(K=D*Z,$0=1-K,s0=$0,i0=s0<0,i0?p0=9999999747378752e-20:p0=s0):(r0=Q*Z,h0=1-r0,o0=h0,p0=o0),g0=u+(E0<<2)|0,j=+s[g0>>2],c0=j*p0,s[g0>>2]=c0),u0=E0+1|0,B0=(u0|0)==(m|0),!B0;)E0=u0}function GS(t,n){t=+t,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0;return N=C,a=n+4|0,g=e[a>>2]|0,y=g+28|0,D=e[y>>2]|0,Q=n+40|0,_=e[Q>>2]|0,L=D+(_<<2)|0,x=e[L>>2]|0,F=(x|0)/2&-1,M=+(F|0),u=g+8|0,E=e[u>>2]|0,I=+(E|0),m=M/I,B=D+2936|0,p=+s[B>>2],S=p*m,b=S+t,v=b<-9999,A=v?-9999:b,+A}function US(t,n,A,a,g,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0;var B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0;if(N4=C,s0=e[A>>2]|0,i0=A+4|0,o5=e[i0>>2]|0,z3=o5+500|0,C3=e[z3>>2]|0,u6=(C3|0)==0,u6?J5=16:(l6=o5+508|0,C6=e[l6>>2]|0,J5=C6),t3=e[o5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,r0=e[I6>>2]|0,v0=(n+252|0)+(t<<2)|0,G0=e[v0>>2]|0,U0=1624+(G0<<3)|0,l1=+A1[U0>>3],p1=(n+312|0)+(t<<2)|0,U1=e[p1>>2]|0,W1=m<<2,S=W1,i2=C,C=C+((1*S|0)+15&-16)|0,b=W1,C2=C,C=C+((1*b|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,v2=C,C=C+((1*_|0)+15&-16)|0,L=W1,_5=C,C=C+((1*L|0)+15&-16)|0,g2=a+1156|0,L2=(s0|0)>1e3,T4=L2?1696:1624,M4=T4+(U1<<3)|0,x4=+A1[M4>>3],F5=r5(W1,J5)|0,x=F5,v3=C,C=C+((1*x|0)+15&-16)|0,e[i2>>2]=v3,v=F5,u3=C,C=C+((1*v|0)+15&-16)|0,e[C2>>2]=u3,y=F5,B3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=B3,D=F5,G3=C,C=C+((1*D|0)+15&-16)|0,e[v2>>2]=G3,z5=(m|0)>1,z5&&(w3=v3+(J5<<2)|0,W5=i2+4|0,e[W5>>2]=w3,i6=u3+(J5<<2)|0,L3=C2+4|0,e[L3>>2]=i6,U3=B3+(J5<<2)|0,a3=O2+4|0,e[a3>>2]=U3,l3=G3+(J5<<2)|0,c3=v2+4|0,e[c3>>2]=l3,u9=(m|0)==2,!u9))for(v5=2;M=e[i2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[v2>>2]|0,O5=r5(v5,J5)|0,P3=M+(O5<<2)|0,M5=i2+(v5<<2)|0,e[M5>>2]=P3,o6=G+(O5<<2)|0,e3=C2+(v5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,R3=O2+(v5<<2)|0,e[R3>>2]=A3,Q3=z+(O5<<2)|0,k3=v2+(v5<<2)|0,e[k3>>2]=Q3,y3=v5+1|0,X6=(y3|0)==(m|0),!X6;)v5=y3;if(H5=e[g2>>2]|0,U5=(s0|0)>0,U5)for(r6=e[v2>>2]|0,j3=(m|0)>0,O3=s0^-1,V5=J5^-1,T6=0,I9=O3;;){if(q3=(I9|0)>(V5|0),j4=q3?I9:V5,d3=j4^-1,v6=s0-T6|0,k6=(J5|0)>(v6|0),B=k6?v6:J5,s4(_5|0,E|0,W1|0)|0,Ae(r6|0,0,F5|0)|0,j3)for(S6=(B|0)>0,p6=r0-T6|0,r9=0;;){if(b3=u+(r9<<2)|0,e6=e[b3>>2]|0,t6=e6+(T6<<2)|0,f6=_5+(r9<<2)|0,H3=e[f6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(b6=O2+(r9<<2)|0,A6=e[b6>>2]|0,O6=i2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,_3=v2+(r9<<2)|0,N6=e[_3>>2]|0,E9=0;N0=A6+(E9<<2)|0,s[N0>>2]=1000000013351432e-25,V0=s3+(E9<<2)|0,s[V0>>2]=0,J0=d6+(E9<<2)|0,s[J0>>2]=0,O0=N6+(E9<<2)|0,e[O0>>2]=0,U=E9+T6|0,z0=e6+(U<<2)|0,e[z0>>2]=0,q0=E9+1|0,M6=(q0|0)==(d3|0),!M6;)E9=q0}else{if(Y3=O2+(r9<<2)|0,Z3=e[Y3>>2]|0,S6){for(z9=0;l0=z9+T6|0,n6=e6+(l0<<2)|0,Q6=e[n6>>2]|0,L6=1768+(Q6<<2)|0,K6=e[L6>>2]|0,J6=Z3+(z9<<2)|0,e[J6>>2]=K6,F3=z9+1|0,y6=(F3|0)==(d3|0),!y6;)z9=F3;if(j6=g+(r9<<2)|0,G6=e[j6>>2]|0,e9=v2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;R6=(G9|0)>=(p6|0),$0=R6?x4:l1,U6=$0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+Zi(+z6),V=Z3+(G9<<2)|0,h0=+s[V>>2],o0=d9/h0,g0=s9+(G9<<2)|0,y9=!(o0>2]=p,j=G9+1|0,F6=(j|0)==(B|0),!F6;)G9=j;if(S6)for(c0=i2+(r9<<2)|0,u0=e[c0>>2]|0,I0=C2+(r9<<2)|0,w0=e[I0>>2]|0,b9=0;;)if(C0=b9+T6|0,d0=G6+(C0<<2)|0,p0=+s[d0>>2],B0=p0*p0,E0=u0+(b9<<2)|0,s[E0>>2]=B0,b0=w0+(b9<<2)|0,s[b0>>2]=B0,K0=+s[d0>>2],x0=K0<0,x0&&(Q0=+s[E0>>2],M0=-Q0,s[E0>>2]=M0),T0=Z3+(b9<<2)|0,P0=+s[T0>>2],y0=P0*P0,s[T0>>2]=y0,Y0=b9+1|0,M3=(Y0|0)==(d3|0),M3){T=I0,_0=u0;break}else b9=Y0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=i2+(r9<<2)|0,Y=e[F>>2]|0,q=C2+(r9<<2)|0,T=q,_0=Y),F0=e[T>>2]|0,b4=e[i0>>2]|0,+gQ(b4,r0,_0,F0,Z3,0,T6,B,t6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(X3=e[g2>>2]|0,c6=(X3|0)>0,c6)for(B6=(B|0)>0,x6=I-T6|0,Y6=r0-T6|0,m3=X3,C4=0;;){if(H0=(a+1160|0)+(C4<<2)|0,e1=e[H0>>2]|0,D0=(a+2184|0)+(C4<<2)|0,i1=e[D0>>2]|0,c1=u+(e1<<2)|0,$1=e[c1>>2]|0,u1=$1+(T6<<2)|0,g1=u+(i1<<2)|0,s1=e[g1>>2]|0,a1=i2+(e1<<2)|0,n1=e[a1>>2]|0,o1=i2+(i1<<2)|0,Z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,B1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,x1=e[Q1>>2]|0,L1=v2+(e1<<2)|0,w1=e[L1>>2]|0,b1=v2+(i1<<2)|0,R1=e[b1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,v1=(G1|0)==0,Z1=_5+(i1<<2)|0,v1?(N1=e[Z1>>2]|0,_1=(N1|0)==0,_1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,B6)for(q6=0;;){V1=(q6|0)<(x6|0);do if(V1){if(O1=w1+(q6<<2)|0,q1=e[O1>>2]|0,H1=(q1|0)==0,Y1=R1+(q6<<2)|0,H1&&(j1=e[Y1>>2]|0,n2=(j1|0)==0,n2)){e5=(q6|0)<(Y6|0);do if(e5)b5=Z0+(q6<<2)|0,Z2=+s[b5>>2],f5=n1+(q6<<2)|0,k5=+s[f5>>2],P5=k5+Z2,s[f5>>2]=P5,$9=+Zi(+P5),l5=h1+(q6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=n1+(q6<<2)|0,n5=+s[m5>>2],x2=Z0+(q6<<2)|0,_2=+s[x2>>2],p2=_2+n5,C5=p2<0,f9=+Zi(+n5),a9=+Zi(+_2),R5=a9+f9,d5=h1+(q6<<2)|0,s[d5>>2]=R5,C5){D5=-R5,s[m5>>2]=D5,N=x2;break}else{s[m5>>2]=R5,N=x2;break}while(!1);G5=d1+(q6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=q6+T6|0,q2=s1+(X<<2)|0,e[q2>>2]=0;break}P1=n1+(q6<<2)|0,c2=+s[P1>>2],T9=+Zi(+c2),z1=Z0+(q6<<2)|0,u2=+s[z1>>2],E6=+Zi(+u2),o2=E6+T9,s[P1>>2]=o2,E2=h1+(q6<<2)|0,A2=+s[E2>>2],K1=d1+(q6<<2)|0,h2=+s[K1>>2],$2=h2+A2,s[E2>>2]=$2,e[Y1>>2]=1,e[O1>>2]=1,K=q6+T6|0,l2=$1+(K<<2)|0,r2=e[l2>>2]|0,a2=s1+(K<<2)|0,X1=e[a2>>2]|0,E4=(r2|0)>-1,m4=0-r2|0,s2=E4?r2:m4,o4=(X1|0)>-1,A4=0-X1|0,f2=o4?X1:A4,t2=(s2|0)>(f2|0),t2?(y2=(r2|0)>0,k2=r2-X1|0,w2=X1-r2|0,F2=y2?k2:w2,e[a2>>2]=F2,J=e[l2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=r2-X1|0,d2=X1-r2|0,K2=D2?N2:d2,e[a2>>2]=K2,e[l2>>2]=X1,t0=e[a2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,H2=h4?G2:S4,M2=H2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[a2>>2]=T1,X2=e[l2>>2]|0,L5=0-X2|0,e[l2>>2]=L5)}while(!1);if(I5=B1+(q6<<2)|0,A5=+s[I5>>2],c5=x1+(q6<<2)|0,p5=+s[c5>>2],M1=p5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=q6+1|0,A9=(S5|0)==(d3|0),A9)break;q6=S5}D4=e[i0>>2]|0,+gQ(D4,r0,n1,h1,B1,w1,T6,B,u1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=X3;if(B5=T6+J5|0,t5=(s0|0)>(B5|0),N9=I9+J5|0,t5)T6=B5,I9=N9;else{S3=n3;break}}else S3=H5;if(g3=(S3|0)>0,g3)X5=S3,i9=0;else{C=N4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,u5=e[J2>>2]|0,i5=(u5|0)==0,x5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[x5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,q5=(Q5|0)==0,q5?Y5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[x5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,Y5=e0),f3=i9+1|0,h3=(f3|0)<(Y5|0),h3;)X5=Y5,i9=f3;C=N4}function PS(t,n,A,a,g){t=t|0,n=+n,A=A|0,a=+a,g=+g;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,Z8=0,gt=0,ht=0,M8=0,T8=0,N8=0,G8=0,W8=0,j8=0,vt=0,U8=0,P8=0,O8=0,v8=0,k8=0,f8=0,q8=0,H8=0,X8=0,et=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,tt=0,St=0,ie=0,it=0,Y8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,rt=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,J8=0,dt=0,nt=0,st=0,V8=0,ot=0,K8=0,a8=0,$8=0,_8=0,H4=0,At=0,x8=0,Je=0,B9=0,at=0,Ve=0;for(Ve=C,C=C+32480|0,J3=Ve+32256|0,B9=Ve+1792|0,w9=Ve,x=A<<2,b=x,F=C,C=C+((1*b|0)+15&-16)|0,r2=S9(68)|0,Ae(B9|0,0,30464)|0,S3=a>0,o4=a<0,v9=0;;){for($e=v9<<2,ie=0;n5=ie+$e|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,q5=+s[t5>>2],H9=q5):H9=-30,v3=n5+1|0,a3=(v3|0)<88,a3?(R6=1272+(v3<<2)|0,U6=+s[R6>>2],z6=H9>U6,z6?ne=U6:ne=H9):(s9=H9>-30,s9?ne=-30:ne=H9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=ne>t9,A9?D9=t9:D9=ne):(M3=ne>-30,M3?D9=-30:D9=ne),X6=n5+3|0,u9=(X6|0)<88,u9?(a9=1272+(X6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(f9=D9>-30,f9?Ye=-30:Ye=D9),E6=J3+(ie<<2)|0,s[E6>>2]=Ye,T6=ie+1|0,N8=(T6|0)==56,!N8;)ie=T6;if(l4=(B9+(v9*1792|0)|0)+448|0,M=2792+(v9*1344|0)|0,s4(l4|0,M|0,224)|0,q=(B9+(v9*1792|0)|0)+672|0,h0=(2792+(v9*1344|0)|0)+224|0,s4(q|0,h0|0,224)|0,p0=(B9+(v9*1792|0)|0)+896|0,y0=(2792+(v9*1344|0)|0)+448|0,s4(p0|0,y0|0,224)|0,r1=(B9+(v9*1792|0)|0)+1120|0,a1=(2792+(v9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(B9+(v9*1792|0)|0)+1344|0,N1=(2792+(v9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(B9+(v9*1792|0)|0)+1568|0,a2=(2792+(v9*1344|0)|0)+1120|0,s4(c2|0,a2|0,224)|0,N2=B9+(v9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(B9+(v9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,S3)for(r8=0;;){if(o4)for(E8=0;h4=16-E8|0,kt=(h4|0)>-1,st=0-h4|0,G9=kt?h4:st,z9=+(G9|0),b9=z9*g,E9=b9+a,q6=E9<0,I=q6?0:E9,r9=I>0,u=r9?0:I,m4=((B9+(v9*1792|0)|0)+(r8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],A4=S4+u,s[m4>>2]=A4,b4=E8+1|0,O8=(b4|0)==56,!O8;)E8=b4;else for(o8=0;g3=16-o8|0,tt=(g3|0)>-1,V8=0-g3|0,x6=tt?g3:V8,b6=+(x6|0),L6=b6*g,D6=L6+a,d9=D6<0,m=d9?0:D6,i9=((B9+(v9*1792|0)|0)+(r8*224|0)|0)+(o8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=o8+1|0,P8=(E4|0)==56,!P8;)o8=E4;if(e3=r8+1|0,v8=(e3|0)==8,v8)break;r8=e3}else for(b8=0;;){if(o4)for(m8=0;j4=16-m8|0,St=(j4|0)>-1,ot=0-j4|0,C4=St?j4:ot,T4=+(C4|0),U9=T4*g,N4=U9+a,a4=N4>0,E=a4?0:N4,u4=((B9+(v9*1792|0)|0)+(b8*224|0)|0)+(m8<<2)|0,Ce=+s[u4>>2],q9=Ce+E,s[u4>>2]=q9,m9=m8+1|0,W8=(m9|0)==56,!W8;)m8=m9;else for(s8=0;pe=16-s8|0,ft=(pe|0)>-1,nt=0-pe|0,Ne=ft?pe:nt,Xe=+(Ne|0),G4=Xe*g,Ge=G4+a,U4=((B9+(v9*1792|0)|0)+(b8*224|0)|0)+(s8<<2)|0,be=+s[U4>>2],e8=be+Ge,s[U4>>2]=e8,Z9=s8+1|0,G8=(Z9|0)==56,!G8;)s8=Z9;if(ae=b8+1|0,j8=(ae|0)==8,j8)break;b8=ae}for(D4=t+(v9<<2)|0,x4=+s[D4>>2],M4=x4,O4=0;;){for(f4=(O4|0)<2,_6=+(O4|0),v=_6*10,y=70-v,P4=f4?50:y,R9=P4+M4,$4=R9,d8=0;_4=((B9+(v9*1792|0)|0)+(O4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],le=W9+$4,s[_4>>2]=le,ce=d8+1|0,F4=(ce|0)==56,!F4;)d8=ce;for(p4=w9+(O4*224|0)|0,s4(p4|0,J3|0,224)|0,ee=+(O4|0),R4=ee*10,ge=70-R4,S8=0;;)if(C9=(w9+(O4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=ge+g6,s[C9>>2]=Ue,Be=S8+1|0,ct=(Be|0)==56,ct){i8=0;break}else S8=Be;for(;B4=((B9+(v9*1792|0)|0)+(O4*224|0)|0)+(i8<<2)|0,c4=+s[B4>>2],P6=(w9+(O4*224|0)|0)+(i8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),t8=i8+1|0,xe=(t8|0)==56,!xe;)i8=t8;if(g4=O4+1|0,vt=(g4|0)==8,vt){Re=1;break}else O4=g4}for(;;){for(v4=Re+-1|0,Le=0;;)if(u8=(w9+(v4*224|0)|0)+(Le<<2)|0,T=+s[u8>>2],N=(w9+(Re*224|0)|0)+(Le<<2)|0,G=+s[N>>2],O=T>2]=T),z=Le+1|0,lt=(z|0)==56,lt){Pe=0;break}else Le=z;for(;Y=(w9+(Re*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((B9+(v9*1792|0)|0)+(Re*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,te=(X|0)==56,!te;)Pe=X;if(U=Re+1|0,U8=(U|0)==8,U8)break;Re=U}if(l0=v9+1|0,k8=(l0|0)==17,k8)break;v9=l0}for(y9=n,L4=(A|0)>0,X4=A^-1,Qe=0;;){for(Z=S9(32)|0,K=r2+(Qe<<2)|0,e[K>>2]=Z,$0=+(Qe|0),s0=$0*.5,i0=$0*.34657350182533264,r0=i0+4.135165354540845,V=+Pn(+r0),o0=V/y9,g0=+ZA(+o0),j=~~g0,c0=+(j|0),u0=c0*n,I0=u0+1,w0=I0,C0=+Zr(+w0),v0=C0*2.885390043258667,d0=v0+-11.931568145751953,B0=+op(+d0),E0=~~B0,b0=j+1|0,K0=+(b0|0),x0=K0*n,Q0=x0,M0=+Zr(+Q0),T0=M0*2.885390043258667,G0=T0+-11.931568145751953,P0=+ZA(+G0),Y0=~~P0,F0=(E0|0)>(Qe|0),ut=F0?Qe:E0,_0=(ut|0)<0,p8=_0?0:ut,N0=(Y0|0)>16,B=N0?16:Y0,V0=(p8|0)>(B|0),J0=Qe+1|0,O0=(J0|0)<17,z0=s0+3.9657840728759766,re=0;;){if(U0=S9(232)|0,q0=Z+(re<<2)|0,e[q0>>2]=U0,L4)for(n8=0;H0=F+(n8<<2)|0,s[H0>>2]=999,e1=n8+1|0,p9=(e1|0)==(A|0),!p9;)n8=e1;if(!V0)for(ue=p8;;){for(D0=+(ue|0),i1=D0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,o1=n1*.6931470036506653,Z0=+Pn(+o1),I1=Z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+Pn(+d1),p1=E1/y9,B1=p1+1,x1=~~B1,L1=(h1|0)<0,p=L1?0:h1,w1=(p|0)>(A|0),rt=w1?A:p,b1=(rt|0)<(ye|0),q4=b1?rt:ye,R1=(x1|0)<0,X8=R1?0:x1,F1=(X8|0)>(A|0),J8=F1?A:X8,G1=(q4|0)<(J8|0),v1=(q4|0)<(A|0),K8=G1&v1,K8)for(U1=((B9+(ue*1792|0)|0)+(re*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],_1=(ye|0)<(A|0),V1=_1?ye:A,O1=V1^-1,q1=(h1|0)>0,_=h1^-1,H1=q1?_:-1,Y1=(H1|0)<(O1|0),H4=Y1?O1:H1,j1=H4^-1,n2=(x1|0)>0,L=x1^-1,W1=n2?L:-1,P1=(W1|0)<(X4|0),At=P1?X4:W1,z1=At-H4|0,u2=H4+A|0,o2=u2^-1,E2=z1>>>0>o2>>>0,x8=E2?z1:o2,A2=j1-x8|0,X9=q4;;)if(K1=F+(X9<<2)|0,h2=+s[K1>>2],$2=h2>Z1,$2&&(s[K1>>2]=Z1),i2=X9+1|0,f8=(i2|0)==(A2|0),f8){Oe=A2;break}else X9=i2;else Oe=q4;if(l2=I8+1|0,q8=(l2|0)==56,q8){qe=Oe;break}else I8=l2,ye=Oe}if(c1=(qe|0)<(A|0),c1)for($1=((B9+(ue*1792|0)|0)+(re*224|0)|0)+220|0,u1=+s[$1>>2],Fe=qe;X1=F+(Fe<<2)|0,s2=+s[X1>>2],f2=s2>u1,f2&&(s[X1>>2]=u1),t2=Fe+1|0,H8=(t2|0)==(A|0),!H8;)Fe=t2;if(y2=ue+1|0,k2=(ue|0)<(B|0),k2)ue=y2;else break}if(O0){for(D8=0,fe=0;;){if(G2=+(D8|0),H2=G2*.125,M2=H2+s0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+Pn(+z2),O2=o5/y9,T1=~~O2,L5=M2+4.028284072875977,e5=L5*.6931470036506653,b5=+Pn(+e5),Z2=b5/y9,f5=Z2+1,k5=~~f5,P5=(T1|0)<0,S=P5?0:T1,l5=(S|0)>(A|0),I3=l5?A:S,v2=(I3|0)<(fe|0),He=v2?I3:fe,m5=(k5|0)<0,et=m5?0:k5,x2=(et|0)>(A|0),dt=x2?A:et,_2=(He|0)<(dt|0),p2=(He|0)<(A|0),a8=_2&p2,a8)for(C5=((B9+(J0*1792|0)|0)+(re*224|0)|0)+(D8<<2)|0,R5=+s[C5>>2],d5=(fe|0)<(A|0),D5=d5?fe:A,G5=D5^-1,_5=(T1|0)>0,D=T1^-1,q2=_5?D:-1,A5=(q2|0)<(G5|0),$8=A5?G5:q2,c5=$8^-1,p5=(k5|0)>0,Q=k5^-1,M1=p5?Q:-1,S5=(M1|0)<(X4|0),_8=S5?X4:M1,g5=_8-$8|0,a5=$8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,B5=c5-Je|0,Q4=He;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>R5,J2&&(s[s5>>2]=R5),u5=Q4+1|0,wt=(u5|0)==(B5|0),wt){A8=B5;break}else Q4=u5;else A8=He;if(i5=D8+1|0,Z8=(i5|0)==56,Z8){we=A8;break}else D8=i5,fe=A8}if(D2=(we|0)<(A|0),D2)for(d2=((B9+(J0*1792|0)|0)+(re*224|0)|0)+220|0,K2=+s[d2>>2],C8=we;x5=F+(C8<<2)|0,j2=+s[x5>>2],$5=j2>K2,$5&&(s[x5>>2]=K2),L2=C8+1|0,gt=(L2|0)==(A|0),!gt;)C8=L2}for(w2=Z+(re<<2)|0,C2=Z+(re<<2)|0,F2=Z+(re<<2)|0,he=0;;){f3=+(he|0),h3=f3*.125,Y5=z0+h3,X5=Y5*.6931470036506653,n3=+Pn(+X5),m3=n3/y9,F5=~~m3,J5=(F5|0)<0;do if(J5)u3=he+2|0,B3=e[w2>>2]|0,z3=B3+(u3<<2)|0,s[z3>>2]=-999;else if(G3=(F5|0)<(A|0),G3){i6=F+(F5<<2)|0,L3=e[i6>>2]|0,U3=he+2|0,l3=e[C2>>2]|0,c3=l3+(U3<<2)|0,e[c3>>2]=L3;break}else{z5=he+2|0,w3=e[F2>>2]|0,W5=w3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(C3=he+1|0,ht=(C3|0)==56,ht)break;he=C3}Q5=U0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(H5=U0+12|0,U5=+s[H5>>2],O5=U5>-200,O5)j9=1;else if(y3=U0+16|0,r6=+s[y3>>2],j3=r6>-200,j3)j9=2;else if(O3=U0+20|0,V5=+s[O3>>2],q3=V5>-200,q3)j9=3;else if(l6=U0+24|0,d3=+s[l6>>2],v6=d3>-200,v6)j9=4;else if(k6=U0+28|0,S6=+s[k6>>2],p6=S6>-200,p6)j9=5;else if(X3=U0+32|0,c6=+s[X3>>2],B6=c6>-200,B6)j9=6;else if(Y6=U0+36|0,C6=+s[Y6>>2],b3=C6>-200,b3)j9=7;else if(e6=U0+40|0,t6=+s[e6>>2],f6=t6>-200,f6)j9=8;else if(H3=U0+44|0,D3=+s[H3>>2],Y3=D3>-200,Y3)j9=9;else if(Z3=U0+48|0,A6=+s[Z3>>2],t3=A6>-200,t3)j9=10;else if(O6=U0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=U0+56|0,_3=+s[d6>>2],N6=_3>-200,N6)j9=12;else if(n6=U0+60|0,Q6=+s[n6>>2],K6=Q6>-200,K6)j9=13;else{if(I6=U0+64|0,J6=+s[I6>>2],F3=J6>-200,F3){j9=14;break}if(j6=U0+68|0,G6=+s[j6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[U0>>2]=j9,Y8=55;;){if(v5=Y8+2|0,P3=U0+(v5<<2)|0,M5=+s[P3>>2],o6=M5>-200,o6){it=Y8;break}if(A3=Y8+-1|0,R3=(A3|0)>17,R3)Y8=A3;else{it=A3;break}}if(u6=+(it|0),Q3=U0+4|0,s[Q3>>2]=u6,k3=re+1|0,M8=(k3|0)==8,M8)break;re=k3}if(T8=(J0|0)==17,T8)break;Qe=J0}return C=Ve,r2|0}function cQ(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=+g,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,v=t<<2,E=v,y=C,C=C+((1*E|0)+15&-16)|0,I=v,A2=C,C=C+((1*I|0)+15&-16)|0,m=v,j2=C,C=C+((1*m|0)+15&-16)|0,B=v,n3=C,C=C+((1*B|0)+15&-16)|0,p=v,W5=C,C=C+((1*p|0)+15&-16)|0,v5=+s[A>>2],r6=v5+g,S6=r6<1,A4=S6?1:r6,f6=A4*A4,D=f6*.5,z=D*A4,s[y>>2]=D,s[A2>>2]=D,s[j2>>2]=0,s[n3>>2]=z,s[W5>>2]=0,K=(t|0)>1,K)for(M3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=A+(M3<<2)|0,h1=+s[c1>>2],R1=h1+g,H1=R1<1,y9=H1?1:R1,K1=y9*y9,y2=K1+E6,M2=K1*E4,f5=M2+T6,R5=M2*E4,S5=R5+i9,J2=K1*y9,u5=J2+I9,i5=M2*y9,x5=i5+N9,$5=y+(M3<<2)|0,s[$5>>2]=y2,L2=A2+(M3<<2)|0,s[L2>>2]=f5,Q5=j2+(M3<<2)|0,s[Q5>>2]=S5,q5=n3+(M3<<2)|0,s[q5>>2]=u5,j5=W5+(M3<<2)|0,s[j5>>2]=x5,E5=M3+1|0,f3=E4+1,F6=(E5|0)==(t|0),!F6;)M3=E5,E6=y2,T6=f5,i9=S5,N9=x5,I9=u5,E4=f3;if(u0=e[n>>2]|0,x0=u0>>16,V0=(x0|0)>-1,V0)Y5=u0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=u0,B3=x0,t9=0,h4=0;;)if(m3=F5&65535,J5=y+(m3<<2)|0,v3=+s[J5>>2],u3=0-B3|0,z3=y+(u3<<2)|0,G3=+s[z3>>2],z5=G3+v3,w3=A2+(m3<<2)|0,i6=+s[w3>>2],L3=A2+(u3<<2)|0,U3=+s[L3>>2],a3=i6-U3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(u3<<2)|0,H5=+s[C3>>2],U5=H5+c3,O5=n3+(m3<<2)|0,P3=+s[O5>>2],M5=n3+(u3<<2)|0,o6=+s[M5>>2],e3=o6+P3,A3=W5+(m3<<2)|0,R3=+s[A3>>2],u6=W5+(u3<<2)|0,Q3=+s[u6>>2],k3=R3-Q3,y3=e3*U5,j3=k3*a3,O3=y3-j3,V5=k3*z5,S3=e3*a3,g3=V5-S3,q3=U5*z5,l6=a3*a3,d3=q3-l6,v6=g3*h4,k6=v6+O3,p6=k6/d3,X3=p6<0,e9=X3?0:p6,c6=e9-g,B6=a+(t9<<2)|0,s[B6>>2]=c6,x6=t9+1|0,Y6=h4+1,C6=n+(x6<<2)|0,b3=e[C6>>2]|0,e6=b3>>16,t6=(e6|0)>-1,t6){Y5=b3,d6=O3,Q6=g3,J6=d3,M6=x6,o4=Y6;break}else F5=b3,B3=e6,t9=x6,h4=Y6;if(h3=Y5&65535,X5=(h3|0)<(t|0),X5)for(S=Y5,Z3=h3,X6=M6,z9=o4;;)if(D3=S>>16,Y3=y+(Z3<<2)|0,b6=+s[Y3>>2],A6=y+(D3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=A2+(Z3<<2)|0,a6=+s[s3>>2],Q=A2+(D3<<2)|0,_=+s[Q>>2],L=a6-_,x=j2+(Z3<<2)|0,F=+s[x>>2],M=j2+(D3<<2)|0,T=+s[M>>2],N=F-T,G=n3+(Z3<<2)|0,O=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=O-t0,W=W5+(Z3<<2)|0,e0=+s[W>>2],q=W5+(D3<<2)|0,X=+s[q>>2],U=e0-X,l0=J*N,Z=U*L,$0=l0-Z,s0=U*O6,i0=J*L,r0=s0-i0,V=N*O6,h0=L*L,o0=V-h0,g0=r0*z9,j=g0+$0,c0=j/o0,I0=c0<0,s9=I0?0:c0,w0=s9-g,C0=a+(X6<<2)|0,s[C0>>2]=w0,v0=X6+1|0,d0=z9+1,p0=n+(v0<<2)|0,B0=e[p0>>2]|0,E0=B0&65535,b0=(E0|0)<(t|0),b0)S=B0,Z3=E0,X6=v0,z9=d0;else{_3=$0,L6=r0,F3=o0,A9=v0,G9=d0;break}else _3=d6,L6=Q6,F3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(u9=A9,b9=G9;K0=b9*L6,Q0=K0+_3,M0=Q0/F3,T0=M0<0,R6=T0?0:M0,G0=R6-g,P0=a+(u9<<2)|0,s[P0>>2]=G0,y0=u9+1|0,Y0=b9+1,y6=(y0|0)==(t|0),!y6;)u9=y0,b9=Y0;if(F0=(u|0)<1,F0){C=D4;return}if(_0=(u|0)/2&-1,N0=_0-u|0,J0=(N0|0)>-1,J0)N6=_3,K6=L6,j6=F3,f9=0,E9=0;else for(O0=u-_0|0,H0=_0,i1=N0,d9=0,q6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],D0=0-i1|0,$1=y+(D0<<2)|0,u1=+s[$1>>2],g1=u1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(D0<<2)|0,n1=+s[a1>>2],o1=s1-n1,Z0=j2+(H0<<2)|0,I1=+s[Z0>>2],m1=j2+(D0<<2)|0,d1=+s[m1>>2],E1=d1+I1,p1=n3+(H0<<2)|0,B1=+s[p1>>2],Q1=n3+(D0<<2)|0,x1=+s[Q1>>2],L1=x1+B1,w1=W5+(H0<<2)|0,b1=+s[w1>>2],F1=W5+(D0<<2)|0,G1=+s[F1>>2],v1=b1-G1,U1=L1*E1,Z1=v1*o1,N1=U1-Z1,_1=v1*g1,V1=L1*o1,O1=_1-V1,q1=E1*g1,Y1=o1*o1,j1=q1-Y1,n2=O1*q6,W1=n2+N1,P1=W1/j1,c2=P1-g,z1=a+(d9<<2)|0,u2=+s[z1>>2],o2=c2>2]=c2),E2=d9+1|0,h2=q6+1,$2=_0+E2|0,i2=$2-u|0,z6=(E2|0)==(O0|0),z6){N6=N1,K6=O1,j6=j1,f9=O0,E9=h2;break}else H0=$2,i1=i2,d9=E2,q6=h2;if(z0=f9+_0|0,U0=(z0|0)<(t|0),U0)for(q0=t-_0|0,b=z0,$9=f9,m4=E9;;)if(r2=b-u|0,a2=y+(b<<2)|0,X1=+s[a2>>2],s2=y+(r2<<2)|0,f2=+s[s2>>2],t2=X1-f2,k2=A2+(b<<2)|0,w2=+s[k2>>2],C2=A2+(r2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(b<<2)|0,d2=+s[N2>>2],K2=j2+(r2<<2)|0,G2=+s[K2>>2],H2=d2-G2,P2=n3+(b<<2)|0,z2=+s[P2>>2],o5=n3+(r2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=W5+(b<<2)|0,L5=+s[X2>>2],e5=W5+(r2<<2)|0,b5=+s[e5>>2],Z2=L5-b5,k5=T1*H2,P5=Z2*D2,l5=k5-P5,v2=Z2*t2,m5=T1*D2,n5=v2-m5,x2=H2*t2,_2=D2*D2,p2=x2-_2,C5=n5*m4,d5=C5+l5,D5=d5/p2,G5=D5-g,_5=a+($9<<2)|0,q2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,p5=A5+_0|0,D6=(A5|0)==(q0|0),D6){n6=l5,I6=n5,G6=p2,a9=q0,r9=c5;break}else b=p5,$9=A5,m4=c5;else n6=N6,I6=K6,G6=j6,a9=f9,r9=E9;if(l2=(a9|0)<(t|0),l2)T9=a9,S4=r9;else{C=D4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-g,g2=a+(T9<<2)|0,B5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function OS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;if(c1=C,u=A<<2,a=u,E=C,C=C+((1*a|0)+15&-16)|0,g=u,_=C,C=C+((1*g|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,O0=0;else{C=c1;return}for(;;){b0=(O0|0)<2;do if(b0)Q0=E+(O0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,B=_+(O0<<2)|0,e[B>>2]=m,H0=O0;else{for(K0=t+(y0<<2)|0,x0=+s[K0>>2],z0=O0;;){if(p=z0+-1|0,S=_+(p<<2)|0,b=+s[S>>2],v=x0>2]|0,x=L+n|0,F=(y0|0)<(x|0),M=(z0|0)>1,_0=M&F,!_0){q0=z0,i1=12;break}if(T=z0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(b<=G),O){q0=z0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)z0=p;else{q0=z0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(U0<<2)|0,e[y>>2]=y0,D=_+(U0<<2)|0,s[D>>2]=x0,H0=U0;break}else if((i1|0)==12){i1=0,e0=E+(q0<<2)|0,e[e0>>2]=y0,q=_+(q0<<2)|0,s[q>>2]=x0,H0=q0;break}}while(!1);if(r1=H0+1|0,X=y0+1|0,P0=(X|0)==(A|0),P0){e1=H0,D0=r1;break}else y0=X,O0=r1}if(s0=(e1|0)>-1,!s0){C=c1;return}for(w0=n+1|0,Y0=0,N0=0;;){if(U=(Y0|0)<(e1|0),U?(l0=Y0+1|0,Z=_+(l0<<2)|0,K=+s[Z>>2],$0=_+(Y0<<2)|0,i0=+s[$0>>2],r0=K>i0,r0?(V=E+(l0<<2)|0,h0=e[V>>2]|0,M0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,o0=E+(Y0<<2)|0,g0=e[o0>>2]|0,j=w0+g0|0,M0=j),c0=(M0|0)>(A|0),F0=c0?A:M0,u0=(N0|0)<(F0|0),u0)for(I0=_+(Y0<<2)|0,C0=e[I0>>2]|0,v0=(M0|0)<(A|0),d0=v0?M0:A,J0=N0;;)if(p0=t+(J0<<2)|0,e[p0>>2]=C0,B0=J0+1|0,T0=(B0|0)==(d0|0),T0){V0=d0;break}else J0=B0;else V0=N0;if(E0=Y0+1|0,G0=(E0|0)==(D0|0),G0)break;Y0=E0,N0=V0}C=c1}function gQ(t,n,A,a,g,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0;var B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0;if(c2=C,x=I<<2,D=x,F=C,C=C+((1*D|0)+15&-16)|0,e0=t+500|0,V=e[e0>>2]|0,d0=(V|0)==0,d0?B1=I:(P0=t+504|0,q0=e[P0>>2]|0,s1=q0-E|0,B1=s1),F1=(B1|0)>(I|0),Y1=F1?I:B1,M=(Y1|0)>0,M)for(T=(u|0)==0,N=(B1|0)<(I|0),G=N?B1:I,O1=0;;){T?P1=9:(t0=u+(O1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(P1=9));do if((P1|0)==9)if(P1=0,q=a+(O1<<2)|0,X=+s[q>>2],U=g+(O1<<2)|0,l0=+s[U>>2],Z=X/l0,K=A+(O1<<2)|0,$0=+s[K>>2],s0=$0<0,i0=Z,r0=+Gn(+i0),h0=+Oi(r0),s0){o0=-h0,g0=~~o0,j=m+(O1<<2)|0,e[j>>2]=g0;break}else{c0=~~h0,u0=m+(O1<<2)|0,e[u0>>2]=c0;break}while(!1);if(I0=O1+1|0,_1=(I0|0)==(G|0),_1){V1=G;break}else O1=I0}else V1=0;if(O=(V1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(u|0)!=0,Y=n-E|0,B=0,G1=0,q1=V1;;){z?(w0=u+(q1<<2)|0,C0=e[w0>>2]|0,v0=(C0|0)==0,v0?P1=15:(p=B,v1=G1)):P1=15;do if((P1|0)==15)if(P1=0,p0=a+(q1<<2)|0,B0=+s[p0>>2],E0=g+(q1<<2)|0,b0=+s[E0>>2],K0=B0/b0,x0=!(K0<.25),Q0=(q1|0)<(Y|0),j1=z&Q0,n2=x0|j1,n2){y0=A+(q1<<2)|0,Y0=+s[y0>>2],F0=Y0<0,_0=K0,N0=+Gn(+_0),V0=+Oi(N0),J0=-V0,_=F0?J0:V0,Q=~~_,O0=m+(q1<<2)|0,e[O0>>2]=Q,z0=r5(Q,Q)|0,U0=+(z0|0),r1=+s[E0>>2],H0=U0*r1,s[p0>>2]=H0,p=B,v1=G1;break}else{M0=K0+B,T0=G1+1|0,G0=F+(G1<<2)|0,e[G0>>2]=p0,p=M0,v1=T0;break}while(!1);if(e1=q1+1|0,N1=(e1|0)==(I|0),N1){S=p,U1=v1;break}else B=p,G1=v1,q1=e1}if(D0=(U1|0)==0,D0||(Mh(F,U1,4,9),i1=(U1|0)>0,!i1))return y=S,C=c2,+y;for(c1=a,$1=t+512|0,u1=+A1[$1>>3],b=S,H1=0;;)if(g1=F+(H1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,o1=n1>>2,Z0=b,I1=!(Z0>=u1),I1?(v=b,L=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,p1=(e[B2>>2]=E1,+s[B2>>2]),Q1=~~p1,x1=b+-1,L1=g+(o1<<2)|0,w1=+s[L1>>2],v=x1,L=Q1,W1=w1),b1=m+(o1<<2)|0,e[b1>>2]=L,s[l1>>2]=W1,R1=H1+1|0,Z1=(R1|0)==(U1|0),Z1){y=v;break}else b=v,H1=R1;return C=c2,+y}function qS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=+s[A>>2],g=e[n>>2]|0,u=+s[g>>2],E=au,B=m&1,p=I-B|0,p|0}function HS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function YS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0;if(W=C,A=(t|0)==0,!A){if(a=t+4|0,y=e[a>>2]|0,F=(y|0)>0,M=t+20|0,F)for(x=y,Y=0;T=e[M>>2]|0,N=T+(Y<<2)|0,G=e[N>>2]|0,O=(G|0)==0,O?u=x:(I2(G),n=e[a>>2]|0,u=n),z=Y+1|0,g=(z|0)<(u|0),g;)x=u,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,B=(m|0)>0,p=t+28|0,B)for(t0=0;S=e[p>>2]|0,b=S+(t0<<2)|0,v=e[b>>2]|0,I2(v),D=t0+1|0,Q=e[I>>2]|0,_=(D|0)<(Q|0),_;)t0=D;L=e[p>>2]|0,I2(L),I2(t)}}function JS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0;if(c0=C,g=e[t>>2]|0,U2(n,g,24),u=t+4|0,Q=e[u>>2]|0,U2(n,Q,24),Y=t+8|0,U=e[Y>>2]|0,l0=U+-1|0,U2(n,l0,24),Z=t+12|0,K=e[Z>>2]|0,$0=K+-1|0,U2(n,$0,6),s0=t+20|0,E=e[s0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(B=t+24|0,i0=0,V=0;;){if(b=B+(V<<2)|0,v=e[b>>2]|0,y=Tt(v)|0,D=(y|0)>3,_=e[b>>2]|0,D?(U2(n,_,3),U2(n,1,1),L=e[b>>2]|0,x=L>>3,U2(n,x,5)):U2(n,_,4),F=e[b>>2]|0,M=(F|0)==0,M)o0=0;else for(A=F,g0=0;;)if(T=A&1,N=T+g0|0,G=A>>>1,O=(G|0)==0,O){o0=N;break}else A=G,g0=N;if(z=o0+i0|0,t0=V+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,V=t0;else{a=z;break}}if(p=(a|0)>0,!!p)for(S=t+280|0,h0=0;e0=S+(h0<<2)|0,q=e[e0>>2]|0,U2(n,q,8),X=h0+1|0,r0=(X|0)==(a|0),!r0;)h0=X}}function VS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,L=e[I>>2]|0,J=W4(n,24)|0,e[E>>2]=J,i0=W4(n,24)|0,C0=E+4|0,e[C0>>2]=i0,T0=W4(n,24)|0,z0=T0+1|0,q0=E+8|0,e[q0>>2]=z0,r1=W4(n,6)|0,m=r1+1|0,B=E+12|0,e[B>>2]=m,p=W4(n,8)|0,S=E+20|0,e[S>>2]=p,b=(p|0)<0;e:do if(b)a1=26;else{if(v=(r1|0)>-1,v){for(y=E+24|0,e1=0,c1=0;;){if(_=W4(n,3)|0,x=W4(n,1)|0,F=(x|0)<0,F){a1=26;break e}if(M=(x|0)==0,M)D0=_;else{if(T=W4(n,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,D0=O}if(z=y+(c1<<2)|0,e[z>>2]=D0,Y=(D0|0)==0,Y)l1=0;else for(a=D0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,q=(e0|0)==0,q){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,l0=e[B>>2]|0,Z=(U|0)<(l0|0),Z)e1=X,c1=U;else{u=X;break}}if(D=(u|0)>0,D)for(Q=E+280|0,$1=0;;){if(K=W4(n,8)|0,$0=(K|0)<0,$0)break e;if(s0=Q+($1<<2)|0,e[s0>>2]=K,r0=$1+1|0,V=(r0|0)<(u|0),V)$1=r0;else{U0=D,H0=u;break}}else U0=0,H0=u}else U0=0,H0=0;if(h0=e[S>>2]|0,o0=L+24|0,g0=e[o0>>2]|0,j=(h0|0)<(g0|0),j){if(U0)for(c0=E+280|0,u1=0;;){if(w0=c0+(u1<<2)|0,v0=e[w0>>2]|0,d0=(v0|0)<(g0|0),!d0||(p0=(L+1824|0)+(v0<<2)|0,B0=e[p0>>2]|0,E0=B0+12|0,b0=e[E0>>2]|0,K0=(b0|0)==0,u0=u1+1|0,K0))break e;if(I0=(u0|0)<(H0|0),I0)u1=u0;else break}if(x0=(L+1824|0)+(h0<<2)|0,Q0=e[x0>>2]|0,M0=Q0+4|0,G0=e[M0>>2]|0,P0=e[Q0>>2]|0,y0=(P0|0)<1,!y0){for(Y0=e[B>>2]|0,i1=P0,g1=1;;){if(N0=r5(Y0,g1)|0,V0=(N0|0)>(G0|0),V0)break e;if(F0=i1+-1|0,_0=(i1|0)>1,_0)i1=F0,g1=N0;else{g=N0;break}}return J0=E+16|0,e[J0>>2]=g,A=E,A|0}}}while(!1);return(a1|0)==26&&(O0=(E|0)==0,O0)?(A=0,A|0):(I2(E),A=0,A|0)}function KS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0;if(B1=C,u=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,s0=e[t0>>2]|0,e[u>>2]=n,w0=n+12|0,M0=e[w0>>2]|0,O0=u+4|0,e[O0>>2]=M0,r1=s0+2848|0,H0=e[r1>>2]|0,I=u+12|0,e[I>>2]=H0,m=H0,B=n+20|0,p=e[B>>2]|0,S=m+(p*56|0)|0,b=u+16|0,e[b>>2]=S,v=e[S>>2]|0,y=n4(M0,4)|0,D=u+20|0,e[D>>2]=y,Q=(M0|0)>0,Q)for(L=n+24|0,x=n+280|0,e1=0,l1=0,h1=0;;){if(F=L+(l1<<2)|0,M=e[F>>2]|0,T=Tt(M)|0,N=(T|0)==0,N)c1=e1,m1=h1;else if(G=(T|0)>(h1|0),a=G?T:h1,O=n4(T,4)|0,z=y+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[F>>2]|0,W=y+(l1<<2)|0,D0=e1,o1=0;;)if(e0=1<>2]|0,l0=D0+1|0,Z=x+(D0<<2)|0,K=e[Z>>2]|0,$0=U+(K*56|0)|0,i0=e[W>>2]|0,r0=i0+(o1<<2)|0,e[r0>>2]=$0,i1=l0),V=o1+1|0,u1=(V|0)==(T|0),u1){c1=i1,m1=a;break}else D0=i1,o1=V;else c1=e1,m1=a;if(h0=l1+1|0,o0=(h0|0)<(M0|0),o0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(g0=u+24|0,e[g0>>2]=1,j=(v|0)>0,j){for(u0=1,s1=0;;)if(c0=r5(u0,M0)|0,I0=s1+1|0,$1=(I0|0)==(v|0),$1){A=c0;break}else u0=c0,s1=I0;e[g0>>2]=A,d0=A}else d0=1;if(C0=u+8|0,e[C0>>2]=I1,v0=d0<<2,p0=S9(v0)|0,B0=u+28|0,e[B0>>2]=p0,E0=(d0|0)>0,!E0)return u|0;if(b0=v<<2,!j){for(a1=0;J0=S9(b0)|0,z0=p0+(a1<<2)|0,e[z0>>2]=J0,U0=a1+1|0,q0=(U0|0)<(d0|0),q0;)a1=U0;return u|0}for(K0=e[B0>>2]|0,n1=0;;){for(_0=S9(b0)|0,N0=p0+(n1<<2)|0,e[N0>>2]=_0,V0=K0+(n1<<2)|0,Y0=e[V0>>2]|0,g=d0,Z0=0,E1=n1;d1=(g|0)/(M0|0)&-1,T0=(E1|0)/(d1|0)&-1,G0=r5(T0,d1)|0,P0=E1-G0|0,y0=Y0+(Z0<<2)|0,e[y0>>2]=T0,F0=Z0+1|0,g1=(F0|0)==(v|0),!g1;)g=d1,Z0=F0,E1=P0;if(x0=n1+1|0,Q0=(x0|0)<(d0|0),Q0)n1=x0;else break}return u|0}function zS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,u=(g|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(B=A+(Q<<2)|0,p=e[B>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=p,L=S),v=Q+1|0,D=(v|0)==(g|0),D){x=L;break}else Q=v,_=L;return y=(x|0)==0,y||hQ(t,n,A,x,2),0}function ZS(t,n,A,a,g,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0;if(G=C,m=(u|0)>0,m)x=0,F=0;else return 0;for(;;)if(B=g+(x<<2)|0,p=e[B>>2]|0,S=(p|0)==0,S?M=F:(b=a+(x<<2)|0,v=e[b>>2]|0,y=F+1|0,D=a+(F<<2)|0,e[D>>2]=v,M=y),Q=x+1|0,L=(Q|0)==(u|0),L){T=M;break}else x=Q,F=M;return _=(T|0)==0,_||uQ(t,A,a,T,E),0}function WS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;if(p1=C,I=(g|0)>0,I)i1=0,h1=0;else return u=0,u|0;for(;;)if(m=a+(i1<<2)|0,x=e[m>>2]|0,W=(x|0)==0,W?m1=h1:(r0=A+(i1<<2)|0,v0=e[r0>>2]|0,G0=h1+1|0,V0=A+(h1<<2)|0,e[V0>>2]=v0,m1=G0),J0=i1+1|0,q0=(J0|0)==(g|0),q0){d1=m1;break}else i1=J0,h1=m1;if(O0=(d1|0)==0,O0)return u=0,u|0;if(B=e[n>>2]|0,p=B+8|0,S=e[p>>2]|0,b=B+12|0,v=e[b>>2]|0,y=B+4|0,D=e[y>>2]|0,Q=e[B>>2]|0,_=D-Q|0,L=(_|0)/(S|0)&-1,F=d1<<2,M=qt(t,F)|0,T=+(S|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=L<<2,c1=0;q=qt(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=q,Ae(q|0,0,z|0)|0,U=c1+1|0,D0=(U|0)==(d1|0),!D0;)c1=U;if(Y=(L|0)>0,Y)for(t0=(S|0)>0,J=v+-1|0,e0=(v|0)>1,$1=0;;){if(l0=r5($1,S)|0,Z=e[B>>2]|0,K=Z+l0|0,O)for(g1=0;;){if(t0)for($0=A+(g1<<2)|0,s0=e[$0>>2]|0,U0=0,l1=0,o1=0;;)if(i0=K+l1|0,V=s0+(i0<<2)|0,h0=e[V>>2]|0,u1=(h0|0)>-1,Z0=0-h0|0,o0=u1?h0:Z0,g0=(o0|0)>(o1|0),E=g0?o0:o1,j=o0+U0|0,c0=l1+1|0,r1=(c0|0)==(S|0),r1){z0=j,n1=E;break}else U0=j,l1=c0,o1=E;else z0=0,n1=0;u0=+(z0|0),I0=u0*G,w0=~~I0;e:do if(e0)for(a1=0;;){if(C0=(B+2328|0)+(a1<<2)|0,d0=e[C0>>2]|0,p0=(n1|0)>(d0|0),!p0&&(B0=(B+2584|0)+(a1<<2)|0,E0=e[B0>>2]|0,b0=(E0|0)<0,K0=(w0|0)<(E0|0),I1=b0|K0,I1)){s1=a1;break e}if(x0=a1+1|0,Q0=(x0|0)<(J|0),Q0)a1=x0;else{s1=x0;break}}else s1=0;while(!1);if(M0=M+(g1<<2)|0,T0=e[M0>>2]|0,P0=T0+($1<<2)|0,e[P0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(Y0=$1+1|0,e1=(Y0|0)==(L|0),e1)break;$1=Y0}return F0=n+40|0,_0=e[F0>>2]|0,N0=_0+1|0,e[F0>>2]=N0,u=M,u|0}function jS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,u=(g|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(B=A+(Q<<2)|0,p=e[B>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=p,L=S),v=Q+1|0,D=(v|0)==(g|0),D){x=L;break}else Q=v,_=L;return y=(x|0)==0,y||hQ(t,n,A,x,3),0}function XS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0;if(Z0=C,m=(g|0)>0,m)N0=0,n1=0;else return u=0,u|0;for(;;)if(B=a+(N0<<2)|0,F=e[B>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+n1|0,V=N0+1|0,Y0=(V|0)==(g|0),Y0){a1=s1;break}else N0=V,n1=s1;if(l1=(a1|0)==0,l1)return u=0,u|0;if(d0=e[n>>2]|0,K0=d0+8|0,x0=e[K0>>2]|0,Q0=d0+12|0,M0=e[Q0>>2]|0,p=d0+4|0,S=e[p>>2]|0,b=e[d0>>2]|0,v=S-b|0,y=(v|0)/(x0|0)&-1,D=qt(t,4)|0,Q=y<<2,_=qt(t,Q)|0,e[D>>2]=_,Ae(_|0,0,Q|0)|0,L=(y|0)>0,L)for(x=e[d0>>2]|0,M=(x|0)/(g|0)&-1,T=(x0|0)>0,N=M0+-1|0,G=(M0|0)>1,O=e[D>>2]|0,z=(g|0)>1,V0=0,H0=M;;){if(T)for(Y=e[A>>2]|0,G0=0,z0=0,D0=H0,c1=0;;){if(t0=Y+(D0<<2)|0,J=e[t0>>2]|0,J0=(J|0)>-1,$1=0-J|0,W=J0?J:$1,q=(W|0)>(c1|0),I=q?W:c1,z)for(y0=G0,r1=1;;)if(X=A+(r1<<2)|0,U=e[X>>2]|0,l0=U+(D0<<2)|0,Z=e[l0>>2]|0,O0=(Z|0)>-1,u1=0-Z|0,K=O0?Z:u1,$0=(K|0)>(y0|0),E=$0?K:y0,s0=r1+1|0,F0=(s0|0)==(g|0),F0){P0=E;break}else y0=E,r1=s0;else P0=G0;if(i0=D0+1|0,r0=z0+g|0,h0=(r0|0)<(x0|0),h0)G0=P0,z0=r0,D0=i0,c1=I;else{T0=P0,e1=i0,i1=I;break}}else T0=0,e1=H0,i1=0;e:do if(G)for(q0=0;;){if(o0=(d0+2328|0)+(q0<<2)|0,g0=e[o0>>2]|0,j=(i1|0)>(g0|0),!j&&(c0=(d0+2584|0)+(q0<<2)|0,u0=e[c0>>2]|0,I0=(T0|0)>(u0|0),!I0)){U0=q0;break e}if(w0=q0+1|0,C0=(w0|0)<(N|0),C0)q0=w0;else{U0=w0;break}}else U0=0;while(!1);if(v0=O+(V0<<2)|0,e[v0>>2]=U0,p0=V0+1|0,_0=(p0|0)==(y|0),_0)break;V0=p0,H0=e1}return B0=n+40|0,E0=e[B0>>2]|0,b0=E0+1|0,e[B0>>2]=b0,u=D,u|0}function eb(t,n,A,a,g,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0;if(s0=C,C=C+16|0,K=s0,m=n+36|0,B=e[m>>2]|0,F=(B|0)/2&-1,M=u<<2,T=r5(M,F)|0,N=qt(n,T)|0,e[K>>2]=N,G=(u|0)>0,!G)return C=s0,0;for(O=(B|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,p=g+(J<<2)|0,S=e[p>>2]|0,q=(S|0)!=0,b=q&1,U=b+Z|0,O)for(W=0,e0=J;v=Y+(W<<2)|0,y=e[v>>2]|0,D=N+(e0<<2)|0,e[D>>2]=y,Q=W+1|0,_=e0+u|0,L=(Q|0)<(F|0),L;)W=Q,e0=_;if(x=J+1|0,t0=(x|0)==(u|0),t0){l0=U;break}else J=x,Z=U}return X=(l0|0)==0,X?(C=s0,0):(uQ(t,A,K,1,E),C=s0,0)}function tb(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,x=e[m>>2]|0,W=n+16|0,r0=e[W>>2]|0,v0=e[r0>>2]|0,G0=t+36|0,U0=e[G0>>2]|0,l1=r5(U0,g)|0,s1=l1>>1,B=I+4|0,p=e[B>>2]|0,S=(p|0)<(s1|0),u=S?p:s1,b=e[I>>2]|0,v=u-b|0,y=(v|0)>0,!y)return 0;D=(v|0)/(x|0)&-1,Q=v0+-1|0,_=Q+D|0,L=(_|0)/(v0|0)&-1,F=L<<2,M=qt(t,F)|0,T=(g|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(g|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(g|0),t0||(J=n+8|0,e0=e[J>>2]|0,q=(e0|0)>0,!q))return 0;X=(D|0)>0,U=t+4|0,l0=I+16|0,Z=n+28|0,K=(v0|0)>0,$0=n+20|0,g1=e0,p1=0;e:for(;;){if(X){for(s0=(p1|0)==0,i0=1<>2]|0,h0=jm(V,U)|0,o0=(h0|0)==-1,o0){B1=23;break e}if(g0=e[l0>>2]|0,j=(h0|0)<(g0|0),!j){B1=23;break e}if(c0=e[Z>>2]|0,u0=c0+(h0<<2)|0,I0=e[u0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=I0,C0=(I0|0)==0,C0){B1=23;break e}}if(d0=(o1|0)<(D|0),E1=K&d0,E1)for(p0=M+(m1<<2)|0,I1=o1,h1=0;;){if(B0=e[p0>>2]|0,E0=B0+(h1<<2)|0,b0=e[E0>>2]|0,K0=(I+24|0)+(b0<<2)|0,x0=e[K0>>2]|0,Q0=x0&i0,M0=(Q0|0)==0,!M0&&(T0=e[$0>>2]|0,P0=T0+(b0<<2)|0,y0=e[P0>>2]|0,Y0=y0+(p1<<2)|0,F0=e[Y0>>2]|0,_0=(F0|0)==0,!_0&&(N0=r5(I1,x)|0,V0=e[I>>2]|0,J0=V0+N0|0,O0=AS(F0,A,J0,g,U,x)|0,z0=(O0|0)==-1,z0))){B1=23;break e}if(q0=h1+1|0,r1=I1+1|0,H0=(q0|0)<(v0|0),e1=(r1|0)<(D|0),d1=H0&e1,d1)I1=r1,h1=q0;else{Z0=r1;break}}else Z0=o1;if(D0=m1+1|0,i1=(Z0|0)<(D|0),i1)o1=Z0,m1=D0;else break}E=e[J>>2]|0,u1=E}else u1=g1;if(c1=p1+1|0,$1=(c1|0)<(u1|0),$1)g1=u1,p1=c1;else{B1=23;break}}return(B1|0)==23,0}function hQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,B=e[n>>2]|0,p=B+8|0,M=e[p>>2]|0,q=n+16|0,h0=e[q>>2]|0,p0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=B+4|0,S=e[Q1>>2]|0,b=(S|0)<(a1|0),u=b?S:a1,v=e[B>>2]|0,y=u-v|0,D=(y|0)>0,!D){C=j1;return}if(Q=(y|0)/(M|0)&-1,_=a<<2,E=_,L=C,C=C+((1*E|0)+15&-16)|0,x=(a|0)>0,x)for(F=p0+-1|0,T=F+Q|0,N=(T|0)/(p0|0)&-1,G=N<<2,G1=0;l0=qt(t,G)|0,Z=L+(G1<<2)|0,e[Z>>2]=l0,K=G1+1|0,L1=(K|0)==(a|0),!L1;)G1=K;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=B+16|0,e0=n+28|0,X=(p0|0)>0,U=n+20|0,m=x^1,H1=0;e:for(;;){if(t0)for($0=1<>2]|0,H0=jm(q0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(D0=e[W>>2]|0,i1=(H0|0)<(D0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,u1=e[$1>>2]|0,g1=L+(v1<<2)|0,l1=e[g1>>2]|0,s1=l1+(_1<<2)|0,e[s1>>2]=u1,n1=(u1|0)==0,z0=v1+1|0,n1){Y1=25;break e}if(U0=(z0|0)<(a|0),U0)v1=z0;else break}s0=(w1|0)<(Q|0),q1=X&s0;t:do if(q1){if(x)F1=w1,N1=0;else for(R1=w1,Z1=0;;)if(o1=Z1+1|0,Z0=R1+1|0,I1=(o1|0)<(p0|0),h1=(Z0|0)<(Q|0),V1=I1&h1,V1)R1=Z0,Z1=o1;else{b1=Z0;break t}for(;;){for(c0=r5(F1,M)|0,U1=0;;){if(g0=e[B>>2]|0,j=g0+c0|0,u0=L+(U1<<2)|0,I0=e[u0>>2]|0,w0=I0+(_1<<2)|0,C0=e[w0>>2]|0,v0=C0+(N1<<2)|0,d0=e[v0>>2]|0,B0=(B+24|0)+(d0<<2)|0,E0=e[B0>>2]|0,b0=E0&$0,K0=(b0|0)==0,!K0&&(x0=e[U>>2]|0,Q0=x0+(d0<<2)|0,M0=e[Q0>>2]|0,T0=M0+(H1<<2)|0,G0=e[T0>>2]|0,P0=(G0|0)==0,!P0&&(Y0=A+(U1<<2)|0,F0=e[Y0>>2]|0,_0=F0+(j<<2)|0,N0=mp[g&3](G0,_0,J,M)|0,V0=(N0|0)==-1,V0))){Y1=25;break e}if(J0=U1+1|0,O0=(J0|0)<(a|0),O0)U1=J0;else break}if(i0=N1+1|0,r0=F1+1|0,V=(i0|0)<(p0|0),o0=(r0|0)<(Q|0),O1=V&o0,O1)F1=r0,N1=i0;else{b1=r0;break}}}else b1=w1;while(!1);if(m1=_1+1|0,d1=(b1|0)<(Q|0),d1)w1=b1,_1=m1;else break}if(E1=H1+1|0,p1=e[O>>2]|0,B1=(E1|0)<(p1|0),B1)H1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function uQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,_=Q+8|0,$2=e[_>>2]|0,H2=Q+12|0,Z2=e[H2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,u5=e[M1>>2]|0,h3=Q+4|0,G3=e[h3>>2]|0,L=e[Q>>2]|0,J=G3-L|0,i0=(J|0)/($2|0)&-1,Ae(O6|0,0,512)|0,Ae(s3|0,0,512)|0,C0=n+8|0,T0=e[C0>>2]|0,z0=(T0|0)>0,!z0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,v1=(u5|0)>1,n2=n+36|0,i2=(u5|0)>0,k2=n+20|0,w2=n+32|0,C2=0-u5|0,y2=T0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(V5<<2)|0,_5=e[G5>>2]|0,q2=e[C5>>2]|0,I5=q2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(p5=Rh(q2,_5,t)|0,S5=e[n2>>2]|0,g5=S5+p5|0,e[n2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(v2=g+(b3<<2)|0,f5=e[v2>>2]|0,m5=f5+(V5<<2)|0,n5=e[m5>>2]|0,f6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,L5=f6+V5|0,e5=(L5|0)<(i0|0),e5?(b5=f5+(L5<<2)|0,k5=e[b5>>2]|0,P5=k5+X2|0,Q6=P5):Q6=X2,l5=f6+1|0,k3=(l5|0)==(u5|0),k3){L6=Q6;break}else f6=l5,n6=Q6;if(K2=e[C5>>2]|0,G2=K2+4|0,M2=e[G2>>2]|0,P2=(L6|0)<(M2|0),P2&&(z2=Rh(K2,L6,t)|0,o5=e[n2>>2]|0,O2=o5+z2|0,e[n2>>2]=O2),T1=b3+1|0,y3=(T1|0)==(a|0),y3)break;b3=T1}}while(!1);if(x2=(V5|0)<(i0|0),b6=i2&x2,b6){for(_2=V5-i0|0,p2=_2>>>0>>0,N6=p2?C2:_2,R5=0-N6|0,l6=V5,H3=0;;){if(W2=r5(l6,$2)|0,g2=e[Q>>2]|0,B5=g2+W2|0,E1)for(t6=0;;){if(t5=g+(t6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,x5=e[i5>>2]|0,j2=x5+$2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,L2=e[$5>>2]|0,Q5=L2&D2,q5=(Q5|0)==0,!q5&&(j5=e[k2>>2]|0,E5=j5+(J2<<2)|0,f3=e[E5>>2]|0,Y5=f3+(a6<<2)|0,X5=e[Y5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=A+(t6<<2)|0,F5=e[m3>>2]|0,J5=e[X5>>2]|0,v3=($2|0)/(J5|0)&-1,u3=(v3|0)>0,u3){for(B3=X5+48|0,z3=X5+52|0,z5=X5+44|0,w3=X5+12|0,W5=X5+4|0,x=J5,v5=0,g3=0;;){i6=r5(g3,J5)|0,b=i6+B5|0,L3=F5+(b<<2)|0,U3=e[B3>>2]|0,a3=e[z3>>2]|0,l3=e[z5>>2]|0,c3=l3>>1,e[t3>>2]=0,e[t3+4>>2]=0,e[t3+8>>2]=0,e[t3+12>>2]=0,e[t3+16>>2]=0,e[t3+20>>2]=0,e[t3+24>>2]=0,e[t3+28>>2]=0,C3=(a3|0)==1,F=(x|0)>0;do if(C3){if(!F){X3=0;break}for(G=l3+-1|0,d3=0,p6=0,Y3=x;;)if(I0=Y3+-1|0,D=b+I0|0,w0=F5+(D<<2)|0,v0=e[w0>>2]|0,d0=v0-U3|0,p0=(d0|0)<(c3|0),p0?(B0=c3-d0|0,E0=B0<<1,b0=E0+-1|0,M0=b0):(K0=d0-c3|0,x0=K0<<1,M0=x0),Q0=r5(p6,l3)|0,G0=(M0|0)<0,P0=(M0|0)>=(l3|0),y0=P0?G:M0,Y0=G0?0:y0,F0=Y0+Q0|0,_0=t3+(I0<<2)|0,e[_0>>2]=v0,N0=d3+1|0,j3=(N0|0)==(x|0),j3){X3=F0;break}else d3=N0,p6=F0,Y3=I0}else{if(!F){X3=0;break}for(M=a3>>1,T=M-U3|0,N=l3+-1|0,S3=0,S6=0,D3=x;;)if(O=D3+-1|0,y=b+O|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(q=c3-W|0,X=q<<1,U=X+-1|0,$0=U):(l0=W-c3|0,Z=l0<<1,$0=Z),K=r5(S6,l3)|0,s0=($0|0)<0,r0=($0|0)>=(l3|0),V=r0?N:$0,h0=s0?0:V,o0=h0+K|0,g0=r5(W,a3)|0,j=g0+U3|0,c0=t3+(O<<2)|0,e[c0>>2]=j,u0=S3+1|0,O3=(u0|0)==(x|0),O3){X3=o0;break}else S3=u0,S6=o0,D3=O}while(!1);V0=e[w3>>2]|0,J0=V0+8|0,O0=e[J0>>2]|0,U0=O0+X3|0,q0=d[U0>>0]|0,r1=q0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,H0=l3+-1|0,e1=r5(H0,a3)|0,D0=e1+U3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)H5=-1,v6=0,c6=X3;else{x6=X3;break}for(;;){$1=O0+v6|0,u1=d[$1>>0]|0,l1=u1<<24>>24>0;do if(l1){if(F)for(Y6=0,_3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,v=b+Y6|0,n1=F5+(v<<2)|0,o1=e[n1>>2]|0,Z0=a1-o1|0,I1=r5(Z0,Z0)|0,h1=I1+_3|0,m1=Y6+1|0,r6=(m1|0)==(x|0),r6){d6=h1;break}else Y6=m1,_3=h1;else d6=0;if(d1=(H5|0)==-1,p1=(d6|0)<(H5|0),Z3=d1|p1,!Z3){U5=H5,B6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,B6=v6}else U5=H5,B6=c6;while(!1);if(B1=e[M5>>2]|0,Q1=(B1|0)<(D0|0),Q1)E=M5,I=B1;else for(L1=M5,e6=0;;)if(x1=e6+1|0,e[L1>>2]=0,w1=M5+(x1<<2)|0,b1=e[w1>>2]|0,R1=(b1|0)<(D0|0),R1){E=w1,I=b1;break}else L1=w1,e6=x1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=v6+1|0,e3=(N1|0)==(i1|0),e3){x6=B6;break}else H5=U5,v6=N1,c6=B6}}else x6=X3;while(!1);if(_1=(x6|0)>-1,A6=F&_1,A6)for(u=L3,k6=0;V1=t3+(k6<<2)|0,O1=e[V1>>2]|0,q1=u+4|0,H1=e[u>>2]|0,Y1=H1-O1|0,e[u>>2]=Y1,j1=k6+1|0,A3=(j1|0)==(x|0),!A3;)u=q1,k6=j1;if(W1=Rh(X5,x6,t)|0,P1=W1+v5|0,c2=g3+1|0,R3=(c2|0)==(v3|0),R3){m=P1;break}B=e[X5>>2]|0,x=B,v5=P1,g3=c2}p=e[t5>>2]|0,E2=p,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,u2=z1+O5|0,e[w2>>2]=u2,o2=E2+(l6<<2)|0,A2=e[o2>>2]|0,K1=O6+(A2<<2)|0,h2=e[K1>>2]|0,l2=h2+O5|0,e[K1>>2]=l2}if(r2=t6+1|0,u6=(r2|0)==(a|0),u6)break;t6=r2}if(a2=H3+1|0,X1=l6+1|0,Q3=(a2|0)==(R5|0),Q3)break;l6=X1,H3=a2}N2=V5-N6|0,q3=N2}else q3=V5;if(d2=(q3|0)<(i0|0),d2)V5=q3;else break}S=e[C0>>2]|0,t2=S}else t2=y2;if(s2=a6+1|0,f2=(s2|0)<(t2|0),f2)y2=t2,a6=s2;else break}C=I6}function Tt(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;if(B=C,A=(t|0)==0,A)E=0;else for(n=t,I=0;;)if(a=n>>>1,g=I+1|0,u=(a|0)==0,u){E=g;break}else n=a,I=g;return E|0}function fQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,B=m?A:n,F=B<<2,e0=S9(F)|0,Ae(P1|0,0,132)|0,V=(n|0)>0;do if(V){d0=P1+4|0,P0=(A|0)==0,q0=P0&1,B1=0,v1=0;e:for(;;){s1=t+v1|0,p1=d[s1>>0]|0,p=p1<<24>>24,S=p1<<24>>24>0;t:do if(S){if(b=P1+(p<<2)|0,v=e[b>>2]|0,y=p1<<24>>24>31,D=v>>>p,Q=(D|0)==0,c2=y|Q,!c2){K1=5;break e}_=e0+(B1<<2)|0,e[_>>2]=v,L=P1+(p<<2)|0,x=v&1,M=(x|0)==0;i:do if(M)for(q=v,X=L,V1=p;;){if(W=q+1|0,e[X>>2]=W,U=V1+-1|0,l0=(V1|0)>1,!l0)break i;if(u=P1+(U<<2)|0,I=e[u>>2]|0,Z=P1+(U<<2)|0,K=I&1,$0=(K|0)==0,$0)q=I,X=Z,V1=U;else{g=Z,_1=U,K1=8;break}}else g=L,_1=p,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(_1|0)==1,N){G=e[d0>>2]|0,O=G+1|0,e[d0>>2]=O;break}else{z=_1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[g>>2]=J;break}while(!1);if(Y1=p+1|0,T=(Y1|0)<33,T)for(R1=v,q1=p,j1=Y1;;){if(s0=P1+(j1<<2)|0,i0=e[s0>>2]|0,r0=i0>>>1,h0=(r0|0)==(R1|0),!h0){E=1;break t}if(o0=P1+(q1<<2)|0,g0=e[o0>>2]|0,j=g0<<1,e[s0>>2]=j,O1=j1+1|0,c0=(O1|0)<33,c0)H1=j1,R1=i0,j1=O1,q1=H1;else{E=1;break}}else E=1}else E=q0;while(!1);if(Q1=B1+E|0,u0=v1+1|0,I0=(u0|0)<(n|0),I0)B1=Q1,v1=u0;else{x1=Q1,K1=16;break}}if((K1|0)==5)return I2(e0),a=0,C=h2,a|0;if((K1|0)==16){if(z1=(x1|0)==1,!z1){U1=1,K1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,v0=(C0|0)==2,v0)break;U1=1,K1=27;break}}else U1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,z0=P1+(U1<<2)|0,U0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=U0&H0,D0=(e1|0)==0,J0=U1+1|0,!!D0;)if(O0=(J0|0)<33,O0)U1=J0,K1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!V)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(L1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(u1=e0+(L1<<2)|0,g1=e[u1>>2]|0,l1=c1<<24>>24,n2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>n2,o1=n1&1,Z0=o1|a1,I1=n2+1|0,h1=(I1|0)<(l1|0),h1)n2=I1,E2=Z0;else{u2=Z0;break}else u2=0;if(m1=L1+1|0,d1=e0+(L1<<2)|0,e[d1>>2]=u2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else L1=m1,Z1=E1}return C=h2,a|0}for(;;){if(p0=t+N1|0,B0=d[p0>>0]|0,E0=B0<<24>>24>0,E0)for(V0=e0+(w1<<2)|0,G0=e[V0>>2]|0,N0=B0<<24>>24,W1=0,A2=0;;)if(M0=A2<<1,T0=G0>>>W1,y0=T0&1,Y0=y0|M0,F0=W1+1|0,_0=(F0|0)<(N0|0),_0)W1=F0,A2=Y0;else{o2=Y0;break}else o2=0;if(b0=B0<<24>>24==0,b0?b1=w1:(K0=w1+1|0,x0=e0+(w1<<2)|0,e[x0>>2]=o2,b1=K0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=b1,N1=Q0}return C=h2,a|0}function ib(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0;if(q=C,a=t+4|0,g=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(g|0),L=_,x=+(D|0),F=1/x,M=F,T=+_h(+L,+M),u=+ZA(+T),E=~~u,Y=E;;){for(b=Y+1|0,N=1,G=1,O=0;;)if(p=r5(N,Y)|0,S=r5(G,b)|0,v=O+1|0,y=(v|0)<(D|0),y)N=p,G=S,O=v;else{n=p,A=S;break}if(I=(n|0)<=(g|0),m=(A|0)>(g|0),z=I&m,z){W=Y;break}B=(n|0)>(g|0),J=B?-1:1,t0=Y+J|0,Y=t0}return W|0}function rb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0;if(q5=C,B=t+12|0,p=e[B>>2]|0,m=p+-1|0,i5=m>>>0<2,!i5)return u=0,u|0;if(H0=t+16|0,n1=e[H0>>2]|0,x1=n1&2097151,_1=+(x1|0),z1=n1>>>21,a2=z1&1023,N2=(n1|0)<0,X2=-_1,a=N2?X2:_1,S=a2+-788|0,T=+tC(a,S),X=T,o0=t+20|0,B0=e[o0>>2]|0,Y0=B0&2097151,z0=+(Y0|0),U0=B0>>>21,q0=U0&1023,r1=(B0|0)<0,e1=-z0,g=r1?e1:z0,D0=q0+-788|0,i1=+tC(g,D0),c1=i1,$1=e[t>>2]|0,u1=r5($1,n)|0,g1=n4(u1,4)|0,(p|0)==1){if(p1=t+4|0,B1=e[p1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(L1=+(B1|0),w1=L1,b1=+($1|0),R1=1/b1,F1=R1,G1=+_h(+w1,+F1),v1=+ZA(+G1),U1=~~v1,$5=U1;;){for(u2=$5+1|0,n5=1,x2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(x2,u2)|0,o2=I5+1|0,d5=(o2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,x2=c2,I5=o2;if(Z1=(E|0)<=(B1|0),N1=(I|0)>(B1|0),u5=N1&Z1,u5){L2=$5;break}W1=(E|0)>(B1|0),j2=W1?-1:1,x5=j2+$5|0,$5=x5}if(V1=(B1|0)>0,!V1)return u=g1,u|0;for(O1=(A|0)==0,q1=t+8|0,H1=t+32|0,Y1=c1,j1=X,n2=t+28|0,_2=0,M1=0;;){if(O1)if($2=e[H1>>2]|0,i2=e[n2>>2]|0,l2=(i2|0)==0,r2=r5($1,_2)|0,l2)for(p5=1,W2=0;;)if(b5=(M1|0)/(p5|0)&-1,Z2=(b5|0)%(L2|0)&-1,f5=$2+(Z2<<2)|0,k5=e[f5>>2]|0,P5=+(k5|0),q2=+Zi(+P5),l5=q2,v2=l5*Y1,m5=j1+v2,b=m5,v=r2+W2|0,y=g1+(v<<2)|0,s[y>>2]=b,D=r5(p5,L2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)p5=D,W2=Q;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(L=(M1|0)/(A5|0)&-1,x=(L|0)%(L2|0)&-1,F=$2+(x<<2)|0,M=e[F>>2]|0,N=+(M|0),G5=+Zi(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=r2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,q=r5(A5,L2)|0,U=g5+1|0,l0=(U|0)<($1|0),l0)A5=q,g5=U,t5=J;else{Q5=21;break}else if(E2=e[q1>>2]|0,A2=E2+M1|0,K1=d[A2>>0]|0,h2=K1<<24>>24==0,h2)p2=_2;else for(X1=e[H1>>2]|0,s2=e[n2>>2]|0,f2=(s2|0)==0,t2=A+(_2<<2)|0,y2=e[t2>>2]|0,k2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(L2|0)&-1,F2=X1+(C2<<2)|0,D2=e[F2>>2]|0,d2=+(D2|0),_5=+Zi(+d2),K2=_5,G2=K2*Y1,H2=s5,M2=H2+j1,P2=M2+G2,z2=P2,B5=f2?s5:z2,o5=k2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=r5(c5,L2)|0,L5=a5+1|0,e5=(L5|0)<($1|0),e5)c5=T1,a5=L5,s5=B5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,p2=Z),K=M1+1|0,$0=(K|0)<(B1|0),$0)_2=p2,M1=K;else{u=g1;break}}return u|0}else if((p|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return u=g1,u|0;for(o1=(A|0)!=0,Z0=t+8|0,I1=t+32|0,h1=c1,m1=X,d1=t+28|0,E1=($1|0)>0,C5=0,S5=0;;){if(o1?(s0=e[Z0>>2]|0,i0=s0+S5|0,r0=d[i0>>0]|0,V=r0<<24>>24==0,V?R5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,g0=e[d1>>2]|0,j=(g0|0)==0,c0=A+(C5<<2)|0,u0=r5($1,S5)|0,I0=r5($1,C5)|0,g2=0,J2=0;w0=u0+g2|0,C0=h0+(w0<<2)|0,v0=e[C0>>2]|0,d0=+(v0|0),D5=+Zi(+d0),p0=D5,E0=p0*h1,b0=J2,K0=b0+m1,x0=K0+E0,Q0=x0,h5=j?J2:Q0,o1?(M0=e[c0>>2]|0,T0=r5(M0,$1)|0,G0=T0+g2|0,P0=g1+(G0<<2)|0,s[P0>>2]=Q0):(y0=I0+g2|0,F0=g1+(y0<<2)|0,s[F0>>2]=Q0),_0=g2+1|0,N0=(_0|0)<($1|0),N0;)g2=_0,J2=h5;V0=C5+1|0,R5=V0}if(J0=S5+1|0,O0=(J0|0)<(s1|0),O0)C5=R5,S5=J0;else{u=g1;break}}return u|0}else return u=g1,u|0;return 0}function fp(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0;S=C,n=t+36|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(g=t+32|0,u=e[g>>2]|0,E=(u|0)==0,E||I2(u),I=t+8|0,m=e[I>>2]|0,B=(m|0)==0,B||I2(m),I2(t))}function nb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0;L=C,n=t+16|0,A=e[n>>2]|0,m=(A|0)==0,m||I2(A),B=t+20|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),b=t+24|0,v=e[b>>2]|0,y=(v|0)==0,y||I2(v),D=t+28|0,a=e[D>>2]|0,g=(a|0)==0,g||I2(a),u=t+32|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),Q=t,x=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(x|0))}function dQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;U0=C,O0=t,q0=O0+56|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(q0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,L=e[I>>2]|0,J=t+4|0,e[J>>2]=L,i0=t+8|0,e[i0>>2]=L,C0=e[n>>2]|0,e[t>>2]=C0,b0=n+8|0,K0=e[b0>>2]|0,x0=fQ(K0,L,0)|0,Q0=t+20|0,e[Q0>>2]=x0,m=e[I>>2]|0,B=e[n>>2]|0,p=(B|0)>0,!p)for(;;);for(S=+(m|0),b=S,v=+(B|0),y=1/v,D=y,Q=+_h(+b,+D),_=+ZA(+Q),x=~~_,V0=x;;){for(O=V0+1|0,M0=1,T0=1,P0=0;;)if(N=r5(M0,V0)|0,G=r5(T0,O)|0,z=P0+1|0,G0=(z|0)==(B|0),G0){g=N,u=G;break}else M0=N,T0=G,P0=z;if(F=(g|0)<=(m|0),M=(u|0)>(m|0),y0=M&F,y0){J0=V0;break}T=(g|0)>(m|0),N0=T?-1:1,_0=N0+V0|0,V0=_0}return Y=t+44|0,e[Y>>2]=J0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,q=+(e0|0),X=W>>>21,U=X&1023,l0=(W|0)<0,Z=-q,A=l0?Z:q,K=U+-788|0,$0=+tC(A,K),s0=$0,Y0=+BQ(s0),r0=~~Y0,V=t+48|0,e[V>>2]=r0,h0=n+20|0,o0=e[h0>>2]|0,g0=o0&2097151,j=+(g0|0),c0=o0>>>21,u0=c0&1023,I0=(o0|0)<0,w0=-j,a=I0?w0:j,v0=u0+-788|0,d0=+tC(a,v0),p0=d0,F0=+BQ(p0),B0=~~F0,E0=t+52|0,e[E0>>2]=B0,0}function sb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;M3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(b=n+4|0,v=e[b>>2]|0,E2=(v|0)>0,E2)for(q2=n+8|0,B5=e[q2>>2]|0,H3=0,L6=0;;)if(Q5=B5+H3|0,J5=d[Q5>>0]|0,U3=J5<<24>>24>0,o6=U3&1,m=o6+L6|0,V5=H3+1|0,y=(V5|0)<(v|0),y)H3=V5,L6=m;else{c0=m;break}else c0=0;if(O=t+4|0,e[O>>2]=v,Z=t+8|0,e[Z>>2]=c0,K0=e[n>>2]|0,e[t>>2]=K0,N0=(c0|0)>0,!N0)return a=0,C=M3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,b1=fQ(I1,v,c0)|0,q1=c0<<2,u=q1,A2=C,C=C+((1*u|0)+15&-16)|0,t2=(b1|0)==0,t2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),L5=t+24|0,e5=e[L5>>2]|0,b5=(e5|0)==0,b5||I2(e5),f5=t+28|0,k5=e[f5>>2]|0,P5=(k5|0)==0,P5||I2(k5),l5=t+32|0,v2=e[l5>>2]|0,m5=(v2|0)==0,m5||I2(v2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=M3,a|0}else D3=0;for(;H2=b1+(D3<<2)|0,Z2=e[H2>>2]|0,C5=Z2>>>16,R5=Z2<<16,d5=C5|R5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,p5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=p5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,u5=s5<<1,i5=u5&-1431655766,x5=J2|i5,e[H2>>2]=x5,j2=A2+(D3<<2)|0,e[j2>>2]=H2,$5=D3+1|0,Y6=($5|0)==(c0|0),!Y6;)D3=$5;for(Mh(A2,c0,4,10),E=q1,L2=C,C=C+((1*E|0)+15&-16)|0,q5=S9(q1)|0,j5=t+20|0,e[j5>>2]=q5,E5=b1,Y3=0;;)if(f3=A2+(Y3<<2)|0,h3=e[f3>>2]|0,Y5=h3,X5=Y5-E5|0,n3=X5>>2,m3=L2+(n3<<2)|0,e[m3>>2]=Y3,F5=Y3+1|0,x6=(F5|0)==(c0|0),x6){Z3=0;break}else Y3=F5;for(;v3=b1+(Z3<<2)|0,u3=e[v3>>2]|0,B3=L2+(Z3<<2)|0,z3=e[B3>>2]|0,G3=q5+(z3<<2)|0,e[G3>>2]=u3,z5=Z3+1|0,B6=(z5|0)==(c0|0),!B6;)Z3=z5;if(I2(b1),w3=rb(n,c0,L2)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(q1)|0,L3=t+24|0,e[L3>>2]=i6,a3=e[b>>2]|0,l3=(a3|0)>0,l3)for(B=e[i1>>2]|0,b6=0,I6=0;;)if(c3=B+b6|0,C3=d[c3>>0]|0,H5=C3<<24>>24>0,H5?(U5=I6+1|0,O5=L2+(I6<<2)|0,v5=e[O5>>2]|0,P3=i6+(v5<<2)|0,e[P3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{K6=J6;break}else K6=0;if(A3=S9(K6)|0,R3=t+28|0,e[R3>>2]=A3,u6=t+40|0,e[u6>>2]=0,l3){for(p=e[i1>>2]|0,n5=0,k3=p,A6=0,j6=0;;)if(Q3=k3+A6|0,y3=d[Q3>>0]|0,r6=y3<<24>>24>0,r6?(j3=j6+1|0,O3=L2+(j6<<2)|0,S3=e[O3>>2]|0,g3=e[R3>>2]|0,q3=g3+S3|0,d[q3>>0]=y3,l6=e[i1>>2]|0,d3=l6+A6|0,v6=d[d3>>0]|0,k6=v6<<24>>24,S6=e[u6>>2]|0,p6=(k6|0)>(S6|0),p6?(e[u6>>2]=k6,x2=k6,_2=l6,G6=j3):(x2=S6,_2=l6,G6=j3)):(x2=n5,_2=k3,G6=j6),X3=A6+1|0,D=e[b>>2]|0,Q=(X3|0)<(D|0),Q)n5=x2,k3=_2,A6=X3,j6=G6;else{I=x2,e9=G6;break}if(_=(e9|0)==1,_){if(L=(I|0)==1,L)return x=t+36|0,e[x>>2]=1,F=n4(2,4)|0,M=t+32|0,e[M>>2]=F,T=F+4|0,e[T>>2]=1,e[F>>2]=1,a=0,C=M3,a|0;F3=1}else F3=e9}else F3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)R6=-4;else{for(g=N,U6=0;;)if(z=g>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else g=z,U6=Y;s9=D6+-3|0,R6=s9}if(J=t+36|0,W=(R6|0)<5,A=W?5:R6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,q=1<>2]=X,l0=(F3|0)>0,l0)for(r0=z6,t3=0;;){if(K=e[R3>>2]|0,$0=K+t3|0,s0=d[$0>>0]|0,i0=s0<<24>>24,V=(r0|0)<(i0|0),V)p2=r0;else if(h0=e[j5>>2]|0,o0=h0+(t3<<2)|0,g0=e[o0>>2]|0,j=g0>>>16,u0=g0<<16,I0=j|u0,w0=I0>>>8,C0=w0&16711935,v0=I0<<8,d0=v0&-16711936,p0=C0|d0,B0=p0>>>4,E0=B0&252645135,b0=p0<<4,x0=b0&-252645136,Q0=E0|x0,M0=Q0>>>2,T0=M0&858993459,G0=Q0<<2,P0=G0&-858993460,y0=T0|P0,Y0=y0>>>1,F0=Y0&1431655765,_0=y0<<1,V0=_0&-1431655766,J0=F0|V0,O0=r0-i0|0,z0=(O0|0)==31,z0)p2=r0;else for(U0=t3+1|0,r1=i0,s3=0;;)if(q0=s3<>2]=U0,D0=s3+1|0,c1=e[J>>2]|0,$1=d[$0>>0]|0,u1=$1<<24>>24,g1=c1-u1|0,l1=1<>>16,B1=E1<<16,Q1=p1|B1,x1=Q1>>>8,L1=x1&16711935,w1=Q1<<8,R1=w1&-16711936,F1=L1|R1,G1=F1>>>4,v1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=v1|Z1,_1=N1>>>2,V1=_1&858993459,O1=N1<<2,H1=O1&-858993460,Y1=V1|H1,j1=Y1>>>1,n2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=n2|P1,z1=X+(c2<<2)|0,u2=e[z1>>2]|0,o2=(u2|0)==0,o2){for(d6=a6;;){if(K1=d6+1|0,h2=(K1|0)<(F3|0),!h2){_3=d6;break}if($2=e[j5>>2]|0,i2=$2+(K1<<2)|0,l2=e[i2>>2]|0,r2=l2>>>0>E1>>>0,r2){_3=d6;break}else d6=K1}a2=(F3|0)>(C6|0);e:do if(a2)for(X1=e[j5>>2]|0,e6=C6;;){if(s2=X1+(e6<<2)|0,f2=e[s2>>2]|0,y2=f2&Z0,k2=E1>>>0>>0,k2){b3=e6;break e}if(w2=e6+1|0,C2=(F3|0)>(w2|0),C2)e6=w2;else{b3=w2;break}}else b3=C6;while(!1);F2=F3-b3|0,D2=_3>>>0>32767,N2=F2>>>0>32767,f6=N2?32767:F2,N6=_3<<15,n6=N6|-2147483648,d2=D2?-1073774592:n6,K2=d2|f6,e[z1>>2]=K2,t6=b3,Q6=_3}else t6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(q|0),!M2){a=0;break}S=e[J>>2]|0,d1=S,C6=t6,O6=G2,a6=Q6}return C=M3,a|0}function ob(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=e[A>>2]|0,g=e[n>>2]|0,u=e[g>>2]|0,E=a>>>0>u>>>0,I=E&1,m=a>>>0>>0,B=m&1,p=I-B|0,p|0}function Ab(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0;if(K0=C,B=e[t>>2]|0,p=(B|0)==1,!p&&(M=t+4|0,q=e[M>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,V=r0+4|0,h0=e[V>>2]|0,o0=(h0|0)>0,!!o0)){for(g0=h0+1|0,m=B+-1|0,I0=B,w0=0,C0=B,d0=1;;){S=g0-w0|0,b=r0+(S<<2)|0,v=e[b>>2]|0,y=(C0|0)/(v|0)&-1,D=(B|0)/(C0|0)&-1,Q=r5(D,y)|0,_=v+-1|0,L=r5(D,_)|0,x=I0-L|0,F=1-d0|0;do if((v|0)==2)if(Y=(F|0)==0,A=m+x|0,t0=q+(A<<2)|0,Y){CQ(D,y,n,q,t0),p0=0;break}else{CQ(D,y,q,n,t0),p0=F;break}else if((v|0)==4)if(T=x+D|0,N=(F|0)==0,a=m+x|0,G=q+(a<<2)|0,g=m+T|0,O=q+(g<<2)|0,u=m+D|0,E=u+T|0,z=q+(E<<2)|0,N){mQ(D,y,n,q,G,O,z),p0=0;break}else{mQ(D,y,q,n,G,O,z),p0=F;break}else if(J=(D|0)==1,v0=J?d0:F,W=(v0|0)==0,I=m+x|0,e0=q+(I<<2)|0,W){pQ(D,v,y,Q,n,n,n,q,q,e0),p0=1;break}else{pQ(D,v,y,Q,q,q,q,n,n,e0),p0=0;break}while(!1);if(X=w0+1|0,c0=(X|0)==(h0|0),c0){B0=p0;break}else I0=x,w0=X,C0=y,d0=p0}if(U=(B0|0)!=1,l0=(B|0)>0,E0=l0&U,E0)u0=0;else return;for(;Z=q+(u0<<2)|0,K=e[Z>>2]|0,$0=n+(u0<<2)|0,e[$0>>2]=K,s0=u0+1|0,j=(s0|0)==(B|0),!j;)u0=s0}}function IQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,L=t+4|0,e[L>>2]=I,J=n4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(n|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,u1=n,l1=0;e:for(;;)for(x0=H0+1|0,Q0=(x0|0)<4,Q0?(M0=25768+(x0<<2)|0,m=e[M0>>2]|0,s1=m):(B=l1+2|0,s1=B),p=(s1|0)!=2,O0=$1,g1=u1;;){if(V0=O0+1|0,S=(g1|0)/(s1|0)&-1,b=r5(S,s1)|0,v=(g1|0)==(b|0),!v){H0=x0,$1=O0,u1=g1,l1=s1;continue e}if(y=O0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(O0|0)==0,a1=p|Q,!a1){if(_=(O0|0)<1,!_)for(F0=1;x=V0-F0|0,F=x+1|0,M=J+(F<<2)|0,T=e[M>>2]|0,N=x+2|0,G=J+(N<<2)|0,e[G>>2]=T,O=F0+1|0,y0=(O|0)==(V0|0),!y0;)F0=O;e[K0>>2]=2}if(z=(S|0)==1,z){A=Q,J0=V0,z0=O0;break e}else O0=V0,g1=S}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=J0,t0=+(n|0),W=6.2831854820251465/t0,a=A^1,e0=(z0|0)>0,n1=e0&a,!!n1)for(q=n+1|0,U0=0,D0=0,i1=1;;){if(X=D0+2|0,U=J+(X<<2)|0,l0=e[U>>2]|0,Z=r5(l0,i1)|0,K=(n|0)/(Z|0)&-1,$0=(l0|0)>1,$0){for(s0=(K|0)>2,r0=l0+-1|0,r1=U0,e1=0,c1=0;;){if(V=c1+i1|0,h0=+(V|0),o0=h0*W,s0)for(Y0=0,_0=r1,N0=2;g0=Y0+1,j=o0*g0,T0=+WA(+j),g=_0+n|0,c0=I+(g<<2)|0,s[c0>>2]=T0,o1=+Un(+j),u0=_0+2|0,u=q+_0|0,I0=I+(u<<2)|0,s[I0>>2]=o1,w0=N0+2|0,v0=(w0|0)<(K|0),v0;)Y0=g0,_0=u0,N0=w0;if(d0=r1+K|0,p0=e1+1|0,G0=(p0|0)==(r0|0),G0)break;r1=d0,e1=p0,c1=V}B0=r5(K,r0)|0,E0=B0+U0|0,q0=E0}else q0=U0;if(b0=D0+1|0,P0=(b0|0)==(z0|0),P0)break;U0=q0,D0=b0,i1=Z}}}function EQ(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;B=C,n=(t|0)==0,!n&&(A=t+4|0,a=e[A>>2]|0,g=(a|0)==0,g||I2(a),u=t+8|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function mQ(t,n,A,a,g,u,E){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0;var I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0;if(f3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,y2=t<<1,g2=0,s5=I,u5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,f5=+s[M2>>2],R5=A+(u5<<2)|0,B=+s[R5>>2],F=B+f5,e0=A+(j2<<2)|0,V=+s[e0>>2],d0=A+($5<<2)|0,P0=+s[d0>>2],q0=P0+V,s1=q0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=q0-F,E1=K1+I1|0,p1=a+(E1<<2)|0,s[p1>>2]=d1,B1=+s[e0>>2],Q1=+s[d0>>2],x1=B1-Q1,L1=I1+y2|0,w1=L1+-1|0,b1=a+(w1<<2)|0,s[b1>>2]=x1,R1=+s[R5>>2],G1=+s[M2>>2],v1=R1-G1,U1=a+(L1<<2)|0,s[U1>>2]=v1,Z1=s5+t|0,N1=u5+t|0,_1=j2+t|0,V1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,u5=N1,j2=_1,$5=V1;if(q1=(t|0)<2,!q1){if(H1=(t|0)==2,!H1){if(m1)for(j1=t<<1,B5=0,h5=0;;){for(j=h5<<2,c0=j+j1|0,W2=2,i5=h5,L2=j,q5=c0;P1=i5+2|0,c2=L2+2|0,z1=q5+-2|0,u2=P1+I|0,o2=W2+-2|0,E2=g+(o2<<2)|0,A2=+s[E2>>2],h2=u2+-1|0,$2=A+(h2<<2)|0,i2=+s[$2>>2],l2=i2*A2,r2=W2+-1|0,a2=g+(r2<<2)|0,X1=+s[a2>>2],s2=A+(u2<<2)|0,f2=+s[s2>>2],t2=f2*X1,k2=t2+l2,w2=f2*A2,C2=X1*i2,F2=w2-C2,D2=u2+I|0,N2=u+(o2<<2)|0,d2=+s[N2>>2],K2=D2+-1|0,G2=A+(K2<<2)|0,H2=+s[G2>>2],P2=H2*d2,z2=u+(r2<<2)|0,o5=+s[z2>>2],O2=A+(D2<<2)|0,T1=+s[O2>>2],X2=T1*o5,L5=X2+P2,e5=T1*d2,b5=o5*H2,Z2=e5-b5,k5=D2+I|0,P5=E+(o2<<2)|0,l5=+s[P5>>2],v2=k5+-1|0,m5=A+(v2<<2)|0,n5=+s[m5>>2],x2=n5*l5,_2=E+(r2<<2)|0,p2=+s[_2>>2],C5=A+(k5<<2)|0,d5=+s[C5>>2],D5=d5*p2,G5=D5+x2,_5=d5*l5,q2=p2*n5,I5=_5-q2,A5=G5+k2,c5=G5-k2,p5=I5+F2,M1=F2-I5,p=A+(P1<<2)|0,S=+s[p>>2],b=S+Z2,v=S-Z2,y=i5+1|0,D=A+(y<<2)|0,Q=+s[D>>2],_=Q+L5,L=Q-L5,x=A5+_,M=L2|1,T=a+(M<<2)|0,s[T>>2]=x,N=p5+b,G=a+(c2<<2)|0,s[G>>2]=N,O=L-M1,z=q5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=O,t0=c5-v,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+L,q=c2+j1|0,X=q+-1|0,U=a+(X<<2)|0,s[U>>2]=W,l0=c5+v,Z=a+(q<<2)|0,s[Z>>2]=l0,K=_-A5,$0=z1+j1|0,s0=$0+-1|0,i0=a+(s0<<2)|0,s[i0>>2]=K,r0=p5-b,h0=a+($0<<2)|0,s[h0>>2]=r0,o0=W2+2|0,g0=(o0|0)<(t|0),g0;)W2=o0,i5=P1,L2=c2,q5=z1;if(n2=h5+t|0,W1=B5+1|0,a5=(W1|0)==(n|0),a5)break;B5=W1,h5=n2}if(u0=t&1,I0=(u0|0)==0,!I0)return}if(w0=t+-1|0,C0=w0+I|0,v0=t<<2,p0=t<<1,!!m1)for(B0=C0+m|0,t5=0,J2=C0,x5=B0,Q5=t,j5=t;E0=A+(J2<<2)|0,b0=+s[E0>>2],K0=A+(x5<<2)|0,x0=+s[K0>>2],Q0=x0+b0,M0=Q0*-.7071067690849304,T0=b0-x0,G0=T0*.7071067690849304,y0=j5+-1|0,Y0=A+(y0<<2)|0,F0=+s[Y0>>2],_0=G0+F0,N0=Q5+-1|0,V0=a+(N0<<2)|0,s[V0>>2]=_0,J0=+s[Y0>>2],O0=J0-G0,z0=Q5+p0|0,U0=z0+-1|0,r1=a+(U0<<2)|0,s[r1>>2]=O0,H0=J2+I|0,e1=A+(H0<<2)|0,D0=+s[e1>>2],i1=M0-D0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],u1=$1+M0,g1=a+(z0<<2)|0,s[g1>>2]=u1,l1=J2+t|0,a1=x5+t|0,n1=Q5+v0|0,o1=j5+t|0,Z0=t5+1|0,S5=(Z0|0)==(n|0),!S5;)t5=Z0,J2=l1,x5=a1,Q5=n1,j5=o1}}function CQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0;if(v1=C,u=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,B1=u;s0=A+(d1<<2)|0,w0=+s[s0>>2],M0=A+(B1<<2)|0,O0=+s[M0>>2],u1=O0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=u1,m=+s[s0>>2],B=+s[M0>>2],p=m-B,S=t0+s1|0,b=a+(S<<2)|0,s[b>>2]=p,v=d1+t|0,y=B1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,d1=v,B1=y;if(Q=(t|0)<2,!Q){if(L=(t|0)==2,!L){if(_)for(h1=0,E1=0,Q1=u;;){for(Y0=E1<<1,F0=Y0+E|0,Z0=2,L1=Q1,b1=F0,R1=E1,F1=Y0;T=L1+2|0,N=b1+-2|0,G=R1+2|0,O=F1+2|0,z=Z0+-2|0,Y=g+(z<<2)|0,J=+s[Y>>2],W=L1+1|0,e0=A+(W<<2)|0,q=+s[e0>>2],X=q*J,U=Z0+-1|0,l0=g+(U<<2)|0,Z=+s[l0>>2],K=A+(T<<2)|0,$0=+s[K>>2],i0=$0*Z,r0=i0+X,V=$0*J,h0=Z*q,o0=V-h0,g0=A+(G<<2)|0,j=+s[g0>>2],c0=o0+j,u0=a+(O<<2)|0,s[u0>>2]=c0,I0=+s[g0>>2],C0=o0-I0,v0=a+(N<<2)|0,s[v0>>2]=C0,d0=R1+1|0,p0=A+(d0<<2)|0,B0=+s[p0>>2],E0=B0+r0,b0=F1|1,K0=a+(b0<<2)|0,s[K0>>2]=E0,x0=+s[p0>>2],Q0=x0-r0,T0=b1+-3|0,G0=a+(T0<<2)|0,s[G0>>2]=Q0,P0=Z0+2|0,y0=(P0|0)<(t|0),y0;)Z0=P0,L1=T,b1=N,R1=G,F1=O;if(x=E1+t|0,F=Q1+t|0,M=h1+1|0,o1=(M|0)==(n|0),o1)break;h1=M,E1=x,Q1=F}if(_0=(t|0)%2&-1,N0=(_0|0)==1,N0)return}if(V0=t+-1|0,!!_)for(J0=u+V0|0,m1=0,p1=t,x1=J0,w1=V0;z0=A+(x1<<2)|0,U0=+s[z0>>2],q0=-U0,r1=a+(p1<<2)|0,s[r1>>2]=q0,H0=A+(w1<<2)|0,e1=e[H0>>2]|0,D0=p1+-1|0,i1=a+(D0<<2)|0,e[i1>>2]=e1,c1=p1+E|0,$1=x1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,p1=c1,x1=$1,w1=g1}}function pQ(t,n,A,a,g,u,E,I,m,B){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0,B=B|0;var p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,Z8=0,gt=0,ht=0,M8=0,T8=0,N8=0,G8=0,W8=0,j8=0,vt=0,U8=0,P8=0,O8=0,v8=0,k8=0,f8=0,q8=0,H8=0,X8=0,et=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,tt=0,St=0,ie=0,it=0,Y8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,rt=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,J8=0,dt=0,nt=0,st=0,V8=0,ot=0,K8=0,a8=0,$8=0,_8=0,H4=0,At=0,x8=0,Je=0,B9=0,at=0,Ve=0,Nt=0,Ht=0,bt=0,$t=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,z8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0;B8=C,b=+(n|0),v=6.2831854820251465/b,f8=+WA(+v),Nt=+Un(+v),E2=n+1|0,Q3=E2>>1,U9=t+-1|0,G4=U9>>1,R9=r5(A,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(wt=(a|0)>0,wt)for(we=0;c0=E+(we<<2)|0,K0=e[c0>>2]|0,N0=m+(we<<2)|0,e[N0>>2]=K0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(n|0)>1,O)for(Z=(A|0)>0,p8=1,Ht=0;;){if(I1=Ht+R9|0,Z)for(ot=0,e4=I1;b1=u+(e4<<2)|0,q1=e[b1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=q1,t2=e4+t|0,H2=ot+1|0,j9=(H2|0)==(A|0),!j9;)ot=H2,e4=t2;if(Z2=p8+1|0,s8=(Z2|0)==(n|0),s8)break;p8=Z2,Ht=I1}if(C5=0-t|0,M1=(G4|0)>(A|0),M1){if(O)for(G3=(A|0)>0,H5=(t|0)>2,I3=C5,H9=1,Dt=0;;){if(k3=Dt+R9|0,v6=I3+t|0,G3)for(e6=k3-t|0,s3=v6+-1|0,a8=0,xt=e6;;){if(F3=xt+t|0,H5)for(o8=2,fe=s3,E7=F3;M3=fe+2|0,E6=E7+2|0,E9=fe+1|0,j4=B+(E9<<2)|0,T4=+s[j4>>2],N4=E7+1|0,a4=u+(N4<<2)|0,L4=+s[a4>>2],u4=L4*T4,Ce=B+(M3<<2)|0,q9=+s[Ce>>2],m9=u+(E6<<2)|0,pe=+s[m9>>2],Ne=pe*q9,Xe=Ne+u4,Ge=I+(N4<<2)|0,s[Ge>>2]=Xe,U4=+s[j4>>2],X4=+s[m9>>2],be=X4*U4,e8=+s[Ce>>2],Z9=+s[a4>>2],ae=Z9*e8,f4=be-ae,_6=I+(E6<<2)|0,s[_6>>2]=f4,P4=o8+2|0,$4=(P4|0)<(t|0),$4;)o8=P4,fe=M3,E7=E6;if(_4=a8+1|0,n8=(_4|0)==(A|0),n8)break;a8=_4,xt=F3}if($e=H9+1|0,I8=($e|0)==(n|0),I8)break;I3=v6,H9=$e,Dt=k3}}else if(O)for(u5=(t|0)>2,h3=(A|0)>0,He=C5,ne=1,Gt=0;;){if(W9=He+t|0,le=Gt+R9|0,u5)for(ce=W9+-1|0,m8=2,A8=ce,r7=le;;){if(p4=A8+2|0,ee=r7+2|0,h3)for(R4=A8+1|0,ge=B+(R4<<2)|0,g6=B+(p4<<2)|0,$8=0,Kt=ee;Ue=+s[ge>>2],l4=Kt+-1|0,Be=u+(l4<<2)|0,B4=+s[Be>>2],c4=B4*Ue,P6=+s[g6>>2],De=u+(Kt<<2)|0,_e=+s[De>>2],t8=_e*P6,v4=t8+c4,u8=I+(l4<<2)|0,s[u8>>2]=v4,J3=+s[ge>>2],w9=+s[De>>2],p9=w9*J3,F4=+s[g6>>2],te=+s[Be>>2],lt=te*F4,xe=p9-lt,ct=I+(Kt<<2)|0,s[ct>>2]=xe,Z8=Kt+t|0,gt=$8+1|0,D8=(gt|0)==(A|0),!D8;)$8=gt,Kt=Z8;if(ht=m8+2|0,M8=(ht|0)<(t|0),M8)m8=ht,A8=p4,r7=ee;else break}if(T8=ne+1|0,he=(T8|0)==(n|0),he)break;He=W9,ne=T8,Gt=le}if(N8=r5(R9,n)|0,G8=(G4|0)<(A|0),W8=(Q3|0)>1,!G8){if(!W8)break;for(j8=(A|0)>0,vt=(t|0)>2,Ye=1,l8=0,U7=N8;;){if(p0=l8+R9|0,B0=U7-R9|0,j8)for(H4=0,n7=p0,s7=B0;;){if(vt)for(ye=2,zt=n7,y7=s7;E0=zt+2|0,b0=y7+2|0,x0=zt+1|0,Q0=I+(x0<<2)|0,M0=+s[Q0>>2],T0=y7+1|0,G0=I+(T0<<2)|0,P0=+s[G0>>2],y0=P0+M0,Y0=u+(x0<<2)|0,s[Y0>>2]=y0,F0=I+(E0<<2)|0,_0=+s[F0>>2],V0=I+(b0<<2)|0,J0=+s[V0>>2],O0=_0-J0,z0=u+(T0<<2)|0,s[z0>>2]=O0,U0=+s[F0>>2],q0=+s[V0>>2],r1=q0+U0,H0=u+(E0<<2)|0,s[H0>>2]=r1,e1=+s[G0>>2],D0=+s[Q0>>2],c1=e1-D0,$1=u+(b0<<2)|0,s[$1>>2]=c1,u1=ye+2|0,g1=(u1|0)<(t|0),g1;)ye=u1,zt=E0,y7=b0;if(l1=n7+t|0,s1=s7+t|0,a1=H4+1|0,O4=(a1|0)==(A|0),O4)break;H4=a1,n7=l1,s7=s1}if(n1=Ye+1|0,Re=(n1|0)==(Q3|0),Re)break e;Ye=n1,l8=p0,U7=B0}}if(W8)for(D=(t|0)>2,Q=(A|0)>0,D9=1,Yt=0,G7=N8;;){if(_=Yt+R9|0,L=G7-R9|0,D)for(ue=2,m7=_,B7=L;;){if(x=m7+2|0,F=B7+2|0,Q)for(M=F-t|0,T=x-t|0,_8=0,V7=T,hi=M;N=V7+t|0,G=hi+t|0,z=N+-1|0,Y=I+(z<<2)|0,t0=+s[Y>>2],J=G+-1|0,W=I+(J<<2)|0,e0=+s[W>>2],q=e0+t0,X=u+(z<<2)|0,s[X>>2]=q,U=I+(N<<2)|0,l0=+s[U>>2],K=I+(G<<2)|0,$0=+s[K>>2],s0=l0-$0,i0=u+(J<<2)|0,s[i0>>2]=s0,r0=+s[U>>2],V=+s[K>>2],h0=V+r0,o0=u+(N<<2)|0,s[o0>>2]=h0,g0=+s[W>>2],j=+s[Y>>2],u0=g0-j,I0=u+(G<<2)|0,s[I0>>2]=u0,w0=_8+1|0,b8=(w0|0)==(A|0),!b8;)_8=w0,V7=N,hi=G;if(C0=ue+2|0,v0=(C0|0)<(t|0),v0)ue=C0,m7=x,B7=F;else break}if(d0=D9+1|0,r8=(d0|0)==(Q3|0),r8)break;D9=d0,Yt=_,G7=L}}while(!1);if(y=(a|0)>0,y)for(Q4=0;o1=m+(Q4<<2)|0,Z0=e[o1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,m1=Q4+1|0,Y8=(m1|0)==(a|0),!Y8;)Q4=m1;if(d1=r5(a,n)|0,E1=(Q3|0)>1,E1){for(p1=(A|0)>0,J8=1,L8=0,P7=d1;;){if(B1=L8+R9|0,Q1=P7-R9|0,p1)for(x1=Q1-t|0,L1=B1-t|0,At=0,$i=L1,ci=x1;w1=$i+t|0,R1=ci+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],v1=I+(R1<<2)|0,U1=+s[v1>>2],Z1=U1+G1,N1=u+(w1<<2)|0,s[N1>>2]=Z1,_1=+s[v1>>2],V1=+s[F1>>2],O1=_1-V1,H1=u+(R1<<2)|0,s[H1>>2]=O1,Y1=At+1|0,ie=(Y1|0)==(A|0),!ie;)At=Y1,$i=w1,ci=R1;if(j1=J8+1|0,it=(j1|0)==(Q3|0),it)break;J8=j1,L8=B1,P7=Q1}if(n2=n+-1|0,W1=r5(n2,a)|0,E1){for(P1=(Q3|0)>2,U8=0,O8=1,Ve=1,_t=0,d7=d1;;){if(c2=_t+a|0,z1=d7-a|0,u2=O8*f8,o2=U8*Nt,K1=u2-o2,h2=U8*f8,$2=O8*Nt,i2=$2+h2,y)for(C8=0,q7=c2,A7=z1,z7=W1,Wt=a;l2=E+(C8<<2)|0,r2=+s[l2>>2],a2=Wt+1|0,X1=E+(Wt<<2)|0,s2=+s[X1>>2],f2=s2*K1,y2=f2+r2,k2=q7+1|0,w2=m+(q7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*i2,d2=A7+1|0,K2=m+(A7<<2)|0,s[K2>>2]=N2,G2=C8+1|0,ft=(G2|0)==(a|0),!ft;)C8=G2,q7=k2,A7=d2,z7=C2,Wt=a2;if(P1)for(P8=i2,v8=K1,dt=2,H7=a,Ut=W1;;){if(M2=H7+a|0,P2=Ut-a|0,z2=v8*K1,o5=P8*i2,O2=z2-o5,T1=P8*K1,X2=v8*i2,L5=X2+T1,y)for(rt=0,w7=c2,S7=z1,b7=M2,Lt=P2;e5=b7+1|0,b5=E+(b7<<2)|0,f5=+s[b5>>2],k5=f5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,v2=+s[l5>>2],m5=v2+k5,s[l5>>2]=m5,n5=Lt+1|0,x2=E+(Lt<<2)|0,_2=+s[x2>>2],p2=_2*L5,R5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+p2,s[d5>>2]=G5,_5=rt+1|0,kt=(_5|0)==(a|0),!kt;)rt=_5,w7=P5,S7=R5,b7=e5,Lt=n5;if(q2=dt+1|0,tt=(q2|0)==(Q3|0),tt)break;P8=L5,v8=O2,dt=q2,H7=M2,Ut=P2}if(I5=Ve+1|0,St=(I5|0)==(Q3|0),St)break;U8=i2,O8=K1,Ve=I5,_t=c2,d7=z1}if(E1)for(nt=1,z8=0;;){if(A5=z8+a|0,y)for(q4=0,Jt=A5;c5=Jt+1|0,p5=E+(Jt<<2)|0,S5=+s[p5>>2],g5=m+(q4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=q4+1|0,ut=(g2|0)==(a|0),!ut;)q4=g2,Jt=c5;if(B5=nt+1|0,Qe=(B5|0)==(Q3|0),Qe)break;nt=B5,z8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,qe=0;;){if(i5)for(Je=0,de=qe,Vt=qe;Y5=I+(de<<2)|0,X5=e[Y5>>2]|0,n3=g+(Vt<<2)|0,e[n3>>2]=X5,m3=de+t|0,F5=Vt+C9|0,J5=Je+1|0,Le=(J5|0)==(A|0),!Le;)Je=J5,de=m3,Vt=F5;if(v3=qe+1|0,i8=(v3|0)==(t|0),i8)break;qe=v3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,x8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;x5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,L2=Y7+1|0,Q5=g+(Y7<<2)|0,e[Q5>>2]=$5,q5=Oe+1|0,S8=(q5|0)==(t|0),!S8;)Oe=q5,O7=x5,Y7=L2;if(j5=Me+t|0,E5=I7+C9|0,f3=x8+1|0,v9=(f3|0)==(A|0),v9)break;x8=f3,Me=j5,I7=E5}if(u3=t<<1,B3=r5(R9,n)|0,E1)for(z3=(A|0)>0,st=1,bt=0,C7=0,J7=B3;;){if(z5=bt+u3|0,w3=C7+R9|0,W5=J7-R9|0,z3)for(B9=0,Zt=z5,v7=w3,W7=W5;i6=I+(v7<<2)|0,L3=e[i6>>2]|0,U3=Zt+-1|0,a3=g+(U3<<2)|0,e[a3>>2]=L3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=g+(Zt<<2)|0,e[C3>>2]=c3,U5=Zt+C9|0,O5=v7+t|0,v5=W7+t|0,P3=B9+1|0,d8=(P3|0)==(A|0),!d8;)B9=P3,Zt=U5,v7=O5,W7=v5;if(M5=st+1|0,Pe=(M5|0)==(Q3|0),Pe)break;st=M5,bt=z5,C7=w3,J7=W5}if(!g4){if(o6=(G4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(p=(A|0)<1,S=(t|0)<3,k8=p|S,V8=1,$t=e3,p7=0,o7=0,gi=B3;;){if(u6=$t+u3|0,y3=p7+u3|0,r6=o7+R9|0,j3=gi-R9|0,!k8)for(at=0,Z7=u6,a7=y3,ve=r6,$7=j3;;){for(X9=2;l6=t-X9|0,d3=X9+ve|0,k6=d3+-1|0,S6=I+(k6<<2)|0,p6=+s[S6>>2],X3=X9+$7|0,c6=X3+-1|0,B6=I+(c6<<2)|0,x6=+s[B6>>2],Y6=x6+p6,C6=X9+a7|0,b3=C6+-1|0,t6=g+(b3<<2)|0,s[t6>>2]=Y6,f6=+s[S6>>2],H3=+s[B6>>2],D3=f6-H3,Y3=l6+Z7|0,Z3=Y3+-1|0,b6=g+(Z3<<2)|0,s[b6>>2]=D3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(X3<<2)|0,a6=+s[O6>>2],d6=a6+t3,_3=g+(C6<<2)|0,s[_3>>2]=d6,N6=+s[O6>>2],n6=+s[A6>>2],Q6=N6-n6,L6=g+(Y3<<2)|0,s[L6>>2]=Q6,K6=X9+2|0,I6=(K6|0)<(t|0),I6;)X9=K6;if(O3=Z7+C9|0,V5=a7+C9|0,S3=ve+t|0,g3=$7+t|0,q3=at+1|0,X8=(q3|0)==(A|0),X8)break;at=q3,Z7=O3,a7=V5,ve=S3,$7=g3}if(J6=V8+1|0,et=(J6|0)==(Q3|0),et)break;V8=J6,$t=u6,p7=y3,o7=r6,gi=j3}return}if(E1)for(A3=(t|0)>2,R3=(A|0)>0,re=1,se=e3,li=0,Q7=0,K7=B3;;){if(j6=se+u3|0,G6=li+u3|0,e9=Q7+R9|0,s9=K7-R9|0,A3&&(R6=j6+t|0,R3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,x4=Fe+G6|0,M4=R6-Fe|0,K8=0,k7=M4,Pt=x4,D7=D4,n9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],X6=A9+F6,u9=Pt+-1|0,f9=g+(u9<<2)|0,s[f9>>2]=X6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=k7+-1|0,T6=g+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=g+(Pt<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,q6=g+(k7<<2)|0,s[q6>>2]=b9,r9=k7+C9|0,m4=Pt+C9|0,S4=D7+t|0,A4=n9+t|0,y9=K8+1|0,q8=(y9|0)==(A|0),!q8;)K8=y9,k7=r9,Pt=m4,D7=S4,n9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=re+1|0,H8=(C4|0)==(Q3|0),H8)break;re=C4,se=j6,li=G6,Q7=e9,K7=s9}}}function ab(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,Z8=0,gt=0,ht=0,M8=0,T8=0,N8=0,G8=0,W8=0,j8=0,vt=0,U8=0,P8=0,O8=0,v8=0,k8=0,f8=0,q8=0,H8=0,X8=0,et=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,tt=0,St=0,ie=0,it=0,Y8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,rt=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,J8=0,dt=0,nt=0,st=0,V8=0,ot=0,K8=0,a8=0,$8=0,_8=0,H4=0,At=0,x8=0,Je=0,B9=0,at=0,Ve=0,Nt=0,Ht=0,bt=0,$t=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,z8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0,Et=0,Rt=0,jr=0,Er=0,to=0,On=0,io=0,qn=0,ro=0,no=0,Hn=0,so=0,Xr=0,oo=0,Ao=0,ao=0,Yn=0,$o=0,Jn=0,Vn=0,lo=0,en=0,Kn=0,tn=0,zn=0,Zn=0,co=0,go=0,ho=0,rn=0,Wn=0,uo=0,mr=0,nn=0,fo=0,Io=0,sn=0,ui=0,jn=0,Eo=0,mo=0,Xn=0,es=0,ts=0,Co=0,fi=0,on=0,po=0,is=0,Bo=0,Qo=0,yo=0,rs=0,wo=0,vo=0,ko=0,So=0,ns=0,bo=0,Do=0,An=0,Cr=0,an=0,_o=0,ji=0,xo=0,ss=0,$n=0,os=0,ln=0,Lo=0,As=0,as=0,Ro=0,$s=0,ls=0,Fo=0,pr=0,cs=0,di=0,cn=0,Br=0,Xi=0,Qr=0,Hi=0,yr=0,gs=0,Yi=0,vi=0,ki=0,j7=0,Si=0,wr=0,er=0,tr=0,vr=0,Ii=0,Mo=0,l7=0,el=0,gn=0,hn=0,Th=0,tl=0,To=0,Nh=0,ea=0,il=0,Gh=0,Uh=0,Ph=0,ta=0,rl=0,nl=0,ia=0,un=0,sl=0,Oh=0,No=0,ir=0,qh=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,ol=0,kr=0,Xh=0,eu=0,Al=0,tu=0,ra=0,Go=0,na=0,iu=0,ru=0,sa=0,al=0,$l=0,ll=0,oa=0,cl=0,Uo=0,nu=0,su=0,gl=0,ou=0,Au=0,hl=0,au=0,$u=0,ul=0,fl=0,dl=0,Il=0,El=0,fn=0,lu=0,ml=0,cu=0,Cl=0,pl=0,gu=0,hu=0,uu=0,Aa=0,Bl=0,Ql=0,hs=0,yl=0,aa=0,fu=0,wl=0,du=0,vl=0,Iu=0,Eu=0,kl=0,Sl=0,mu=0,Po=0,Cu=0,$a=0,bl=0,Dl=0,pu=0,Bu=0,Qu=0,yu=0,wu=0,vu=0,Oo=0,_l=0,xl=0,Ll=0,qo=0,ku=0,Rl=0,Su=0,Fl=0,bu=0,Du=0,Ml=0,la=0,_u=0,xu=0,Ho=0,Lu=0,Yo=0,Ru=0,ca=0,Fu=0,Mu=0,Tu=0,Tl=0,Nu=0,Gu=0,Uu=0,Pu=0,Nl=0,Gl=0,rr=0,Ul=0,Jo=0,ga=0,ha=0,dn=0,Pl=0,In=0,Ou=0,Ol=0,qu=0,Hu=0,Yu=0,Ju=0,Vo=0,ua=0,Sr=0,Vu=0,Ku=0,ql=0,fa=0,Hl=0,Yl=0,zu=0,Jl=0,Zu=0,da=0,Wu=0,ju=0,P9=0,Xu=0,Vl=0,ef=0,tf=0,Ia=0,rf=0,Ea=0,Kl=0,nf=0,sf=0,zl=0,Zl=0,of=0,ma=0,Ca=0,Wl=0,jl=0,Af=0,Xl=0,pa=0,af=0,ec=0,$f=0,lf=0,cf=0,gf=0,tc=0,ic=0,Ba=0,Ko=0,rc=0,hf=0,nc=0,sc=0,uf=0,ff=0,df=0,oc=0,If=0,Ef=0,mf=0,Cf=0,pf=0,Bf=0,Ac=0,Qf=0,ac=0,yf=0,En=0,wf=0,$c=0,vf=0,us=0,lc=0,Qa=0,kf=0,zo=0,ya=0,Sf=0,wa=0,cc=0,bf=0,Df=0,_f=0,xf=0,Lf=0,gc=0,Rf=0,Ff=0,Mf=0,Zo=0,fs=0,va=0,Tf=0,ka=0,Nf=0,Gf=0,Uf=0,hc=0,Pf=0,Of=0,qf=0,Hf=0,Yf=0,Wo=0,Jf=0,Vf=0,uc=0,Kf=0,zf=0,Zf=0,Wf=0,Ei=0,fc=0,mi=0,dc=0,Sa=0,jf=0,X7=0,ds=0,Xf=0,ed=0,td=0,id=0,rd=0,Ic=0,nd=0,sd=0,Ec=0,od=0,Ad=0,Is=0,ba=0,ad=0,mc=0,$d=0,ld=0,jo=0,cd=0,gd=0,Cc=0,pc=0,hd=0,ud=0,mn=0,fd=0,dd=0,Cn=0,Id=0,Bc=0,Ed=0,md=0,Es=0,Qc=0,Cd=0,yc=0,pd=0,nr=0,Da=0,Bd=0,wc=0,vc=0,Qd=0,yd=0,kc=0,wd=0,vd=0,kd=0,Sc=0,Sd=0,ms=0,bd=0,pn=0,Dd=0,_d=0,_a=0,xd=0,xa=0,La=0,Ld=0,bc=0,Dc=0,Rd=0,_c=0,xc=0,Lc=0,Fd=0,Rc=0,Fc=0,Md=0,Td=0,Mc=0,Tc=0,Nd=0,Nc=0,Gc=0,Gd=0,Ud=0,Uc=0,Ra=0,Pc=0,Oc=0,qc=0,Hc=0,Pd=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,Yc=0,Fa=0,zd=0,Zd=0,Wd=0,Jc=0,Vc=0,jd=0,Kc=0,Ma=0,Xo=0,zc=0,Xd=0,eI=0,tI=0,iI=0,Zc=0,eA=0,rI=0,nI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,Wc=0,cI=0,gI=0,hI=0,uI=0,tA=0,jc=0,fI=0,dI=0,Bn=0,Xc=0,eg=0,Ta=0,II=0,tg=0,EI=0,ig=0,rg=0,mI=0,CI=0,pI=0,BI=0,QI=0,iA=0,Na=0,yI=0,wI=0,vI=0,kI=0,ng=0,SI=0,sg=0,bI=0,DI=0,og=0,br=0,Ag=0,ag=0,_I=0,$g=0,rA=0,xI=0,LI=0,RI=0,nA=0,lg=0,FI=0,MI=0,cg=0,TI=0,NI=0,Ga=0,sA=0,GI=0,UI=0,PI=0,gg=0,hg=0,ug=0,OI=0,qI=0,Cs=0,HI=0,fg=0,YI=0,Ua=0,dg=0,JI=0,VI=0,KI=0,zI=0,Ig=0,ZI=0,WI=0,Eg=0,oA=0,jI=0,XI=0,eE=0,ps=0,mg=0,Cg=0,tE=0,pg=0,Bg=0,bi=0,Qg=0,sr=0,iE=0,rE=0,nE=0,sE=0,Pa=0,AA=0,yg=0,wg=0,oE=0,aA=0,Bs=0,AE=0,$A=0,Oa=0,aE=0,qa=0,$E=0,lE=0,vg=0,lA=0,kg=0,cE=0,gE=0,hE=0,uE=0,Sg=0,fE=0,jt=0,y4=0,ei=0,dE=0,bg=0,Dg=0,Ha=0,IE=0,Dr=0,Qs=0,EE=0,mE=0,_g=0,Ya=0,CE=0,xg=0,Lg=0,Rg=0,Ja=0,Va=0,Fg=0,ys=0,Ka=0,Mg=0,pE=0,Qn=0,BE=0,Tg=0,cA=0,QE=0,Ng=0,Di=0,yE=0,wE=0,vE=0,kE=0,SE=0,bE=0,_i=0,DE=0,_E=0,xE=0,Gg=0,Ci=0,gA=0,za=0,Ug=0,Pg=0,LE=0,Og=0,qg=0,RE=0,FE=0,Hg=0,Yg=0,ME=0,TE=0,Jg=0,NE=0,ws=0,hA=0,uA=0,GE=0,Za=0,UE=0,PE=0,Vg=0,vs=0,OE=0,qE=0,Wa=0,ja=0,fA=0,Xa=0,e$=0,or=0,_r=0,xr=0,t$=0,i$=0,ks=0,Ar=0,yn=0,HE=0,ar=0,wn=0,YE=0,_7=0,x7=0,L7=0,dA=0,IA=0,Kg=0,zg=0,EA=0,r$=0,R7=0,mA=0,Lr=0,n$=0,JE=0,s$=0,VE=0,o$=0,Zg=0,CA=0,KE=0,zE=0,pA=0,ZE=0,BA=0,vn=0,Ke=0,k4=0,Wg=0,WE=0,A$=0,jg=0,jE=0,XE=0,QA=0,em=0,tm=0,im=0,rm=0,Xg=0,nm=0,sm=0,om=0,ti=0,yA=0,kn=0,a$=0,Ss=0,bs=0,Xt=0,Ds=0,eh=0,th=0,wA=0,_s=0,xs=0,Ls=0,Am=0,Rs=0,$r=0,ih=0,Rr=0,ii=0,$$=0,l$=0,Ji=0,c$=0,g$=0,h$=0,Fr=0,$6=0,vA=0,Mr=0,rh=0,ke=0,u$=0,Q8=0,Fs=0,Sn=0,bn=0,F9=0,Dn=0,Tr=0,Y4=0,f$=0,Bp=0,am=0,nC=0,sC=0,Qp=0,$m=0,xQ=0,LQ=0,RQ=0,FQ=0,MQ=0,TQ=0,NQ=0,GQ=0,UQ=0,PQ=0,OQ=0,qQ=0,yp=0,wp=0,HQ=0,YQ=0,JQ=0,nh=0,oC=0,pi=0,sh=0,oh=0,Ah=0,ah=0,lm=0,cm=0,gm=0,hm=0,um=0,fm=0,dm=0,Im=0,Em=0,mm=0,AC=0,kA=0,lr=0,d$=0,$h=0,I$=0,vp=0,SA=0,Cm=0,E$=0,aC=0,$C=0,pm=0,lC=0,cC=0,gC=0,hC=0,uC=0,fC=0,dC=0,kp=0,Sp=0,bp=0,Dp=0,_p=0,bA=0,DA=0,_A=0,xA=0,VQ=0,cr=0,t4=0,Tb=0,LA=0,IC=0;if(Tb=C,g0=t+28|0,j=e[g0>>2]|0,et=(j|0)==0,et||(A7=j+3456|0,gs=e[A7>>2]|0,_l=(gs|0)==0,n=_l&1,us=j+3496|0,_c=+A1[us>>3],gg=_c>-80,gg?A1[us>>3]=-80:(FE=_c<-200,FE&&(A1[us>>3]=-200)),c0=j+3512|0,Z2=+A1[c0>>3],s3=Z2>0,s3?A1[c0>>3]=0:(C4=Z2<-99999,C4&&(A1[c0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,R4=(_6|0)==0,R4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,xe=j+3400|0,j8=+A1[xe>>3],d8=_6+24|0,St=e[d8>>2]|0,he=_6+28|0,Fe=e[he>>2]|0,re=~~j8,K8=St+(re<<2)|0,Nt=e[K8>>2]|0,z8=Fe+(re<<2)|0,I7=e[z8>>2]|0,e[j>>2]=Nt,B7=j+4|0,e[B7>>2]=I7,Ut=(Nt|0)==(I7|0),Wt=_6+144|0,It=e[Wt>>2]|0,no=(It|0)>0,no){for(lo=_6+136|0,uo=_6+140|0,es=_6+148|0,ji=j8,Sr=j,AC=0;;){if(wo=~~ji,ls=e[lo>>2]|0,Yi=e[uo>>2]|0,l7=e[es>>2]|0,Uh=l7+(AC<<2)|0,qh=e[Uh>>2]|0,kr=n4(1,1120)|0,al=qh+(wo<<2)|0,hl=e[al>>2]|0,cu=Yi+(hl*1120|0)|0,s4(kr|0,cu|0,1120)|0,aa=e[kr>>2]|0,Cu=(aa|0)>0,Cu){for(xl=kr+4|0,oC=0,dC=-1;;)if(pa=xl+(oC<<2)|0,rc=e[pa>>2]|0,Cf=(rc|0)>(dC|0),t0=Cf?rc:dC,lc=oC+1|0,OQ=(lc|0)==(aa|0),OQ){J=t0;break}else oC=lc,dC=t0;if(_u=(J|0)<0,!_u){for(Nu=kr+256|0,dn=Sr+24|0,Wu=kr+192|0,nf=kr+320|0,I$=0,gC=-1;;){if(vc=Nu+(I$<<2)|0,pn=e[vc>>2]|0,xc=(pn|0)>(gC|0),z=xc?pn:gC,Gc=e[dn>>2]|0,qd=Gc+pn|0,e[vc>>2]=qd,Jc=Wu+(I$<<2)|0,Zc=e[Jc>>2]|0,cI=(Zc|0)==31,cI)hC=z;else for(y9=Zc,lC=0,fC=z;;)if(Ta=(nf+(I$<<5)|0)+(lC<<2)|0,iA=e[Ta>>2]|0,og=(iA|0)>(fC|0),Y=og?iA:fC,lg=(iA|0)>-1,lg?(hg=e[dn>>2]|0,VI=hg+iA|0,e[Ta>>2]=VI,e0=e[Jc>>2]|0,Oa=e0):Oa=y9,ps=lC+1|0,nE=1<>2]|0,jf=e[Vf>>2]|0,Ec=e[dn>>2]|0,gd=Ec+1|0,e[dn>>2]=gd,Ed=(Sr+1824|0)+(Ec<<2)|0,e[Ed>>2]=jf,NQ=(uC|0)==0,!NQ))for(vp=0;Va=vp+1|0,Z=e[al>>2]|0,Ng=ls+(Z<<2)|0,xE=e[Ng>>2]|0,Hg=xE+(Va<<2)|0,UE=e[Hg>>2]|0,or=e[dn>>2]|0,YE=or+1|0,e[dn>>2]=YE,mA=(Sr+1824|0)+(or<<2)|0,e[mA>>2]=UE,TQ=(Va|0)==(uC|0),!TQ;)vp=Va}}if(pA=Sr+16|0,XE=e[pA>>2]|0,yA=(Sr+800|0)+(XE<<2)|0,e[yA>>2]=1,xs=e[pA>>2]|0,c$=(Sr+1056|0)+(xs<<2)|0,e[c$>>2]=kr,u0=e[pA>>2]|0,x0=u0+1|0,e[pA>>2]=x0,V0=AC+1|0,c1=e[Wt>>2]|0,h1=(V0|0)<(c1|0),!h1)break;W=+A1[xe>>3],r0=e[g0>>2]|0,ji=W,Sr=r0,AC=V0}h0=e[g0>>2]|0,z5=h0}else z5=j;R1=j+3520|0,H1=+A1[R1>>3],A2=_6+124|0,t2=e[A2>>2]|0,H2=_6+128|0,f5=e[H2>>2]|0,R5=~~H1,S5=+(R5|0),i5=H1-S5,Y5=z5+2868|0,U5=f5+(R5<<3)|0,k3=+A1[U5>>3],v6=~~k3,e6=t2+(v6*492|0)|0,s4(Y5|0,e6|0,492)|0,a6=+A1[U5>>3],j6=1-i5,M6=a6*j6,T6=R5+1|0,q6=f5+(T6<<3)|0,b4=+A1[q6>>3],D4=b4*i5,x4=D4+M6,M4=~~x4,j4=+(M4|0),T4=x4-j4,U9=T4==0,N4=(M4|0)>0,kp=N4&U9,I=kp?1:T4,a4=kp<<31>>31,F=a4+M4|0,L4=1-I,u4=F+1|0,Ce=(t2+(F*492|0)|0)+4|0,q9=+s[Ce>>2],m9=q9,pe=L4*m9,Xe=(t2+(u4*492|0)|0)+4|0,G4=+s[Xe>>2],Ge=G4,U4=I*Ge,X4=pe+U4,be=X4,e8=z5+2872|0,s[e8>>2]=be,Z9=(t2+(F*492|0)|0)+32|0,ae=+s[Z9>>2],f4=ae,P4=L4*f4,R9=(t2+(u4*492|0)|0)+32|0,$4=+s[R9>>2],_4=$4,$e=I*_4,W9=P4+$e,le=W9,ce=z5+2900|0,s[ce>>2]=le,p4=(t2+(F*492|0)|0)+8|0,ee=+s[p4>>2],ge=ee,C9=L4*ge,g6=(t2+(u4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,Be=I*l4,B4=C9+Be,c4=B4,P6=z5+2876|0,s[P6>>2]=c4,De=(t2+(F*492|0)|0)+36|0,t8=+s[De>>2],g4=t8,v4=L4*g4,u8=(t2+(u4*492|0)|0)+36|0,J3=+s[u8>>2],w9=J3,p9=w9*I,F4=p9+v4,te=F4,lt=z5+2904|0,s[lt>>2]=te,ct=(t2+(F*492|0)|0)+12|0,wt=+s[ct>>2],Z8=wt,gt=Z8*L4,ht=(t2+(u4*492|0)|0)+12|0,M8=+s[ht>>2],T8=M8,N8=T8*I,G8=N8+gt,W8=G8,vt=z5+2880|0,s[vt>>2]=W8,U8=(t2+(F*492|0)|0)+40|0,P8=+s[U8>>2],O8=P8,v8=O8*L4,k8=(t2+(u4*492|0)|0)+40|0,f8=+s[k8>>2],q8=f8,H8=q8*I,X8=H8+v8,Pe=X8,Le=z5+2908|0,s[Le>>2]=Pe,i8=(t2+(F*492|0)|0)+16|0,S8=+s[i8>>2],v9=S8,ut=v9*L4,Qe=(t2+(u4*492|0)|0)+16|0,ft=+s[Qe>>2],kt=ft,tt=kt*I,ie=tt+ut,it=ie,Y8=z5+2884|0,s[Y8>>2]=it,b8=(t2+(F*492|0)|0)+44|0,r8=+s[b8>>2],O4=r8,Re=O4*L4,n8=(t2+(u4*492|0)|0)+44|0,I8=+s[n8>>2],D8=I8,j9=D8*I,s8=j9+Re,E8=s8,o8=z5+2912|0,s[o8>>2]=E8,m8=z5+3512|0,ue=+A1[m8>>3],ye=ue,Oe=z5+2936|0,s[Oe>>2]=ye,qe=_6+132|0,X9=e[qe>>2]|0,fe=j+3472|0,A8=+A1[fe>>3],we=A8,Q4=~~we,C8=+(Q4|0),rt=we-C8,q4=rt,I3=e[g0>>2]|0,He=(X9|0)==0;e:do if(He)p8=I3+4|0,H9=e[I3>>2]|0,ne=I3+3240|0,e[ne>>2]=H9,D9=e[p8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,J8=I3+3244|0,e[J8>>2]=H9,dt=I3+3304|0,e[dt>>2]=D9,nt=I3+3248|0,e[nt>>2]=H9,st=I3+3308|0,e[st>>2]=D9,V8=I3+3252|0,e[V8>>2]=H9,ot=I3+3312|0,e[ot>>2]=D9,a8=I3+3256|0,e[a8>>2]=H9,$8=I3+3316|0,e[$8>>2]=D9,_8=I3+3260|0,e[_8>>2]=H9,H4=I3+3320|0,e[H4>>2]=D9,At=I3+3264|0,e[At>>2]=H9,x8=I3+3324|0,e[x8>>2]=D9,Je=I3+3268|0,e[Je>>2]=H9,B9=I3+3328|0,e[B9>>2]=D9,at=I3+3272|0,e[at>>2]=H9,Ve=I3+3332|0,e[Ve>>2]=D9,Ht=I3+3276|0,e[Ht>>2]=H9,bt=I3+3336|0,e[bt>>2]=D9,$t=I3+3280|0,e[$t>>2]=H9,Dt=I3+3340|0,e[Dt>>2]=D9,se=I3+3284|0,e[se>>2]=H9,Gt=I3+3344|0,e[Gt>>2]=D9,Yt=I3+3288|0,e[Yt>>2]=H9,l8=I3+3348|0,e[l8>>2]=D9,L8=I3+3292|0,e[L8>>2]=H9,_t=I3+3352|0,e[_t>>2]=D9,Me=I3+3296|0,e[Me>>2]=H9,de=I3+3356|0,e[de>>2]=D9;else{e4=I3+3120|0,xt=X9+(Q4*240|0)|0,cr=e4,LA=xt,IC=cr+60|0;do e[cr>>2]=e[LA>>2]|0,cr=cr+4|0,LA=LA+4|0;while((cr|0)<(IC|0));r7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,cr=r7,LA=G7,IC=cr+60|0;do e[cr>>2]=e[LA>>2]|0,cr=cr+4|0,LA=LA+4|0;while((cr|0)<(IC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Jt=1-q4,Vt=Q4+1|0,E7=t+8|0,Kt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),lr=0;;){if(n7=((X9+(Q4*240|0)|0)+120|0)+(lr<<2)|0,$i=+s[n7>>2],O7=$i,C7=O7*Jt,p7=((X9+(Vt*240|0)|0)+120|0)+(lr<<2)|0,li=+s[p7>>2],s7=li,ci=s7*q4,q7=ci+C7,H7=q7,Y7=H7,J7=Y7*1e3,o7=J7/m7,Q7=e[I3>>2]|0,V7=+(Q7|0),zt=V7*o7,Zt=~~zt,gi=(I3+3e3|0)+(lr<<2)|0,e[gi>>2]=Zt,K7=e[Kt>>2]|0,hi=+(K7|0),y7=hi*o7,z7=~~y7,w7=(I3+3060|0)+(lr<<2)|0,e[w7>>2]=z7,v7=~~H7,Z7=(I3+2940|0)+(lr<<2)|0,e[Z7>>2]=v7,k7=((X9+(Q4*240|0)|0)+180|0)+(lr<<2)|0,S7=+s[k7>>2],W7=S7,a7=W7*Jt,Pt=((X9+(Vt*240|0)|0)+180|0)+(lr<<2)|0,b7=+s[Pt>>2],ve=b7,D7=ve*q4,Lt=D7+a7,$7=Lt,n9=$7,B8=n9*1e3,Et=B8/m7,Rt=e[I3>>2]|0,jr=+(Rt|0),Er=jr*Et,to=~~Er,On=(I3+3240|0)+(lr<<2)|0,e[On>>2]=to,io=e[Kt>>2]|0,qn=+(io|0),ro=qn*Et,Hn=~~ro,so=(I3+3300|0)+(lr<<2)|0,e[so>>2]=Hn,Xr=lr+1|0,UQ=(Xr|0)==15,UQ)break e;lr=Xr}for(oo=(X9+(Q4*240|0)|0)+148|0,Ao=+s[oo>>2],ao=Ao,Yn=1-q4,$o=ao*Yn,Jn=Q4+1|0,Vn=(X9+(Jn*240|0)|0)+148|0,en=+s[Vn>>2],Kn=en,tn=Kn*q4,zn=tn+$o,Zn=zn,co=Zn,go=co*1e3,ho=t+8|0,rn=I3+4|0,Wn=~~Zn,l0=e[ho>>2]|0,mr=+(l0|0),nn=go/mr,$h=0;fo=e[I3>>2]|0,Io=+(fo|0),sn=Io*nn,ui=~~sn,jn=(I3+3e3|0)+($h<<2)|0,e[jn>>2]=ui,Eo=e[rn>>2]|0,mo=+(Eo|0),Xn=mo*nn,ts=~~Xn,Co=(I3+3060|0)+($h<<2)|0,e[Co>>2]=ts,fi=(I3+2940|0)+($h<<2)|0,e[fi>>2]=Wn,on=$h+1|0,qQ=(on|0)==15,!qQ;)$h=on;for(po=(X9+(Q4*240|0)|0)+208|0,is=+s[po>>2],Bo=is,Qo=Bo*Yn,yo=(X9+(Jn*240|0)|0)+208|0,rs=+s[yo>>2],vo=rs,ko=vo*q4,So=ko+Qo,ns=So,bo=ns,Do=bo*1e3,An=Do/mr,Cm=0;Cr=e[I3>>2]|0,an=+(Cr|0),_o=an*An,xo=~~_o,ss=(I3+3240|0)+(Cm<<2)|0,e[ss>>2]=xo,$n=e[rn>>2]|0,os=+($n|0),ln=os*An,Lo=~~ln,As=(I3+3300|0)+(Cm<<2)|0,e[As>>2]=Lo,as=Cm+1|0,GQ=(as|0)==15,!GQ;)Cm=as}while(!1);for(Ro=+A1[xe>>3],$s=_6+92|0,Fo=e[$s>>2]|0,pr=_6+100|0,cs=e[pr>>2]|0,di=_6+108|0,cn=e[di>>2]|0,Br=e[g0>>2]|0,Xi=Br+2852|0,Qr=e[Xi>>2]|0,Hi=~~Ro,yr=Br+28|0,vi=e[yr>>2]|0,ki=(vi|0)>0,ki||(e[yr>>2]=1),j7=(Qr|0)==0,j7?(Si=n4(1,520)|0,e[Xi>>2]=Si,bA=Si):bA=Qr,s4(bA|0,25784,520)|0,e[bA>>2]=0,wr=Br+3460|0,er=e[wr>>2]|0,tr=(er|0)==0,tr||(vr=bA+500|0,e[vr>>2]=1,Ii=Fo+(Hi<<2)|0,Mo=e[Ii>>2]|0,el=bA+504|0,e[el>>2]=Mo,gn=cs+(Hi<<2)|0,hn=e[gn>>2]|0,Th=bA+508|0,e[Th>>2]=hn,tl=cn+(Hi<<3)|0,To=+A1[tl>>3],Nh=bA+512|0,A1[Nh>>3]=To),ea=+A1[xe>>3],il=e[$s>>2]|0,Gh=e[pr>>2]|0,Ph=e[di>>2]|0,ta=e[g0>>2]|0,rl=ta+2856|0,nl=e[rl>>2]|0,ia=~~ea,un=ta+28|0,sl=e[un>>2]|0,Oh=(sl|0)>1,Oh||(e[un>>2]=2),No=(nl|0)==0,No?(ir=n4(1,520)|0,e[rl>>2]=ir,DA=ir):DA=nl,s4(DA|0,25784,520)|0,e[DA>>2]=0,Hh=ta+3460|0,Yh=e[Hh>>2]|0,Jh=(Yh|0)==0,Jh||(Vh=DA+500|0,e[Vh>>2]=1,Kh=il+(ia<<2)|0,zh=e[Kh>>2]|0,Zh=DA+504|0,e[Zh>>2]=zh,Wh=Gh+(ia<<2)|0,jh=e[Wh>>2]|0,ol=DA+508|0,e[ol>>2]=jh,Xh=Ph+(ia<<3)|0,eu=+A1[Xh>>3],Al=DA+512|0,A1[Al>>3]=eu),Ut||(tu=+A1[xe>>3],ra=_6+96|0,Go=e[ra>>2]|0,na=_6+104|0,iu=e[na>>2]|0,ru=e[di>>2]|0,sa=e[g0>>2]|0,$l=sa+2860|0,ll=e[$l>>2]|0,oa=~~tu,cl=sa+28|0,Uo=e[cl>>2]|0,nu=(Uo|0)>2,nu||(e[cl>>2]=3),su=(ll|0)==0,su?(gl=n4(1,520)|0,e[$l>>2]=gl,_A=gl):_A=ll,s4(_A|0,25784,520)|0,e[_A>>2]=1,ou=sa+3460|0,Au=e[ou>>2]|0,au=(Au|0)==0,au||($u=_A+500|0,e[$u>>2]=1,ul=Go+(oa<<2)|0,fl=e[ul>>2]|0,dl=_A+504|0,e[dl>>2]=fl,Il=iu+(oa<<2)|0,El=e[Il>>2]|0,fn=_A+508|0,e[fn>>2]=El,lu=ru+(oa<<3)|0,ml=+A1[lu>>3],Cl=_A+512|0,A1[Cl>>3]=ml),pl=+A1[xe>>3],gu=e[ra>>2]|0,hu=e[na>>2]|0,uu=e[di>>2]|0,Aa=e[g0>>2]|0,Bl=Aa+2864|0,Ql=e[Bl>>2]|0,hs=~~pl,yl=Aa+28|0,fu=e[yl>>2]|0,wl=(fu|0)>3,wl||(e[yl>>2]=4),du=(Ql|0)==0,du?(vl=n4(1,520)|0,e[Bl>>2]=vl,xA=vl):xA=Ql,s4(xA|0,25784,520)|0,e[xA>>2]=1,Iu=Aa+3460|0,Eu=e[Iu>>2]|0,kl=(Eu|0)==0,kl||(Sl=xA+500|0,e[Sl>>2]=1,mu=gu+(hs<<2)|0,Po=e[mu>>2]|0,$a=xA+504|0,e[$a>>2]=Po,bl=hu+(hs<<2)|0,Dl=e[bl>>2]|0,pu=xA+508|0,e[pu>>2]=Dl,Bu=uu+(hs<<3)|0,Qu=+A1[Bu>>3],yu=xA+512|0,A1[yu>>3]=Qu)),wu=(j+3528|0)+(n<<5)|0,vu=+A1[wu>>3],Oo=_6+32|0,Ll=e[Oo>>2]|0,qo=_6+36|0,ku=e[qo>>2]|0,Rl=_6+44|0,Su=e[Rl>>2]|0,Xm(t,vu,0,Ll,ku,Su),Fl=j+3560|0,bu=+A1[Fl>>3],Du=e[Oo>>2]|0,Ml=e[qo>>2]|0,la=_6+52|0,xu=e[la>>2]|0,Xm(t,bu,1,Du,Ml,xu),Ut||(Ho=j+3592|0,Lu=+A1[Ho>>3],Yo=e[Oo>>2]|0,Ru=e[qo>>2]|0,ca=e[la>>2]|0,Xm(t,Lu,2,Yo,Ru,ca),Fu=j+3624|0,Mu=+A1[Fu>>3],Tu=e[Oo>>2]|0,Tl=e[qo>>2]|0,Gu=_6+48|0,Uu=e[Gu>>2]|0,Xm(t,Mu,3,Tu,Tl,Uu)),Pu=((j+3528|0)+(n<<5)|0)+24|0,Nl=+A1[Pu>>3],Gl=_6+80|0,rr=e[Gl>>2]|0,Ul=_6+84|0,Jo=e[Ul>>2]|0,ga=~~Nl,ha=+(ga|0),Pl=Nl-ha,In=e[g0>>2]|0,Ou=In+2852|0,Ol=e[Ou>>2]|0,qu=Jo+(ga<<3)|0,Hu=+A1[qu>>3],Yu=1-Pl,Ju=Hu*Yu,Vo=ga+1|0,ua=Jo+(Vo<<3)|0,Vu=+A1[ua>>3],Ku=Vu*Pl,ql=Ku+Ju,fa=~~ql,Hl=+(fa|0),Yl=ql-Hl,zu=Yl==0,Jl=(fa|0)>0,Sp=Jl&zu,a=Sp?1:Yl,Zu=Sp<<31>>31,M=Zu+fa|0,da=1-a,ju=M+1|0,sh=0;P9=(rr+(M*160|0)|0)+(sh<<2)|0,Xu=e[P9>>2]|0,Vl=+(Xu|0),ef=Vl*da,tf=(rr+(ju*160|0)|0)+(sh<<2)|0,Ia=e[tf>>2]|0,rf=+(Ia|0),Ea=rf*a,Kl=Ea+ef,sf=Kl,zl=(Ol+336|0)+(sh<<2)|0,s[zl>>2]=sf,Zl=sh+1|0,LQ=(Zl|0)==40,!LQ;)sh=Zl;for(of=j+3584|0,ma=+A1[of>>3],Ca=~~ma,Wl=+(Ca|0),jl=ma-Wl,Af=In+2856|0,Xl=e[Af>>2]|0,af=Jo+(Ca<<3)|0,ec=+A1[af>>3],$f=1-jl,lf=ec*$f,cf=Ca+1|0,gf=Jo+(cf<<3)|0,tc=+A1[gf>>3],ic=tc*jl,Ba=ic+lf,Ko=~~Ba,hf=+(Ko|0),nc=Ba-hf,sc=nc==0,uf=(Ko|0)>0,bp=uf&sc,g=bp?1:nc,ff=bp<<31>>31,T=ff+Ko|0,df=1-g,oc=T+1|0,oh=0;If=(rr+(T*160|0)|0)+(oh<<2)|0,Ef=e[If>>2]|0,mf=+(Ef|0),pf=mf*df,Bf=(rr+(oc*160|0)|0)+(oh<<2)|0,Ac=e[Bf>>2]|0,Qf=+(Ac|0),ac=Qf*g,yf=ac+pf,En=yf,wf=(Xl+336|0)+(oh<<2)|0,s[wf>>2]=En,$c=oh+1|0,RQ=($c|0)==40,!RQ;)oh=$c;if(!Ut){for(vf=j+3616|0,Qa=+A1[vf>>3],kf=_6+88|0,zo=e[kf>>2]|0,ya=~~Qa,Sf=+(ya|0),wa=Qa-Sf,cc=In+2860|0,bf=e[cc>>2]|0,Df=zo+(ya<<3)|0,_f=+A1[Df>>3],Lf=1-wa,gc=_f*Lf,Rf=ya+1|0,Ff=zo+(Rf<<3)|0,Mf=+A1[Ff>>3],Zo=Mf*wa,fs=Zo+gc,va=~~fs,Tf=+(va|0),ka=fs-Tf,Gf=ka==0,Uf=(va|0)>0,Dp=Uf&Gf,u=Dp?1:ka,hc=Dp<<31>>31,N=hc+va|0,Pf=1-u,Of=N+1|0,Ah=0;qf=(rr+(N*160|0)|0)+(Ah<<2)|0,Hf=e[qf>>2]|0,Yf=+(Hf|0),Wo=Yf*Pf,Jf=(rr+(Of*160|0)|0)+(Ah<<2)|0,uc=e[Jf>>2]|0,Kf=+(uc|0),zf=Kf*u,Zf=zf+Wo,Wf=Zf,Ei=(bf+336|0)+(Ah<<2)|0,s[Ei>>2]=Wf,fc=Ah+1|0,FQ=(fc|0)==40,!FQ;)Ah=fc;for(mi=j+3648|0,dc=+A1[mi>>3],Sa=~~dc,X7=+(Sa|0),ds=dc-X7,Xf=In+2864|0,ed=e[Xf>>2]|0,td=zo+(Sa<<3)|0,id=+A1[td>>3],rd=1-ds,Ic=id*rd,nd=Sa+1|0,sd=zo+(nd<<3)|0,od=+A1[sd>>3],Ad=od*ds,Is=Ad+Ic,ba=~~Is,ad=+(ba|0),mc=Is-ad,$d=mc==0,ld=(ba|0)>0,_p=ld&$d,E=_p?1:mc,jo=_p<<31>>31,G=jo+ba|0,cd=1-E,Cc=G+1|0,ah=0;pc=(rr+(G*160|0)|0)+(ah<<2)|0,hd=e[pc>>2]|0,ud=+(hd|0),mn=ud*cd,fd=(rr+(Cc*160|0)|0)+(ah<<2)|0,dd=e[fd>>2]|0,Cn=+(dd|0),Id=Cn*E,Bc=Id+mn,md=Bc,Es=(ed+336|0)+(ah<<2)|0,s[Es>>2]=md,Qc=ah+1|0,MQ=(Qc|0)==40,!MQ;)ah=Qc}for(Cd=((j+3528|0)+(n<<5)|0)+8|0,yc=+A1[Cd>>3],pd=_6+40|0,nr=e[pd>>2]|0,Da=~~yc,Bd=+(Da|0),wc=yc-Bd,Qd=nr+(Da<<2)|0,yd=e[Qd>>2]|0,kc=+(yd|0),wd=1-wc,vd=kc*wd,kd=Da+1|0,Sc=nr+(kd<<2)|0,Sd=e[Sc>>2]|0,ms=+(Sd|0),bd=ms*wc,Dd=bd+vd,_d=Dd,_a=Ol+32|0,s[_a>>2]=_d,xd=j+3568|0,xa=+A1[xd>>3],La=~~xa,Ld=+(La|0),bc=xa-Ld,Dc=nr+(La<<2)|0,Rd=e[Dc>>2]|0,Lc=+(Rd|0),Fd=1-bc,Rc=Lc*Fd,Fc=La+1|0,Md=nr+(Fc<<2)|0,Td=e[Md>>2]|0,Mc=+(Td|0),Tc=Mc*bc,Nd=Tc+Rc,Nc=Nd,Gd=Xl+32|0,s[Gd>>2]=Nc,Ut||(Ud=j+3600|0,Uc=+A1[Ud>>3],Ra=~~Uc,Pc=+(Ra|0),Oc=Uc-Pc,qc=In+2860|0,Hc=e[qc>>2]|0,Pd=nr+(Ra<<2)|0,Od=e[Pd>>2]|0,Hd=+(Od|0),Yd=1-Oc,Jd=Hd*Yd,Vd=Ra+1|0,Kd=nr+(Vd<<2)|0,Yc=e[Kd>>2]|0,Fa=+(Yc|0),zd=Fa*Oc,Zd=zd+Jd,Wd=Zd,Vc=Hc+32|0,s[Vc>>2]=Wd,jd=j+3632|0,Kc=+A1[jd>>3],Ma=~~Kc,Xo=+(Ma|0),zc=Kc-Xo,Xd=In+2864|0,eI=e[Xd>>2]|0,tI=nr+(Ma<<2)|0,iI=e[tI>>2]|0,eA=+(iI|0),rI=1-zc,nI=eA*rI,sI=Ma+1|0,oI=nr+(sI<<2)|0,AI=e[oI>>2]|0,aI=+(AI|0),$I=aI*zc,lI=$I+nI,Wc=lI,gI=eI+32|0,s[gI>>2]=Wc),hI=((j+3528|0)+(n<<5)|0)+16|0,uI=+A1[hI>>3],tA=_6+76|0,jc=e[tA>>2]|0,fI=_6+60|0,dI=e[fI>>2]|0,Bn=_6+56|0,Xc=e[Bn>>2]|0,_l?tg=0:(eg=j+3408|0,II=+A1[eg>>3],tg=II),eC(t,uI,0,jc,dI,Xc,tg),EI=j+3576|0,ig=+A1[EI>>3],rg=e[tA>>2]|0,mI=_6+64|0,CI=e[mI>>2]|0,pI=e[Bn>>2]|0,eC(t,ig,1,rg,CI,pI,0),Ut?(Cs=e[g0>>2]|0,HI=Cs+2852|0,fg=e[HI>>2]|0,YI=Cs+3496|0,Ua=+A1[YI>>3],dg=Ua,JI=fg+4|0,s[JI>>2]=dg,KI=Cs+3504|0,zI=+A1[KI>>3],Ig=zI,ZI=fg+8|0,s[ZI>>2]=Ig,WI=Cs+2856|0,Eg=e[WI>>2]|0,oA=Eg+4|0,s[oA>>2]=dg,jI=Eg+8|0,s[jI>>2]=Ig,sr=Cs):(BI=j+3608|0,QI=+A1[BI>>3],Na=e[tA>>2]|0,yI=_6+68|0,wI=e[yI>>2]|0,vI=e[Bn>>2]|0,eC(t,QI,2,Na,wI,vI,0),kI=j+3640|0,ng=+A1[kI>>3],SI=e[tA>>2]|0,sg=_6+72|0,bI=e[sg>>2]|0,DI=e[Bn>>2]|0,eC(t,ng,3,SI,bI,DI,0),br=e[g0>>2]|0,Ag=br+2852|0,ag=e[Ag>>2]|0,_I=br+3496|0,$g=+A1[_I>>3],rA=$g,xI=ag+4|0,s[xI>>2]=rA,LI=br+3504|0,RI=+A1[LI>>3],nA=RI,FI=ag+8|0,s[FI>>2]=nA,MI=br+2856|0,cg=e[MI>>2]|0,TI=cg+4|0,s[TI>>2]=rA,NI=cg+8|0,s[NI>>2]=nA,Ga=br+2860|0,sA=e[Ga>>2]|0,GI=sA+4|0,s[GI>>2]=rA,UI=sA+8|0,s[UI>>2]=nA,PI=br+2864|0,ug=e[PI>>2]|0,OI=ug+4|0,s[OI>>2]=rA,qI=ug+8|0,s[qI>>2]=nA,sr=br),XI=+A1[xe>>3],eE=_6+152|0,mg=e[eE>>2]|0,Cg=~~XI,tE=mg+(Cg<<3)|0,pg=e[tE>>2]|0,Bg=(mg+(Cg<<3)|0)+4|0,bi=e[Bg>>2]|0,Qg=e[sr>>2]|0,iE=sr+4|0,rE=e[iE>>2]|0,sE=(Qg|0)==(rE|0),A=sE?1:2,Pa=sr+8|0,AA=sr+12|0,yg=t+8|0,wg=t+4|0,pi=0;;){if(oE=n4(1,3208)|0,aA=(sr+544|0)+(pi<<2)|0,e[aA>>2]=oE,Bs=n4(1,16)|0,AE=(sr+32|0)+(pi<<2)|0,e[AE>>2]=Bs,$A=26304+(pi<<4)|0,e[Bs>>2]=e[$A>>2]|0,e[Bs+4>>2]=e[$A+4>>2]|0,e[Bs+8>>2]=e[$A+8>>2]|0,e[Bs+12>>2]=e[$A+12>>2]|0,aE=e[Pa>>2]|0,qa=(pi|0)<(aE|0),qa||($E=pi+1|0,e[Pa>>2]=$E),lE=(sr+288|0)+(pi<<2)|0,e[lE>>2]=0,vg=e[aA>>2]|0,lA=pg+(pi*3208|0)|0,s4(vg|0,lA|0,3208)|0,kg=e[AA>>2]|0,cE=(pi|0)<(kg|0),cE||(gE=pi+1|0,e[AA>>2]=gE),hE=e[lA>>2]|0,Sg=(hE|0)>0,Sg)for($C=0;;){fE=((pg+(pi*3208|0)|0)+1092|0)+($C<<2)|0,jt=e[fE>>2]|0,y4=e[g0>>2]|0,ei=S9(2840)|0,dE=(y4+1568|0)+(jt<<2)|0,e[dE>>2]=ei,bg=(bi+(jt<<5)|0)+12|0,Dg=e[bg>>2]|0,s4(ei|0,Dg|0,2840)|0,Ha=y4+20|0,IE=e[Ha>>2]|0,Qs=(IE|0)>(jt|0),Qs||(EE=jt+1|0,e[Ha>>2]=EE),mE=(bi+(jt<<5)|0)+8|0,_g=e[mE>>2]|0,Ya=ei+8|0,e[Ya>>2]=_g,CE=bi+(jt<<5)|0,xg=e[CE>>2]|0,Lg=(y4+1312|0)+(jt<<2)|0,e[Lg>>2]=xg,Rg=y4+3420|0,Ja=e[Rg>>2]|0,Fg=(Ja|0)==0,ys=ei+12|0,Ka=e[ys>>2]|0,Mg=(Ka|0)>0;do if(Fg){if(Mg)for(Tg=(bi+(jt<<5)|0)+24|0,cA=e[Tg>>2]|0,QE=ei+24|0,SA=0;;)if(ar=QE+(SA<<2)|0,wn=cA+(SA<<4)|0,_7=e[wn>>2]|0,x7=(_7|0)==0,x7||(L7=e[ar>>2]|0,dA=L7|1,e[ar>>2]=dA),IA=(cA+(SA<<4)|0)+4|0,Kg=e[IA>>2]|0,zg=(Kg|0)==0,zg||(v2=e[ar>>2]|0,m5=v2|2,e[ar>>2]=m5),n5=(cA+(SA<<4)|0)+8|0,x2=e[n5>>2]|0,_2=(x2|0)==0,_2||(p2=e[ar>>2]|0,C5=p2|4,e[ar>>2]=C5),d5=(cA+(SA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[ar>>2]|0,q2=_5|8,e[ar>>2]=q2),I5=SA+1|0,A5=e[ys>>2]|0,c5=(I5|0)<(A5|0),c5)SA=I5;else{BA=A5;break}else BA=Ka;EA=(bi+(jt<<5)|0)+16|0,r$=e[EA>>2]|0,R7=y4+24|0,Lr=e[R7>>2]|0,n$=(Lr|0)>0,JE=r$;e:do if(n$)for(mm=0;;){if(s$=(y4+1824|0)+(mm<<2)|0,VE=e[s$>>2]|0,o$=(VE|0)==(r$|0),o$){x=mm;break e}if(Zg=mm+1|0,CA=(Zg|0)<(Lr|0),CA)mm=Zg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,KE=Lr+1|0,e[R7>>2]=KE,x=Lr),zE=ei+20|0,e[zE>>2]=x,ZE=(y4+1824|0)+(x<<2)|0,e[ZE>>2]=JE,vn=(BA|0)>0,!vn)break;for(Ke=(bi+(jt<<5)|0)+24|0,k4=ei+280|0,Tr=0,E$=0;;){if(Wg=e[Ke>>2]|0,WE=Wg+(E$<<4)|0,A$=e[WE>>2]|0,jg=(A$|0)==0,jE=A$,jg)Ss=Wg,am=Tr;else{QA=e[R7>>2]|0,em=(QA|0)>0;e:do if(em)for(um=0;;){if(tm=(y4+1824|0)+(um<<2)|0,im=e[tm>>2]|0,rm=(im|0)==(A$|0),rm){L=um;break e}if(Xg=um+1|0,nm=(Xg|0)<(QA|0),nm)um=Xg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,sm=QA+1|0,e[R7>>2]=sm,L=QA),om=Tr+1|0,ti=k4+(Tr<<2)|0,e[ti>>2]=L,kn=(y4+1824|0)+(L<<2)|0,e[kn>>2]=jE,s0=e[Ke>>2]|0,Ss=s0,am=om}if(a$=(Ss+(E$<<4)|0)+4|0,bs=e[a$>>2]|0,Xt=(bs|0)==0,Ds=bs,Xt)E2=Ss,Y4=am;else{V1=e[R7>>2]|0,O1=(V1|0)>0;e:do if(O1)for(cm=0;;){if(q1=(y4+1824|0)+(cm<<2)|0,Y1=e[q1>>2]|0,j1=(Y1|0)==(bs|0),j1){D=cm;break e}if(n2=cm+1|0,W1=(n2|0)<(V1|0),W1)cm=n2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=V1+1|0,e[R7>>2]=P1,D=V1),c2=am+1|0,z1=k4+(am<<2)|0,e[z1>>2]=D,u2=(y4+1824|0)+(D<<2)|0,e[u2>>2]=Ds,i0=e[Ke>>2]|0,E2=i0,Y4=c2}if(o2=(E2+(E$<<4)|0)+8|0,K1=e[o2>>2]|0,h2=(K1|0)==0,$2=K1,h2)D2=E2,f$=Y4;else{i2=e[R7>>2]|0,l2=(i2|0)>0;e:do if(l2)for(gm=0;;){if(r2=(y4+1824|0)+(gm<<2)|0,a2=e[r2>>2]|0,X1=(a2|0)==(K1|0),X1){Q=gm;break e}if(s2=gm+1|0,f2=(s2|0)<(i2|0),f2)gm=s2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=i2+1|0,e[R7>>2]=y2,Q=i2),k2=Y4+1|0,w2=k4+(Y4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=$2,V=e[Ke>>2]|0,D2=V,f$=k2}if(F2=(D2+(E$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,K2=N2,d2)Bp=f$;else{G2=e[R7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(hm=0;;){if(P2=(y4+1824|0)+(hm<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=hm;break e}if(O2=hm+1|0,T1=(O2|0)<(G2|0),T1)hm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[R7>>2]=X2,_=G2),L5=f$+1|0,e5=k4+(f$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=K2,Bp=L5}if(k5=E$+1|0,P5=e[ys>>2]|0,l5=(k5|0)<(P5|0),l5)Tr=Bp,E$=k5;else break}}else{if(Mg)for(pE=(bi+(jt<<5)|0)+28|0,Qn=e[pE>>2]|0,BE=ei+24|0,kA=0;;)if(Di=BE+(kA<<2)|0,yE=Qn+(kA<<4)|0,wE=e[yE>>2]|0,vE=(wE|0)==0,vE||(kE=e[Di>>2]|0,SE=kE|1,e[Di>>2]=SE),bE=(Qn+(kA<<4)|0)+4|0,_i=e[bE>>2]|0,DE=(_i|0)==0,DE||(o6=e[Di>>2]|0,e3=o6|2,e[Di>>2]=e3),A3=(Qn+(kA<<4)|0)+8|0,R3=e[A3>>2]|0,u6=(R3|0)==0,u6||(Q3=e[Di>>2]|0,y3=Q3|4,e[Di>>2]=y3),r6=(Qn+(kA<<4)|0)+12|0,j3=e[r6>>2]|0,O3=(j3|0)==0,O3||(V5=e[Di>>2]|0,S3=V5|8,e[Di>>2]=S3),g3=kA+1|0,q3=e[ys>>2]|0,l6=(g3|0)<(q3|0),l6)kA=g3;else{Jg=q3;break}else Jg=Ka;_E=(bi+(jt<<5)|0)+20|0,Gg=e[_E>>2]|0,Ci=y4+24|0,gA=e[Ci>>2]|0,za=(gA|0)>0,Ug=Gg;e:do if(za)for(lm=0;;){if(Pg=(y4+1824|0)+(lm<<2)|0,LE=e[Pg>>2]|0,Og=(LE|0)==(Gg|0),Og){p=lm;break e}if(qg=lm+1|0,RE=(qg|0)<(gA|0),RE)lm=qg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Yg=gA+1|0,e[Ci>>2]=Yg,p=gA),ME=ei+20|0,e[ME>>2]=p,TE=(y4+1824|0)+(p<<2)|0,e[TE>>2]=Ug,NE=(Jg|0)>0,!NE)break;for(ws=(bi+(jt<<5)|0)+28|0,hA=ei+280|0,Fs=0,d$=0;;){if(uA=e[ws>>2]|0,GE=uA+(d$<<4)|0,Za=e[GE>>2]|0,PE=(Za|0)==0,Vg=Za,PE)ks=uA,Dn=Fs;else{vs=e[Ci>>2]|0,OE=(vs|0)>0;e:do if(OE)for(Em=0;;){if(qE=(y4+1824|0)+(Em<<2)|0,Wa=e[qE>>2]|0,ja=(Wa|0)==(Za|0),ja){y=Em;break e}if(fA=Em+1|0,Xa=(fA|0)<(vs|0),Xa)Em=fA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,e$=vs+1|0,e[Ci>>2]=e$,y=vs),_r=Fs+1|0,xr=hA+(Fs<<2)|0,e[xr>>2]=y,t$=(y4+1824|0)+(y<<2)|0,e[t$>>2]=Vg,q=e[ws>>2]|0,ks=q,Dn=_r}if(i$=(ks+(d$<<4)|0)+4|0,Ar=e[i$>>2]|0,yn=(Ar|0)==0,HE=Ar,yn)x5=ks,Sn=Dn;else{p5=e[Ci>>2]|0,M1=(p5|0)>0;e:do if(M1)for(fm=0;;){if(g5=(y4+1824|0)+(fm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(Ar|0),W2){S=fm;break e}if(g2=fm+1|0,B5=(g2|0)<(p5|0),B5)fm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=p5+1|0,e[Ci>>2]=t5,S=p5),s5=Dn+1|0,h5=hA+(Dn<<2)|0,e[h5>>2]=S,J2=(y4+1824|0)+(S<<2)|0,e[J2>>2]=HE,K=e[ws>>2]|0,x5=K,Sn=s5}if(u5=(x5+(d$<<4)|0)+8|0,j2=e[u5>>2]|0,$5=(j2|0)==0,L2=j2,$5)u3=x5,bn=Sn;else{Q5=e[Ci>>2]|0,q5=(Q5|0)>0;e:do if(q5)for(dm=0;;){if(j5=(y4+1824|0)+(dm<<2)|0,E5=e[j5>>2]|0,f3=(E5|0)==(j2|0),f3){b=dm;break e}if(h3=dm+1|0,X5=(h3|0)<(Q5|0),X5)dm=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[Ci>>2]=n3,b=Q5),m3=Sn+1|0,F5=hA+(Sn<<2)|0,e[F5>>2]=b,J5=(y4+1824|0)+(b<<2)|0,e[J5>>2]=L2,$0=e[ws>>2]|0,u3=$0,bn=m3}if(v3=(u3+(d$<<4)|0)+12|0,B3=e[v3>>2]|0,z3=(B3|0)==0,G3=B3,z3)F9=bn;else{w3=e[Ci>>2]|0,W5=(w3|0)>0;e:do if(W5)for(Im=0;;){if(i6=(y4+1824|0)+(Im<<2)|0,L3=e[i6>>2]|0,U3=(L3|0)==(B3|0),U3){v=Im;break e}if(a3=Im+1|0,l3=(a3|0)<(w3|0),l3)Im=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=w3+1|0,e[Ci>>2]=c3,v=w3),C3=bn+1|0,H5=hA+(bn<<2)|0,e[H5>>2]=v,O5=(y4+1824|0)+(v<<2)|0,e[O5>>2]=G3,F9=C3}if(v5=d$+1|0,P3=e[ys>>2]|0,M5=(v5|0)<(P3|0),M5)Fs=F9,d$=v5;else break}}while(!1);eh=y4+3480|0,th=+A1[eh>>3],wA=th*1e3,_s=(y4+1056|0)+(pi<<2)|0,Ls=e[_s>>2]|0,Am=e[yg>>2]|0,Rs=+(Am|0),$r=Rs*.5,ih=y4+(pi<<2)|0,Rr=e[ih>>2]|0,ii=Rr>>1,$$=wA>$r,yp=$$?$r:wA,l$=yp/$r,Ji=+(ii|0),g$=Ji*l$,h$=~~g$,Fr=Ls+1116|0,e[Fr>>2]=h$,$6=(bi+(jt<<5)|0)+4|0,vA=e[$6>>2]|0;do if((vA|0)==2)nh=250;else if((vA|0)==1){if(Mr=e[Rg>>2]|0,rh=(Mr|0)==0,ke=y4+2996|0,u$=y4+2968|0,JQ=rh?u$:ke,YQ=e[JQ>>2]|0,HQ=+(YQ|0),wp=HQ*1e3,Q8=wp>$r,!Q8){nh=wp;break}nh=$r}else nh=yp;while(!1);I0=e[Lg>>2]|0,w0=(I0|0)==2;do if(w0){if(C0=y4+12|0,v0=e[C0>>2]|0,d0=(v0|0)>0,d0)for(aC=0;;){if(p0=(y4+544|0)+(aC<<2)|0,B0=e[p0>>2]|0,E0=e[B0>>2]|0,b0=(E0|0)>0,b0)for(pm=0;;){K0=(B0+1092|0)+(pm<<2)|0,Q0=e[K0>>2]|0,M0=(Q0|0)==(jt|0);do if(M0){if(T0=e[wg>>2]|0,G0=(T0|0)>0,G0)Qp=0,cC=0;else{$m=0;break}for(;;)if(P0=(B0+4|0)+(cC<<2)|0,y0=e[P0>>2]|0,Y0=(y0|0)==(pm|0),F0=Y0&1,O=F0+Qp|0,_0=cC+1|0,xQ=(_0|0)==(T0|0),xQ){$m=O;break}else Qp=O,cC=_0}else $m=0;while(!1);if(N0=pm+1|0,J0=(N0|0)<(E0|0),O0=($m|0)==0,z0=J0&O0,z0)pm=N0;else{sC=$m;break}}else sC=0;if(U0=aC+1|0,q0=(U0|0)<(v0|0),r1=(sC|0)==0,H0=q0&r1,H0)aC=U0;else{nC=sC;break}}else nC=0;if(e1=nh/$r,D0=+(nC|0),i1=D0*Ji,$1=i1*e1,u1=e[Ya>>2]|0,g1=+(u1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,u1)|0,o1=ei+4|0,e[o1>>2]=n1,Z0=r5(nC,ii)|0,I1=(n1|0)>(Z0|0),!I1){U=o1,Z1=n1,_1=u1;break}m1=(Z0|0)%(u1|0)&-1,d1=Z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,_1=u1}else{if(E1=nh/$r,p1=E1*Ji,B1=e[Ya>>2]|0,Q1=+(B1|0),x1=p1/Q1,L1=x1+.9,w1=~~L1,b1=r5(w1,B1)|0,F1=ei+4|0,e[F1>>2]=b1,G1=(b1|0)>(ii|0),!G1){U=F1,Z1=b1,_1=B1;break}v1=(ii|0)%(B1|0)&-1,U1=ii-v1|0,e[F1>>2]=U1,U=F1,Z1=U1,_1=B1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=_1),d3=$C+1|0,k6=e[lA>>2]|0,S6=(d3|0)<(k6|0),S6)$C=d3;else break}if(p6=pi+1|0,X3=(p6|0)<(A|0),X3)pi=p6;else break}return c6=j+3428|0,B6=e[c6>>2]|0,x6=(B6|0)>0,x6?(Y6=t+16|0,e[Y6>>2]=B6):(C6=e[g0>>2]|0,b3=C6+3396|0,t6=e[b3>>2]|0,f6=C6+3400|0,H3=+A1[f6>>3],D3=~~H3,Y3=+(D3|0),Z3=H3-Y3,b6=t6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?B=-1:(O6=e[wg>>2]|0,d6=A6+(D3<<3)|0,_3=+A1[d6>>3],N6=1-Z3,n6=_3*N6,Q6=D3+1|0,L6=A6+(Q6<<3)|0,K6=+A1[L6>>3],I6=K6*Z3,J6=I6+n6,F3=+(O6|0),G6=J6*F3,VQ=~~G6,B=VQ),e9=t+16|0,e[e9>>2]=B),s9=j+3424|0,R6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=R6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(B6|0)==0,F6?o0=0:(M3=j+3444|0,t9=e[M3>>2]|0,A9=+(t9|0),X6=+(B6|0),u9=A9/X6,f9=~~u9,o0=f9),d9=t+24|0,e[d9>>2]=o0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[D6>>2]|0,o4=j+3368|0,e[o4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,b9=j+3448|0,E9=+A1[b9>>3],r9=j+3376|0,A1[r9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function $b(t,n,A,a){t=t|0,n=n|0,A=A|0,a=+a;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0;if(O=C,I=(A|0)<1,I)u=-131;else if(m=t+28|0,Q=e[m>>2]|0,_=a,L=_+1e-7,x=L,F=!(x>=1),E=F?x:.9998999834060669,M=Q+3416|0,s[M>>2]=E,T=E,N=Q+3400|0,B=lb(n,A,T,0,N)|0,p=Q+3396|0,e[p>>2]=B,S=(B|0)==0,S)u=-130;else return cb(t,n,A),b=Q+3420|0,e[b>>2]=0,v=Q+3464|0,e[v>>2]=1,y=ab(t)|0,D=(y|0)==0,D?(g=0,g|0):(gp(t),g=y,g|0);return gp(t),g=u,g|0}function Xm(t,n,A,a,g,u){t=t|0,n=+n,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;for(p1=C,E=~~n,I=+(E|0),L=n-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(A<<2)|0,T0=e[C0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),m=1-L,B=h1*m,p=E+1|0,S=a+(p*20|0)|0,b=e[S>>2]|0,v=+(b|0),y=v*L,D=y+B,Q=D,_=T0+12|0,s[_>>2]=Q,x=(a+(E*20|0)|0)+4|0,F=e[x>>2]|0,M=+(F|0),T=M*m,N=(a+(p*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*L,Y=z+T,t0=Y,W=T0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,q=e[e0>>2]|0,X=+(q|0),U=X*m,l0=(a+(p*20|0)|0)+8|0,Z=e[l0>>2]|0,K=+(Z|0),$0=K*L,s0=$0+U,r0=s0,V=T0+20|0,s[V>>2]=r0,h0=(a+(E*20|0)|0)+12|0,o0=+s[h0>>2],g0=o0,j=g0*m,c0=(a+(p*20|0)|0)+12|0,u0=+s[c0>>2],I0=u0,w0=I0*L,v0=w0+j,d0=v0,p0=T0+24|0,s[p0>>2]=d0,B0=(a+(E*20|0)|0)+16|0,E0=+s[B0>>2],b0=E0,K0=b0*m,x0=(a+(p*20|0)|0)+16|0,Q0=+s[x0>>2],M0=Q0,G0=M0*L,P0=G0+K0,y0=P0,Y0=T0+28|0,s[Y0>>2]=y0,F0=g+(E<<2)|0,_0=e[F0>>2]|0,N0=+(_0|0),V0=N0*m,J0=g+(p<<2)|0,O0=e[J0>>2]|0,U0=+(O0|0),q0=U0*L,r1=q0+V0,H0=r1,e1=T0+496|0,s[e1>>2]=H0,d1=0;D0=(u+(E*68|0)|0)+(d1<<2)|0,i1=e[D0>>2]|0,c1=+(i1|0),$1=c1*m,u1=(u+(p*68|0)|0)+(d1<<2)|0,l1=e[u1>>2]|0,s1=+(l1|0),a1=s1*L,n1=a1+$1,o1=n1,Z0=(T0+36|0)+(d1<<2)|0,s[Z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function eC(t,n,A,a,g,u,E){t=t|0,n=+n,A=A|0,a=a|0,g=g|0,u=u|0,E=+E;var I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0;for(w2=C,v=~~n,y=+(v|0),l0=n-y,j=t+28|0,b0=e[j>>2]|0,_0=(b0+2852|0)+(A<<2)|0,D0=e[_0>>2]|0,Z0=a+(v<<2)|0,w1=e[Z0>>2]|0,O1=+(w1|0),D=1-l0,z=O1*D,Y=v+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*l0,q=e0+z,X=q,U=D0+108|0,s[U>>2]=X,Z=u+(A*12|0)|0,K=e[Z>>2]|0,$0=D0+120|0,e[$0>>2]=K,s0=(u+(A*12|0)|0)+4|0,i0=e[s0>>2]|0,r0=D0+124|0,e[r0>>2]=i0,V=(u+(A*12|0)|0)+8|0,h0=e[V>>2]|0,o0=D0+128|0,e[o0>>2]=h0,i2=0;;)if(g0=(g+(v*204|0)|0)+(i2<<2)|0,c0=e[g0>>2]|0,u0=+(c0|0),I0=u0*D,w0=(g+(Y*204|0)|0)+(i2<<2)|0,C0=e[w0>>2]|0,v0=+(C0|0),d0=v0*l0,p0=d0+I0,B0=p0,E0=(D0+132|0)+(i2<<2)|0,s[E0>>2]=B0,K0=i2+1|0,K1=(K0|0)==17,K1){l2=0;break}else i2=K0;for(;;)if(L1=((g+(v*204|0)|0)+68|0)+(l2<<2)|0,b1=e[L1>>2]|0,R1=+(b1|0),F1=R1*D,G1=((g+(Y*204|0)|0)+68|0)+(l2<<2)|0,v1=e[G1>>2]|0,U1=+(v1|0),Z1=U1*l0,N1=Z1+F1,_1=N1,V1=(D0+200|0)+(l2<<2)|0,s[V1>>2]=_1,q1=l2+1|0,h2=(q1|0)==17,h2){r2=0;break}else l2=q1;for(;H1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,Y1=e[H1>>2]|0,j1=+(Y1|0),n2=j1*D,W1=((g+(Y*204|0)|0)+136|0)+(r2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*l0,u2=z1+n2,Q=u2,_=(D0+268|0)+(r2<<2)|0,s[_>>2]=Q,L=r2+1|0,$2=(L|0)==17,!$2;)r2=L;for(x=D0+132|0,F=+s[x>>2],y0=F+6,M=D0+132|0,T=F,N=T+E,G=N,O=G>2]=y2,x0=1;I=(D0+132|0)+(x0<<2)|0,p=+s[I>>2],Q0=(D0+132|0)+(x0<<2)|0,M0=p,T0=M0+E,G0=T0,P0=G0>2]=a2,Y0=x0+1|0,o2=(Y0|0)==17,!o2;)x0=Y0;for(F0=D0+200|0,N0=+s[F0>>2],V0=N0+6,J0=D0+200|0,O0=N0,z0=O0+E,U0=z0,q0=U0>2]=s2,r1=1;m=(D0+200|0)+(r1<<2)|0,S=+s[m>>2],H0=(D0+200|0)+(r1<<2)|0,e1=S,i1=e1+E,c1=i1,$1=c1>2]=X1,u1=r1+1|0,E2=(u1|0)==17,!E2;)r1=u1;for(g1=D0+268|0,l1=+s[g1>>2],s1=l1+6,a1=D0+268|0,n1=l1,o1=n1+E,I1=o1,h1=I1>2]=t2,m1=1;B=(D0+268|0)+(m1<<2)|0,b=+s[B>>2],d1=(D0+268|0)+(m1<<2)|0,E1=b,p1=E1+E,B1=p1,Q1=B1>2]=f2,x1=m1+1|0,A2=(x1|0)==17,!A2;)m1=x1}function lb(t,n,A,a,g){t=t|0,n=n|0,A=+A,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0;Q1=C,v=(a|0)==0;e:do if(v){for(q=26336,Z0=0;;){if(e0=e[q>>2]|0,X=e0+12|0,U=e[X>>2]|0,l0=(U|0)==-1,K=(U|0)==(t|0),d1=l0|K,d1&&($0=e0+16|0,s0=e[$0>>2]|0,i0=(s0|0)>(n|0),!i0&&(r0=e0+20|0,V=e[r0>>2]|0,h0=(V|0)<(n|0),!h0&&(o0=e[e0>>2]|0,g0=e0+8|0,j=e[g0>>2]|0,u0=+A1[j>>3],I0=u0>A,!I0&&(v0=j+(o0<<3)|0,d0=+A1[v0>>3],p0=d0>2]|0,K0=Z+12|0,N0=e[K0>>2]|0,i1=(N0|0)==-1,s1=(N0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(n|0),!Q&&(_=Z+20|0,L=e[_>>2]|0,x=(L|0)<(n|0),!x&&(F=e[Z>>2]|0,M=Z+4|0,T=e[M>>2]|0,N=+A1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=F,m=c0,B=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){u=0;break}else c0=J,I1=o1}return u|0}while(!1);B0=(I|0)>0;e:do if(B0)for(b0=l1,m1=0;;){if(E0=!(E>=b0),b=m1+1|0,!E0&&(x0=B+(b<<3)|0,Q0=+A1[x0>>3],M0=E>3],b0=S,m1=b}else h1=0;while(!1);return G0=(h1|0)==(I|0),G0?(P0=+(I|0),y0=P0+-.001,p1=y0):(Y0=B+(h1<<3)|0,F0=+A1[Y0>>3],_0=F0,V0=h1+1|0,J0=B+(V0<<3)|0,O0=+A1[J0>>3],z0=O0,U0=_0,q0=E-U0,r1=z0-_0,H0=r1,e1=q0/H0,D0=e1,c1=+(h1|0),$1=D0+c1,u1=$1,p1=u1),A1[g>>3]=p1,g1=e[m>>2]|0,u=g1,u|0}function cb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0;D0=C,I=t+28|0,m=e[I>>2]|0,x=m+3396|0,W=e[x>>2]|0,e[t>>2]=0,r0=t+4|0,e[r0>>2]=n,v0=t+8|0,e[v0>>2]=A,G0=m+3456|0,e[G0>>2]=1,U0=m+3460|0,e[U0>>2]=1,r1=m+3400|0,H0=+A1[r1>>3],B=~~H0,p=+(B|0),S=H0-p,b=m+3472|0,A1[b>>3]=H0,v=m+3488|0,y=e[v>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,L=_+(B<<3)|0,F=+A1[L>>3],M=1-S,T=F*M,N=B+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*S,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,g=N,u=M):(a=1-S,E=B+1|0,g=E,u=a),J=W+112|0,e0=e[J>>2]|0,q=e0+(B<<2)|0,X=e[q>>2]|0,U=+(X|0),l0=U*u,Z=e0+(g<<2)|0,K=e[Z>>2]|0,$0=+(K|0),s0=$0*S,i0=s0+l0,V=m+3496|0,A1[V>>3]=i0,h0=W+116|0,o0=e[h0>>2]|0,g0=o0+(B<<2)|0,j=e[g0>>2]|0,c0=+(j|0),u0=c0*u,I0=o0+(g<<2)|0,w0=e[I0>>2]|0,C0=+(w0|0),d0=C0*S,p0=d0+u0,B0=m+3504|0,A1[B0>>3]=p0,E0=m+3512|0,A1[E0>>3]=-6,b0=m+3520|0,A1[b0>>3]=H0,K0=m+3528|0,A1[K0>>3]=H0,x0=m+3536|0,A1[x0>>3]=H0,Q0=m+3544|0,A1[Q0>>3]=H0,M0=m+3552|0,A1[M0>>3]=H0,T0=m+3560|0,A1[T0>>3]=H0,P0=m+3568|0,A1[P0>>3]=H0,y0=m+3576|0,A1[y0>>3]=H0,Y0=m+3584|0,A1[Y0>>3]=H0,F0=m+3592|0,A1[F0>>3]=H0,_0=m+3600|0,A1[_0>>3]=H0,N0=m+3608|0,A1[N0>>3]=H0,V0=m+3616|0,A1[V0>>3]=H0,J0=m+3624|0,A1[J0>>3]=H0,O0=m+3632|0,A1[O0>>3]=H0,z0=m+3640|0,A1[z0>>3]=H0,q0=m+3648|0,A1[q0>>3]=H0}function gb(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0;if(O0=C,I=(g|0)!=0,m=I?a:0,x=I?u:0,W=n+(m<<2)|0,r0=e[W>>2]|0,v0=520336+(r0<<2)|0,b0=e[v0>>2]|0,K0=n+(x<<2)|0,x0=e[K0>>2]|0,Q0=520336+(x0<<2)|0,B=e[Q0>>2]|0,p=A+(g<<2)|0,S=e[p>>2]|0,b=A+(m<<2)|0,v=e[b>>2]|0,y=A+(x<<2)|0,D=e[y>>2]|0,Q=(S|0)/4&-1,_=(v|0)/4&-1,L=Q-_|0,F=(v|0)/2&-1,M=L+F|0,T=(S|0)/2&-1,N=T+Q|0,E=(D|0)/-4&-1,G=N+E|0,O=(D|0)/2&-1,z=G+O|0,Y=(L|0)>0,Y?(t0=Q-_|0,J=t0<<2,Ae(t|0,0,J|0)|0,T0=L):T0=0,e0=(T0|0)<(M|0),e0)for(q=Q+F|0,X=q-T0|0,U=X-_|0,G0=T0,Y0=0;$0=b0+(Y0<<2)|0,s0=+s[$0>>2],i0=t+(G0<<2)|0,V=+s[i0>>2],h0=V*s0,s[i0>>2]=h0,o0=G0+1|0,g0=Y0+1|0,M0=(g0|0)==(U|0),!M0;)G0=o0,Y0=g0;if(l0=(D|0)>1,l0){for(Z=G+1|0,K=(z|0)>(Z|0),y0=G,_0=O;F0=_0+-1|0,I0=B+(F0<<2)|0,w0=+s[I0>>2],C0=t+(y0<<2)|0,d0=+s[C0>>2],p0=d0*w0,s[C0>>2]=p0,B0=y0+1|0,E0=(B0|0)<(z|0),E0;)y0=B0,_0=F0;V0=K?z:Z,P0=V0}else P0=G;j=(S|0)>(P0|0),j&&(N0=t+(P0<<2)|0,c0=S-P0|0,u0=c0<<2,Ae(N0|0,0,u0|0)|0)}function hb(t,n,A){t=t|0,n=+n,A=+A;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0;if(V=C,C=C+64|0,i0=V+32|0,s0=V,a=S9(688)|0,g=a+408|0,vS(g),D=~~n,$b(g,t,D,A)|0,z=a+440|0,QS(z),yS(z,553008,553016),X=a+456|0,tS(X,g)|0,U=a+568|0,Xk(X,U)|0,l0=VB(0)|0,Cb(l0),Z=pb()|0,Hk(a,Z)|0,K=a+680|0,e[K>>2]=0,$0=a+684|0,e[$0>>2]=0,u=a+360|0,kS(X,z,u,i0,s0)|0,Wm(a,u)|0,Wm(a,i0)|0,Wm(a,s0)|0,E=a+392|0,I=zB(a,E)|0,m=(I|0)==0,m)return C=V,a|0;for(B=a+396|0,p=a+404|0,S=a+400|0;b=e[$0>>2]|0,v=e[B>>2]|0,y=v+b|0,Q=e[p>>2]|0,_=y+Q|0,L=(_|0)==0,L||(M=e[K>>2]|0,T=qi(M,_)|0,e[K>>2]=T,N=e[$0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[B>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[$0>>2]=t0,J=T+t0|0,W=e[S>>2]|0,e0=e[p>>2]|0,s4(J|0,W|0,e0|0)|0,q=e0+t0|0,e[$0>>2]=q),x=zB(a,E)|0,F=(x|0)==0,!F;);return C=V,a|0}function ub(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0;m=C,Yk(t)|0,n=t+568|0,eS(n)|0,A=t+456|0,XB(A),a=t+440|0,wS(a),g=t+408|0,gp(g),u=t+680|0,E=e[u>>2]|0,I2(E),I2(t)}function fb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0;return u=C,A=t+456|0,a=eQ(A,n)|0,a|0}function db(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0;if(V=C,A=t+456|0,iS(A,n)|0,a=t+568|0,y=tQ(A,a)|0,O=(y|0)==1,!!O)for(l0=t+360|0,Z=t+392|0,K=t+684|0,$0=t+396|0,s0=t+404|0,i0=t+680|0,g=t+392|0,u=t+400|0;;){if(zk(a,0)|0,jk(a)|0,m=jB(A,l0)|0,B=(m|0)==0,!B)for(;;){if(Wm(t,l0)|0,b=ZB(t,Z)|0,v=(b|0)==0,!v)for(;D=e[K>>2]|0,Q=e[$0>>2]|0,_=Q+D|0,L=e[s0>>2]|0,x=_+L|0,F=(x|0)==0,F||(N=e[i0>>2]|0,G=qi(N,x)|0,e[i0>>2]=G,z=e[K>>2]|0,Y=G+z|0,t0=e[g>>2]|0,J=e[$0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[K>>2]=W,e0=G+W|0,q=e[u>>2]|0,X=e[s0>>2]|0,s4(e0|0,q|0,X|0)|0,U=X+W|0,e[K>>2]=U),M=ZB(t,Z)|0,T=(M|0)==0,!T;);if(p=jB(A,l0)|0,S=(p|0)==0,S)break}if(E=tQ(A,a)|0,I=(E|0)==1,!I)break}}function Ib(t){t=t|0;var n=0,A=0,a=0,g=0;return g=C,n=t+684|0,A=e[n>>2]|0,A|0}function Eb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0;return u=C,n=t+684|0,e[n>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function tC(t,n){t=+t,n=n|0;var A=0,a=0,g=0;return g=C,A=+mb(t,n),+A}function Mh(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0;if(R3=C,C=C+688|0,e3=R3+424|0,Y5=R3+192|0,W5=R3,X=r5(A,n)|0,U=(X|0)==0,U){C=R3;return}for(J=X-A|0,H1=W5+4|0,e[H1>>2]=A,e[W5>>2]=A,t2=A,f5=A,v3=2;A2=t2+A|0,M2=A2+f5|0,R5=W5+(v3<<2)|0,e[R5>>2]=M2,S5=M2>>>0>>0,i5=v3+1|0,S5;)y2=f5,f5=M2,v3=i5,t2=y2;if(l0=0-A|0,j=t+J|0,b0=(J|0)>0,b0)for(_0=(A|0)==0,D0=j,w1=1,z2=0,F5=t,U5=1;;){Z0=w1&3,V1=(Z0|0)==3;do if(V1){e[Y5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(p=U5,Q=F5,P1=F5,z5=1;;){if(q1=Q+l0|0,Y1=p+-2|0,j1=W5+(Y1<<2)|0,n2=e[j1>>2]|0,M5=n2+A|0,W=0-M5|0,W1=Q+W|0,c2=f7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(u2=f7[a&15](P1,q1)|0,o2=(u2|0)>-1,o2)){u3=z5;break}if(E2=f7[a&15](W1,q1)|0,K1=(E2|0)>-1,h2=z5+1|0,$2=Y5+(z5<<2)|0,K1?(e[$2>>2]=W1,i2=p+-1|0,u=W1,m=i2):(e[$2>>2]=q1,u=q1,m=Y1),l2=(m|0)>1,!l2){u3=h2;break}O=e[Y5>>2]|0,p=m,Q=u,P1=O,z5=h2}if(r2=(u3|0)<2,!r2&&(a2=Y5+(u3<<2)|0,e[a2>>2]=e3,!_0))for(y=A,G2=e3;;){for(d2=y>>>0>256,s2=d2?256:y,K2=e[Y5>>2]|0,s4(G2|0,K2|0,s2|0)|0,D2=K2,z3=0;k2=Y5+(z3<<2)|0,w2=z3+1|0,C2=Y5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,s2|0)|0,N2=D2+s2|0,e[k2>>2]=N2,X5=(w2|0)==(u3|0),!X5;)D2=F2,z3=w2;if(X1=(y|0)==(s2|0),X1)break e;f2=y-s2|0,Y=e[a2>>2]|0,y=f2,G2=Y}}while(!1);H2=w1>>>2,P2=z2<<30,o5=H2|P2,O2=z2>>>2,T1=U5+2|0,r0=o5,_1=O2,O5=T1}else{if(X2=U5+-1|0,L5=W5+(X2<<2)|0,e5=e[L5>>2]|0,b5=F5,Z2=D0-b5|0,k5=e5>>>0>>0,k5){e[Y5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(S=U5,_=F5,_2=F5,w3=1;;){if(l5=_+l0|0,v2=S+-2|0,m5=W5+(v2<<2)|0,n5=e[m5>>2]|0,o6=n5+A|0,e0=0-o6|0,x2=_+e0|0,p2=f7[a&15](_2,x2)|0,C5=(p2|0)>-1,C5&&(d5=f7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){B3=w3;break}if(G5=f7[a&15](x2,l5)|0,_5=(G5|0)>-1,q2=w3+1|0,I5=Y5+(w3<<2)|0,_5?(e[I5>>2]=x2,A5=S+-1|0,E=x2,B=A5):(e[I5>>2]=l5,E=l5,B=v2),c5=(B|0)>1,!c5){B3=q2;break}z=e[Y5>>2]|0,S=B,_=E,_2=z,w3=q2}if(p5=(B3|0)<2,!p5&&(M1=Y5+(B3<<2)|0,e[M1>>2]=e3,!_0))for(D=A,j2=e3;;){for(u5=D>>>0>256,a5=u5?256:D,x5=e[Y5>>2]|0,s4(j2|0,x5|0,a5|0)|0,h5=x5,G3=0;g2=Y5+(G3<<2)|0,B5=G3+1|0,t5=Y5+(B5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(B5|0)==(B3|0),!n3;)h5=s5,G3=B5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else iC(F5,A,a,w1,z2,U5,0,W5);if($5=(U5|0)==1,$5){L2=z2<<1,Q5=w1>>>31,q5=Q5|L2,j5=w1<<1,r0=j5,_1=q5,O5=0;break}else{E5=X2>>>0>31,f3=U5+-33|0,g=E5?0:w1,L=E5?w1:z2,x=E5?f3:X2,h3=L<>>Z,$0=K|h3,s0=g<>>0>>0,h0)w1=i0,z2=_1,F5=V,U5=O5;else{T=_1,N=i0,m3=V,H5=O5;break}}else T=0,N=1,m3=t,H5=1;if(iC(m3,A,a,N,T,H5,0,W5),o0=(H5|0)==1,g0=(N|0)==1,C3=g0&o0,c0=(T|0)==0,c3=c0&C3,c3){C=R3;return}else w0=N,Q0=T,J5=m3,v5=H5;for(;;){if(u0=(v5|0)<2,!u0){q0=Q0<<2,r1=w0>>>30,H0=r1|q0,e1=v5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,u1=c1|$1,g1=u1^3,l1=H0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,P3=a1+A|0,q=0-P3|0,n1=J5+q|0,o1=v5+-1|0,iC(n1,A,a,g1,l1,o1,1,W5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,p1=J5+l0|0,iC(p1,A,a,E1,m1,e1,1,W5),w0=E1,Q0=m1,J5=p1,v5=e1;continue}I0=w0+-1|0,C0=(I0|0)==0;do if(C0)U0=32,A3=56;else{if(v0=I0&1,d0=(v0|0)==0,d0){for(b=I0,i6=0;;)if(p0=i6+1|0,B0=b>>>1,E0=B0&1,K0=(E0|0)==0,K0)b=B0,i6=p0;else{F=p0;break}x0=(F|0)==0,x0?A3=51:J0=F}else A3=51;if((A3|0)==51){if(A3=0,M0=(Q0|0)==0,M0){U0=64,A3=56;break}if(T0=Q0&1,G0=(T0|0)==0,G0)v=Q0,L3=0;else{I=0,Q1=w0,b1=Q0,v1=0;break}for(;;)if(P0=L3+1|0,y0=v>>>1,Y0=y0&1,F0=(Y0|0)==0,F0)v=y0,L3=P0;else{M=P0,U3=L3;break}if(N0=U3+33|0,V0=(M|0)==0,V0){I=0,Q1=w0,b1=Q0,v1=0;break}else J0=N0}O0=J0>>>0>31,O0?(U0=J0,A3=56):(I=J0,Q1=w0,b1=Q0,v1=J0)}while(!1);if((A3|0)==56&&(A3=0,z0=U0+-32|0,I=z0,Q1=Q0,b1=0,v1=U0),B1=Q1>>>I,x1=32-I|0,L1=b1<>>I,G1=v1+v5|0,G=J5+l0|0,U1=(G1|0)==1,Z1=(R1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=R1,Q0=F1,J5=G,v5=G1}C=R3}function iC(t,n,A,a,g,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0;p2=C,C=C+720|0,x2=p2+456|0,P2=p2+228|0,M2=p2,e[M2>>2]=t,U=0-n|0,l0=(a|0)!=1,Q0=(g|0)!=0,J0=Q0|l0;e:do if(J0)if($1=I+(u<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,K1=f7[A&15](Y1,t)|0,y2=(K1|0)<1,y2)p=t,L=u,G=E,O2=1,_2=18;else for(v=t,T=u,O=E,E0=Y1,q0=g,b5=1,v2=a;;){if(Z=(O|0)==0,c0=(T|0)>1,l5=Z&c0,l5){if(v0=v+U|0,d0=T+-2|0,p0=I+(d0<<2)|0,B0=e[p0>>2]|0,b0=f7[A&15](v0,E0)|0,K0=(b0|0)>-1,K0){S=v,x=T,X2=b5;break e}if(m5=B0+n|0,q=0-m5|0,x0=v+q|0,M0=f7[A&15](x0,E0)|0,T0=(M0|0)>-1,T0){S=v,x=T,X2=b5;break e}}G0=b5+1|0,P0=M2+(b5<<2)|0,e[P0>>2]=E0,y0=v2+-1|0,Y0=(y0|0)==0;do if(Y0)o1=32,_2=15;else{if(F0=y0&1,_0=(F0|0)==0,_0){for(Q=y0,f5=0;;)if(N0=f5+1|0,V0=Q>>>1,O0=V0&1,z0=(O0|0)==0,z0)Q=V0,f5=N0;else{z=N0;break}U0=(z|0)==0,U0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(q0|0)==0,r1){o1=64,_2=15;break}if(H0=q0&1,e1=(H0|0)==0,e1)_=q0,k5=0;else{B=0,I1=v2,E1=q0,x1=0;break}for(;;)if(D0=k5+1|0,i1=_>>>1,c1=i1&1,u1=(c1|0)==0,u1)_=i1,k5=D0;else{Y=D0,P5=k5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){B=0,I1=v2,E1=q0,x1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(B=s1,I1=v2,E1=q0,x1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=o1+-32|0,B=n1,I1=q0,E1=0,x1=o1),Z0=I1>>>B,h1=32-B|0,d1=E1<>>B,Q1=x1+T|0,L1=(p1|0)!=1,w1=(B1|0)!=0,b1=w1|L1,!b1){S=E0,x=Q1,X2=G0;break e}if(t0=e[M2>>2]|0,R1=I+(Q1<<2)|0,G1=e[R1>>2]|0,v1=0-G1|0,U1=E0+v1|0,Z1=f7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){p=E0,L=Q1,G=0,O2=G0,_2=18;break}else y=E0,T=Q1,O=0,E0=U1,q0=B1,b5=G0,v2=p1,v=y}else p=t,L=u,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(_1=(G|0)==0,_1)S=p,x=L,X2=O2;else{C=p2;return}V1=(X2|0)<2;e:do if(!V1&&(O1=M2+(X2<<2)|0,e[O1>>2]=x2,q1=(n|0)==0,!q1))for(M=n,h2=x2;;){for(E2=M>>>0>256,j1=E2?256:M,A2=e[M2>>2]|0,s4(h2|0,A2|0,j1|0)|0,u2=A2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(u2|0,z1|0,j1|0)|0,o2=u2+j1|0,e[W1>>2]=o2,o5=(P1|0)==(X2|0),!o5;)u2=z1,e5=P1;if(H1=(M|0)==(j1|0),H1)break e;n2=M-j1|0,e0=e[O1>>2]|0,M=n2,h2=e0}while(!1);e[P2>>2]=S,$2=(x|0)>1;e:do if($2){for(D=x,N=S,s2=S,Z2=1;;){if(i2=N+U|0,l2=D+-2|0,r2=I+(l2<<2)|0,a2=e[r2>>2]|0,n5=a2+n|0,X=0-n5|0,X1=N+X|0,f2=f7[A&15](s2,X1)|0,t2=(f2|0)>-1,t2&&(k2=f7[A&15](s2,i2)|0,w2=(k2|0)>-1,w2)){T1=Z2;break}if(C2=f7[A&15](X1,i2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,b=d2):(e[N2>>2]=i2,m=i2,b=l2),K2=(b|0)>1,!K2){T1=D2;break}J=e[P2>>2]|0,D=b,N=m,s2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=x2;else if(H2=P2+(T1<<2)|0,e[H2>>2]=x2,K=(n|0)==0,K)C0=x2;else for(F=n,w0=x2;;){for(u0=F>>>0>256,s0=u0?256:F,I0=e[P2>>2]|0,s4(w0|0,I0|0,s0|0)|0,g0=I0,L5=0;r0=P2+(L5<<2)|0,V=L5+1|0,h0=P2+(V<<2)|0,o0=e[h0>>2]|0,s4(g0|0,o0|0,s0|0)|0,j=g0+s0|0,e[r0>>2]=j,z2=(V|0)==(T1|0),!z2;)g0=o0,L5=V;if($0=(F|0)==(s0|0),$0){C0=x2;break e}i0=F-s0|0,W=e[H2>>2]|0,F=i0,w0=W}}else C0=x2;while(!1);C=p2}function Oi(t){t=+t;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0;return x=C,A1[B2>>3]=t,A=e[B2>>2]|0,a=e[B2+4>>2]|0,B=a&2146435072,p=B>>>0>1126170624,S=!1,b=(B|0)==1126170624,v=b&S,y=p|v,y?(n=t,+n):(D=(a|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,u=t+4503599627370496,E=u+-4503599627370496,_=D?g:E,I=_==0,I?(m=D?-0:0,n=m,+n):(n=_,+n))}function BQ(t){t=+t;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0;return y=C,A=(s[B2>>2]=t,e[B2>>2]|0),a=A&2130706432,g=a>>>0>1249902592,g?(n=t,+n):(u=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,B=m+-8388608,b=u?I:B,p=b==0,p?(S=u?-0:0,n=S,+n):(n=b,+n))}function mb(t,n){t=+t,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,u=(n|0)>1023,u?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(L=E*898846567431158e293,x=n+-2046|0,F=(x|0)>1023,A=F?1023:x,a=A,G=L):(a=Q,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,B=n+2044|0,p=(B|0)<-1022,g=p?-1022:B,a=g,G=m):(a=N,G=T)):(a=n,G=t)),S=a+1023|0,b=wQ(S|0,0,52)|0,v=H6,e[B2>>2]=b,e[B2+4>>2]=v,y=+A1[B2>>3],D=G*y,+D}function Cb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0;I=C,n=t+-1|0,A=553040,a=A,e[a>>2]=n,g=A+4|0,u=g,e[u>>2]=0}function pb(){var t=0,n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,B=t+4|0,p=B,S=e[p>>2]|0,b=wb(m|0,S|0,1284865837,1481765933)|0,v=H6,y=Ws(b|0,v|0,1,0)|0,D=H6,A=553040,a=A,e[a>>2]=y,g=A+4|0,u=g,e[u>>2]=D,E=js(y|0,D|0,33)|0,I=H6,E|0}function S9(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,Z8=0,gt=0,ht=0,M8=0,T8=0,N8=0,G8=0,W8=0,j8=0,vt=0,U8=0,P8=0,O8=0,v8=0,k8=0,f8=0,q8=0,H8=0,X8=0,et=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,tt=0,St=0,ie=0,it=0,Y8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,rt=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,J8=0,dt=0,nt=0,st=0,V8=0,ot=0,K8=0,a8=0,$8=0,_8=0,H4=0,At=0,x8=0,Je=0,B9=0,at=0,Ve=0,Nt=0,Ht=0,bt=0,$t=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,z8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0,Et=0,Rt=0,jr=0,Er=0,to=0,On=0,io=0,qn=0,ro=0,no=0,Hn=0,so=0,Xr=0,oo=0,Ao=0,ao=0,Yn=0,$o=0,Jn=0,Vn=0,lo=0,en=0,Kn=0,tn=0,zn=0,Zn=0,co=0,go=0,ho=0,rn=0,Wn=0,uo=0,mr=0,nn=0,fo=0,Io=0,sn=0,ui=0,jn=0,Eo=0,mo=0,Xn=0,es=0,ts=0,Co=0,fi=0,on=0,po=0,is=0,Bo=0,Qo=0,yo=0,rs=0,wo=0,vo=0,ko=0,So=0,ns=0,bo=0,Do=0,An=0,Cr=0,an=0,_o=0,ji=0,xo=0,ss=0,$n=0,os=0,ln=0,Lo=0,As=0,as=0,Ro=0,$s=0,ls=0,Fo=0,pr=0,cs=0,di=0,cn=0,Br=0,Xi=0,Qr=0,Hi=0,yr=0,gs=0,Yi=0,vi=0,ki=0,j7=0,Si=0,wr=0,er=0,tr=0,vr=0,Ii=0,Mo=0,l7=0,el=0,gn=0,hn=0,Th=0,tl=0,To=0,Nh=0,ea=0,il=0,Gh=0,Uh=0,Ph=0,ta=0,rl=0,nl=0,ia=0,un=0,sl=0,Oh=0,No=0,ir=0,qh=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,ol=0,kr=0,Xh=0,eu=0,Al=0,tu=0,ra=0,Go=0,na=0,iu=0,ru=0,sa=0,al=0,$l=0,ll=0,oa=0,cl=0,Uo=0,nu=0,su=0,gl=0,ou=0,Au=0,hl=0,au=0,$u=0,ul=0,fl=0,dl=0,Il=0,El=0,fn=0,lu=0,ml=0,cu=0,Cl=0,pl=0,gu=0,hu=0,uu=0,Aa=0,Bl=0,Ql=0,hs=0,yl=0,aa=0,fu=0,wl=0,du=0,vl=0,Iu=0,Eu=0,kl=0,Sl=0,mu=0,Po=0,Cu=0,$a=0,bl=0,Dl=0,pu=0,Bu=0,Qu=0,yu=0,wu=0,vu=0,Oo=0,_l=0,xl=0,Ll=0,qo=0,ku=0,Rl=0,Su=0,Fl=0,bu=0,Du=0,Ml=0,la=0,_u=0,xu=0,Ho=0,Lu=0,Yo=0,Ru=0,ca=0,Fu=0,Mu=0,Tu=0,Tl=0,Nu=0,Gu=0,Uu=0,Pu=0,Nl=0,Gl=0,rr=0,Ul=0,Jo=0,ga=0,ha=0,dn=0,Pl=0,In=0,Ou=0,Ol=0,qu=0,Hu=0,Yu=0,Ju=0,Vo=0,ua=0,Sr=0,Vu=0,Ku=0,ql=0,fa=0,Hl=0,Yl=0,zu=0,Jl=0,Zu=0,da=0,Wu=0,ju=0,P9=0,Xu=0,Vl=0,ef=0,tf=0,Ia=0,rf=0,Ea=0,Kl=0,nf=0,sf=0,zl=0,Zl=0,of=0,ma=0,Ca=0,Wl=0,jl=0,Af=0,Xl=0,pa=0,af=0,ec=0,$f=0,lf=0,cf=0,gf=0,tc=0,ic=0,Ba=0,Ko=0,rc=0,hf=0,nc=0,sc=0,uf=0,ff=0,df=0,oc=0,If=0,Ef=0,mf=0,Cf=0,pf=0,Bf=0,Ac=0,Qf=0,ac=0,yf=0,En=0,wf=0,$c=0,vf=0,us=0,lc=0,Qa=0,kf=0,zo=0,ya=0,Sf=0,wa=0,cc=0,bf=0,Df=0,_f=0,xf=0,Lf=0,gc=0,Rf=0,Ff=0,Mf=0,Zo=0,fs=0,va=0,Tf=0,ka=0,Nf=0,Gf=0,Uf=0,hc=0,Pf=0,Of=0,qf=0,Hf=0,Yf=0,Wo=0,Jf=0,Vf=0,uc=0,Kf=0,zf=0,Zf=0,Wf=0,Ei=0,fc=0,mi=0,dc=0,Sa=0,jf=0,X7=0,ds=0,Xf=0,ed=0,td=0,id=0,rd=0,Ic=0,nd=0,sd=0,Ec=0,od=0,Ad=0,Is=0,ba=0,ad=0,mc=0,$d=0,ld=0,jo=0,cd=0,gd=0,Cc=0,pc=0,hd=0,ud=0,mn=0,fd=0,dd=0,Cn=0,Id=0,Bc=0,Ed=0,md=0,Es=0,Qc=0,Cd=0,yc=0,pd=0,nr=0,Da=0,Bd=0,wc=0,vc=0,Qd=0,yd=0,kc=0,wd=0,vd=0,kd=0,Sc=0,Sd=0,ms=0,bd=0,pn=0,Dd=0,_d=0,_a=0,xd=0,xa=0,La=0,Ld=0,bc=0,Dc=0,Rd=0,_c=0,xc=0,Lc=0,Fd=0,Rc=0,Fc=0,Md=0,Td=0,Mc=0,Tc=0,Nd=0,Nc=0,Gc=0,Gd=0,Ud=0,Uc=0,Ra=0,Pc=0,Oc=0,qc=0,Hc=0,Pd=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,Yc=0,Fa=0,zd=0,Zd=0,Wd=0,Jc=0,Vc=0,jd=0,Kc=0,Ma=0,Xo=0,zc=0,Xd=0,eI=0,tI=0,iI=0,Zc=0,eA=0,rI=0,nI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,Wc=0,cI=0,gI=0,hI=0,uI=0,tA=0,jc=0,fI=0,dI=0,Bn=0,Xc=0,eg=0,Ta=0,II=0,tg=0,EI=0,ig=0,rg=0,mI=0,CI=0,pI=0,BI=0,QI=0,iA=0,Na=0,yI=0,wI=0,vI=0,kI=0,ng=0,SI=0,sg=0,bI=0,DI=0,og=0,br=0,Ag=0,ag=0,_I=0,$g=0,rA=0,xI=0,LI=0,RI=0,nA=0,lg=0,FI=0,MI=0,cg=0,TI=0,NI=0,Ga=0,sA=0,GI=0,UI=0,PI=0,gg=0,hg=0,ug=0,OI=0,qI=0,Cs=0,HI=0,fg=0,YI=0,Ua=0,dg=0,JI=0,VI=0,KI=0,zI=0,Ig=0,ZI=0,WI=0,Eg=0,oA=0,jI=0,XI=0,eE=0,ps=0,mg=0,Cg=0,tE=0,pg=0,Bg=0,bi=0,Qg=0,sr=0,iE=0,rE=0,nE=0,sE=0,Pa=0,AA=0,yg=0,wg=0,oE=0,aA=0,Bs=0,AE=0,$A=0,Oa=0,aE=0,qa=0,$E=0,lE=0,vg=0,lA=0,kg=0,cE=0,gE=0,hE=0,uE=0,Sg=0,fE=0,jt=0,y4=0,ei=0,dE=0,bg=0,Dg=0,Ha=0,IE=0,Dr=0,Qs=0,EE=0,mE=0,_g=0,Ya=0,CE=0,xg=0,Lg=0,Rg=0,Ja=0,Va=0,Fg=0,ys=0,Ka=0,Mg=0,pE=0,Qn=0,BE=0,Tg=0,cA=0,QE=0,Ng=0,Di=0,yE=0,wE=0,vE=0,kE=0,SE=0,bE=0,_i=0,DE=0,_E=0,xE=0,Gg=0,Ci=0,gA=0,za=0,Ug=0,Pg=0,LE=0,Og=0,qg=0,RE=0,FE=0,Hg=0,Yg=0,ME=0,TE=0,Jg=0,NE=0,ws=0,hA=0,uA=0,GE=0,Za=0,UE=0,PE=0,Vg=0,vs=0,OE=0,qE=0,Wa=0,ja=0,fA=0,Xa=0,e$=0,or=0,_r=0,xr=0,t$=0,i$=0,ks=0,Ar=0,yn=0,HE=0,ar=0,wn=0,YE=0,_7=0,x7=0,L7=0,dA=0,IA=0,Kg=0,zg=0,EA=0,r$=0,R7=0,mA=0,Lr=0,n$=0,JE=0,s$=0,VE=0,o$=0,Zg=0,CA=0,KE=0,zE=0,pA=0,ZE=0,BA=0,vn=0,Ke=0,k4=0,Wg=0,WE=0,A$=0,jg=0,jE=0,XE=0,QA=0,em=0,tm=0,im=0,rm=0,Xg=0,nm=0,sm=0,om=0,ti=0,yA=0,kn=0,a$=0,Ss=0,bs=0,Xt=0,Ds=0,eh=0,th=0,wA=0,_s=0,xs=0,Ls=0,Am=0,Rs=0,$r=0,ih=0,Rr=0,ii=0,$$=0,l$=0,Ji=0,c$=0,g$=0,h$=0,Fr=0,$6=0,vA=0,Mr=0,rh=0,ke=0,u$=0,Q8=0,Fs=0,Sn=0,bn=0,F9=0,Dn=0,Tr=0,Y4=0,f$=0;f$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,h4=t+11|0,O4=h4&-8,ve=h2?16:O4,To=ve>>>3,ca=e[138262]|0,Zo=ca>>>To,Oc=Zo&3,Eg=(Oc|0)==0,!Eg){$2=Zo&1,u3=$2^1,l3=u3+To|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,x6=553088+(w0<<2)|0,b6=e[x6>>2]|0,L6=b6+8|0,D6=e[L6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,le&&Q2(),B4=D6+12|0,p9=e[B4>>2]|0,T8=(p9|0)==(b6|0),T8){e[B4>>2]=g3,e[x6>>2]=D6;break}else Q2();while(!1);return f8=l3<<3,ut=f8|3,Re=b6+4|0,e[Re>>2]=ut,B0=f8|4,ye=b6+B0|0,q4=e[ye>>2]|0,nt=q4|1,e[ye>>2]=nt,Ke=L6,Ke|0}if(Je=e[138264]|0,Yt=ve>>>0>Je>>>0,Yt){if(U7=(Zo|0)==0,!U7){O7=Zo<>>12,An=Bo&16,As=jn>>>An,Xi=As>>>5,er=Xi&8,Nh=er|An,sl=As>>>er,Zh=sl>>>2,na=Zh&4,su=Nh|na,El=sl>>>na,Bl=El>>>1,kl=Bl&2,yu=su|kl,Fl=El>>>kl,Fu=Fl>>>1,Ul=Fu&1,Yu=yu|Ul,zu=Fl>>>Ul,Ia=Yu+zu|0,Wl=Ia<<1,tc=553088+(Wl<<2)|0,U1=Wl+2|0,oc=553088+(U1<<2)|0,En=e[oc>>2]|0,wa=En+8|0,fs=e[wa>>2]|0,Hf=(tc|0)==(fs|0);do if(Hf)fc=1<>>0
>>0,nr&&Q2(),Sc=fs+12|0,Ld=e[Sc>>2]|0,Td=(Ld|0)==(En|0),Td){e[Sc>>2]=tc,e[oc>>2]=fs,y=e[138264]|0,sA=y;break}else Q2();while(!1);return qc=Ia<<3,Fa=qc-ve|0,Xd=ve|3,aI=En+4|0,e[aI>>2]=Xd,dI=En+ve|0,CI=Fa|1,j1=ve|4,SI=En+j1|0,e[SI>>2]=CI,xI=En+qc|0,e[xI>>2]=Fa,fg=(sA|0)==0,fg||(oA=e[138267]|0,Qg=sA>>>3,aA=Qg<<1,kg=553088+(aA<<2)|0,bg=e[138262]|0,xg=1<>2]|0,C2=e[138266]|0,o5=i2>>>0>>0,o5?Q2():(G=ws,fA=i2)),e[G>>2]=oA,l5=fA+12|0,e[l5>>2]=oA,G5=oA+8|0,e[G5>>2]=fA,W2=oA+12|0,e[W2>>2]=kg),e[138264]=Fa,e[138267]=dI,Ke=wa,Ke|0}if($5=e[138263]|0,m3=($5|0)==0,m3)k4=ve;else{for(J5=0-$5|0,v3=$5&J5,B3=v3+-1|0,z3=B3>>>12,G3=z3&16,z5=B3>>>G3,w3=z5>>>5,W5=w3&8,i6=W5|G3,L3=z5>>>W5,U3=L3>>>2,a3=U3&4,c3=i6|a3,C3=L3>>>a3,H5=C3>>>1,U5=H5&2,O5=c3|U5,v5=C3>>>U5,P3=v5>>>1,M5=P3&1,o6=O5|M5,e3=v5>>>M5,R3=o6+e3|0,u6=553352+(R3<<2)|0,Q3=e[u6>>2]|0,k3=Q3+4|0,y3=e[k3>>2]|0,r6=y3&-8,j3=r6-ve|0,yA=j3,l$=Q3,u$=Q3;;){if(O3=l$+16|0,V5=e[O3>>2]|0,S3=(V5|0)==0,S3)if(q3=l$+20|0,l6=e[q3>>2]|0,d3=(l6|0)==0,d3){kn=yA,Q8=u$;break}else k6=l6;else k6=V5;v6=k6+4|0,S6=e[v6>>2]|0,p6=S6&-8,X3=p6-ve|0,c6=X3>>>0>>0,q=c6?X3:yA,A2=c6?k6:u$,yA=q,l$=k6,u$=A2}B6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ve|0,b3=Q8>>>0>>0,b3||Q2(),e6=Q8+24|0,t6=e[e6>>2]|0,f6=Q8+12|0,H3=e[f6>>2]|0,D3=(H3|0)==(Q8|0);do if(D3){if(N6=Q8+20|0,n6=e[N6>>2]|0,Q6=(n6|0)==0,Q6)if(K6=Q8+16|0,I6=e[K6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else Ar=I6,dA=K6;else Ar=n6,dA=N6;for(;;){if(F3=Ar+20|0,j6=e[F3>>2]|0,G6=(j6|0)==0,!G6){Ar=j6,dA=F3;continue}if(e9=Ar+16|0,s9=e[e9>>2]|0,R6=(s9|0)==0,R6){ar=Ar,zg=dA;break}else Ar=s9,dA=e9}if(U6=zg>>>0>>0,U6)Q2();else{e[zg>>2]=0,_7=ar;break}}else if(Y3=Q8+8|0,Z3=e[Y3>>2]|0,A6=Z3>>>0>>0,A6&&Q2(),t3=Z3+12|0,O6=e[t3>>2]|0,s3=(O6|0)==(Q8|0),s3||Q2(),a6=H3+8|0,d6=e[a6>>2]|0,_3=(d6|0)==(Q8|0),_3){e[t3>>2]=H3,e[a6>>2]=Z3,_7=H3;break}else Q2();while(!1);z6=(t6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,M3=553352+(F6<<2)|0,M6=e[M3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[M3>>2]=_7,KE=(_7|0)==0,KE){A9=1<>>0>>0,$9&&Q2(),T9=t6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_7:(i9=t6+20|0,e[i9>>2]=_7),N9=(_7|0)==0,N9)break;I9=e[138266]|0,E4=_7>>>0>>0,E4&&Q2(),o4=_7+24|0,e[o4>>2]=t6,z9=Q8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(q6=b9>>>0>>0,q6)Q2();else{r9=_7+16|0,e[r9>>2]=b9,m4=b9+24|0,e[m4>>2]=_7;break}while(!1);if(S4=Q8+20|0,A4=e[S4>>2]|0,y9=(A4|0)==0,!y9)if(b4=e[138266]|0,x4=A4>>>0>>0,x4)Q2();else{M4=_7+20|0,e[M4>>2]=A4,j4=A4+24|0,e[j4>>2]=_7;break}}while(!1);return C4=kn>>>0<16,C4?(T4=kn+ve|0,U9=T4|3,N4=Q8+4|0,e[N4>>2]=U9,Z1=T4+4|0,a4=Q8+Z1|0,L4=e[a4>>2]|0,u4=L4|1,e[a4>>2]=u4):(q9=ve|3,m9=Q8+4|0,e[m9>>2]=q9,pe=kn|1,h0=ve|4,Ne=Q8+h0|0,e[Ne>>2]=pe,g0=kn+ve|0,Xe=Q8+g0|0,e[Xe>>2]=kn,G4=e[138264]|0,Ge=(G4|0)==0,Ge||(U4=e[138267]|0,X4=G4>>>3,be=X4<<1,Z9=553088+(be<<2)|0,ae=e[138262]|0,f4=1<>2]|0,$e=e[138266]|0,W9=_4>>>0<$e>>>0,W9?Q2():(T=$4,ja=_4)),e[T>>2]=U4,ce=ja+12|0,e[ce>>2]=U4,p4=U4+8|0,e[p4>>2]=ja,ee=U4+12|0,e[ee>>2]=Z9),e[138264]=kn,e[138267]=C6),R4=Q8+8|0,Ke=R4,Ke|0}}else k4=ve}else if(ge=t>>>0>4294967231,ge)k4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)k4=g6;else{Be=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?vn=0:(De=g6>>>0>16777215,De?vn=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,v4=c4<>>16,w9=J3&4,F4=w9|g4,te=v4<>>16,ct=xe&2,wt=F4|ct,Z8=14-wt|0,gt=te<>>15,M8=Z8+ht|0,N8=M8<<1,G8=M8+7|0,W8=g6>>>G8,j8=W8&1,vt=j8|N8,vn=vt)),U8=553352+(vn<<2)|0,P8=e[U8>>2]|0,O8=(P8|0)==0;e:do if(O8)bs=Be,c$=0,bn=0,Y4=86;else for(v8=(vn|0)==31,k8=vn>>>1,q8=25-k8|0,H8=v8?0:q8,X8=g6<>2]|0,Pe=d8&-8,Le=Pe-g6|0,i8=Le>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){Ds=Le,Fr=Ji,Tr=Ji,Y4=90;break e}else Ss=Le,Sn=Ji;else Ss=a$,Sn=Fs;if(v9=Ji+20|0,Qe=e[v9>>2]|0,ft=wA>>>31,kt=(Ji+16|0)+(ft<<2)|0,tt=e[kt>>2]|0,St=(Qe|0)==0,ie=(Qe|0)==(tt|0),em=St|ie,th=em?eh:Qe,it=(tt|0)==0,Y8=wA<<1,it){bs=Ss,c$=th,bn=Sn,Y4=86;break}else a$=Ss,eh=th,wA=Y8,Ji=tt,Fs=Sn}while(!1);if((Y4|0)==86){if(b8=(c$|0)==0,r8=(bn|0)==0,jE=b8&r8,jE){if(n8=2<>>12,ue=m8&16,Oe=o8>>>ue,qe=Oe>>>5,X9=qe&8,Fe=X9|ue,fe=Oe>>>X9,A8=fe>>>2,we=A8&4,Q4=Fe|we,C8=fe>>>we,rt=C8>>>1,I3=rt&2,He=Q4|I3,p8=C8>>>I3,re=p8>>>1,H9=re&1,ne=He|H9,D9=p8>>>H9,Ye=ne+D9|0,J8=553352+(Ye<<2)|0,dt=e[J8>>2]|0,g$=dt,Dn=0}else g$=c$,Dn=bn;st=(g$|0)==0,st?(Xt=bs,F9=Dn):(Ds=bs,Fr=g$,Tr=Dn,Y4=90)}if((Y4|0)==90)for(;;){if(Y4=0,V8=Fr+4|0,ot=e[V8>>2]|0,K8=ot&-8,a8=K8-g6|0,$8=a8>>>0>>0,X=$8?a8:Ds,h$=$8?Fr:Tr,_8=Fr+16|0,H4=e[_8>>2]|0,At=(H4|0)==0,!At){Ds=X,Fr=H4,Tr=h$,Y4=90;continue}if(x8=Fr+20|0,B9=e[x8>>2]|0,at=(B9|0)==0,at){Xt=X,F9=h$;break}else Ds=X,Fr=B9,Tr=h$,Y4=90}if(Ve=(F9|0)==0,Ve)k4=g6;else if(Nt=e[138264]|0,Ht=Nt-g6|0,bt=Xt>>>0>>0,bt){$t=e[138266]|0,Dt=F9>>>0<$t>>>0,Dt&&Q2(),se=F9+g6|0,Gt=F9>>>0>>0,Gt||Q2(),l8=F9+24|0,L8=e[l8>>2]|0,_t=F9+12|0,z8=e[_t>>2]|0,Me=(z8|0)==(F9|0);do if(Me){if(Vt=F9+20|0,E7=e[Vt>>2]|0,Kt=(E7|0)==0,Kt)if(m7=F9+16|0,n7=e[m7>>2]|0,$i=(n7|0)==0,$i){L7=0;break}else wn=n7,EA=m7;else wn=E7,EA=Vt;for(;;){if(C7=wn+20|0,p7=e[C7>>2]|0,li=(p7|0)==0,!li){wn=p7,EA=C7;continue}if(B7=wn+16|0,s7=e[B7>>2]|0,ci=(s7|0)==0,ci){YE=wn,r$=EA;break}else wn=s7,EA=B7}if(q7=r$>>>0<$t>>>0,q7)Q2();else{e[r$>>2]=0,L7=YE;break}}else if(de=F9+8|0,e4=e[de>>2]|0,xt=e4>>>0<$t>>>0,xt&&Q2(),r7=e4+12|0,G7=e[r7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=z8+8|0,Jt=e[d7>>2]|0,I7=(Jt|0)==(F9|0),I7){e[r7>>2]=z8,e[d7>>2]=e4,L7=z8;break}else Q2();while(!1);H7=(L8|0)==0;do if(!H7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,V7=e[Q7>>2]|0,zt=(F9|0)==(V7|0),zt){if(e[Q7>>2]=L7,pA=(L7|0)==0,pA){A7=1<>>0>>0,hi&&Q2(),y7=L8+16|0,w7=e[y7>>2]|0,v7=(w7|0)==(F9|0),v7?e[y7>>2]=L7:(Z7=L8+20|0,e[Z7>>2]=L7),k7=(L7|0)==0,k7)break;Wt=e[138266]|0,S7=L7>>>0>>0,S7&&Q2(),W7=L7+24|0,e[W7>>2]=L8,a7=F9+16|0,Pt=e[a7>>2]|0,b7=(Pt|0)==0;do if(!b7)if(Lt=Pt>>>0>>0,Lt)Q2();else{$7=L7+16|0,e[$7>>2]=Pt,n9=Pt+24|0,e[n9>>2]=L7;break}while(!1);if(It=F9+20|0,B8=e[It>>2]|0,Et=(B8|0)==0,!Et)if(Rt=e[138266]|0,jr=B8>>>0>>0,jr)Q2();else{Er=L7+20|0,e[Er>>2]=B8,to=B8+24|0,e[to>>2]=L7;break}}while(!1);io=Xt>>>0<16;e:do if(io)qn=Xt+g6|0,ro=qn|3,no=F9+4|0,e[no>>2]=ro,c1=qn+4|0,Hn=F9+c1|0,so=e[Hn>>2]|0,Xr=so|1,e[Hn>>2]=Xr;else{if(oo=g6|3,Ao=F9+4|0,e[Ao>>2]=oo,ao=Xt|1,r0=g6|4,$o=F9+r0|0,e[$o>>2]=ao,I0=Xt+g6|0,Jn=F9+I0|0,e[Jn>>2]=Xt,Vn=Xt>>>3,lo=Xt>>>0<256,lo){en=Vn<<1,Kn=553088+(en<<2)|0,tn=e[138262]|0,zn=1<>2]|0,uo=e[138266]|0,mr=Wn>>>0>>0,mr?Q2():(M=rn,e$=Wn)),e[M>>2]=se,nn=e$+12|0,e[nn>>2]=se,q0=g6+8|0,fo=F9+q0|0,e[fo>>2]=e$,H0=g6+12|0,Io=F9+H0|0,e[Io>>2]=Kn;break}if(sn=Xt>>>8,ui=(sn|0)==0,ui?_r=0:(Eo=Xt>>>0>16777215,Eo?_r=31:(mo=sn+1048320|0,Xn=mo>>>16,es=Xn&8,ts=sn<>>16,on=fi&4,po=on|es,is=ts<>>16,rs=yo&2,wo=po|rs,vo=14-wo|0,ko=is<>>15,ns=vo+So|0,bo=ns<<1,Do=ns+7|0,Cr=Xt>>>Do,an=Cr&1,_o=an|bo,_r=_o)),ji=553352+(_r<<2)|0,g1=g6+28|0,xo=F9+g1|0,e[xo>>2]=_r,L1=g6+16|0,ss=F9+L1|0,_1=g6+20|0,$n=F9+_1|0,e[$n>>2]=0,e[ss>>2]=0,os=e[138263]|0,ln=1<<_r,Lo=os&ln,as=(Lo|0)==0,as){Ro=os|ln,e[138263]=Ro,e[ji>>2]=se,H1=g6+24|0,$s=F9+H1|0,e[$s>>2]=ji,n2=g6+12|0,ls=F9+n2|0,e[ls>>2]=se,P1=g6+8|0,Fo=F9+P1|0,e[Fo>>2]=se;break}pr=e[ji>>2]|0,cs=pr+4|0,di=e[cs>>2]|0,cn=di&-8,Br=(cn|0)==(Xt|0);t:do if(Br)R7=pr;else{for(Qr=(_r|0)==31,Hi=_r>>>1,yr=25-Hi|0,gs=Qr?0:yr,Yi=Xt<>>31,Ii=(n$+16|0)+(vr<<2)|0,j7=e[Ii>>2]|0,Mo=(j7|0)==0,Mo){v=Ii,JE=n$;break}if(vi=t$<<1,ki=j7+4|0,Si=e[ki>>2]|0,wr=Si&-8,tr=(wr|0)==(Xt|0),tr){R7=j7;break t}else t$=vi,n$=j7}if(l7=e[138266]|0,el=v>>>0>>0,el)Q2();else{e[v>>2]=se,d0=g6+24|0,gn=F9+d0|0,e[gn>>2]=JE,P0=g6+12|0,hn=F9+P0|0,e[hn>>2]=se,O0=g6+8|0,Th=F9+O0|0,e[Th>>2]=se;break e}}while(!1);if(tl=R7+8|0,ea=e[tl>>2]|0,il=e[138266]|0,Gh=ea>>>0>=il>>>0,Wg=R7>>>0>=il>>>0,Uh=Gh&Wg,Uh){Ph=ea+12|0,e[Ph>>2]=se,e[tl>>2]=se,c2=g6+8|0,ta=F9+c2|0,e[ta>>2]=ea,u2=g6+12|0,rl=F9+u2|0,e[rl>>2]=R7,C0=g6+24|0,nl=F9+C0|0,e[nl>>2]=0;break}else Q2()}while(!1);return ia=F9+8|0,Ke=ia,Ke|0}else k4=g6}while(!1);if(un=e[138264]|0,Oh=un>>>0>>0,!Oh)return No=un-k4|0,ir=e[138267]|0,qh=No>>>0>15,qh?(Hh=ir+k4|0,e[138267]=Hh,e[138264]=No,Yh=No|1,u1=k4+4|0,Jh=ir+u1|0,e[Jh>>2]=Yh,Vh=ir+un|0,e[Vh>>2]=No,Kh=k4|3,zh=ir+4|0,e[zh>>2]=Kh):(e[138264]=0,e[138267]=0,Wh=un|3,jh=ir+4|0,e[jh>>2]=Wh,o0=un+4|0,ol=ir+o0|0,kr=e[ol>>2]|0,Xh=kr|1,e[ol>>2]=Xh),eu=ir+8|0,Ke=eu,Ke|0;if(Al=e[138265]|0,tu=Al>>>0>k4>>>0,tu)return ra=Al-k4|0,e[138265]=ra,Go=e[138268]|0,iu=Go+k4|0,e[138268]=iu,ru=ra|1,U=k4+4|0,sa=Go+U|0,e[sa>>2]=ru,al=k4|3,$l=Go+4|0,e[$l>>2]=al,ll=Go+8|0,Ke=ll,Ke|0;oa=e[138380]|0,cl=(oa|0)==0;do if(cl)if(Uo=Rk(30)|0,nu=Uo+-1|0,gl=nu&Uo,ou=(gl|0)==0,ou){e[138382]=Uo,e[138381]=Uo,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,Au=VB(0)|0,hl=Au&-16,au=hl^1431655768,e[138380]=au;break}else Q2();while(!1);if($u=k4+48|0,ul=e[138382]|0,fl=k4+47|0,dl=ul+fl|0,Il=0-ul|0,fn=dl&Il,lu=fn>>>0>k4>>>0,!lu||(ml=e[138372]|0,cu=(ml|0)==0,!cu&&(Cl=e[138370]|0,pl=Cl+fn|0,gu=pl>>>0<=Cl>>>0,hu=pl>>>0>ml>>>0,QA=gu|hu,QA)))return Ke=0,Ke|0;uu=e[138373]|0,Aa=uu&4,Ql=(Aa|0)==0;e:do if(Ql){hs=e[138268]|0,yl=(hs|0)==0;t:do if(yl)Y4=174;else{for(_s=553496;;){if(aa=e[_s>>2]|0,fu=aa>>>0>hs>>>0,!fu&&(wl=_s+4|0,du=e[wl>>2]|0,vl=aa+du|0,Iu=vl>>>0>hs>>>0,Iu)){S=_s,b=wl;break}if(Eu=_s+8|0,Sl=e[Eu>>2]|0,mu=(Sl|0)==0,mu){Y4=174;break t}else _s=Sl}if(_u=e[138265]|0,xu=dl-_u|0,Ho=xu&Il,Lu=Ho>>>0<2147483647,Lu)if(Yo=N7(Ho|0)|0,Ru=e[S>>2]|0,Mu=e[b>>2]|0,Tu=Ru+Mu|0,Tl=(Yo|0)==(Tu|0),n=Tl?Ho:0,Tl)if(Nu=(Yo|0)==-1,Nu)Mr=n;else{$6=Yo,ke=n,Y4=194;break e}else CA=Yo,ii=Ho,vA=n,Y4=184;else Mr=0}while(!1);do if((Y4|0)==174)if(Po=N7(0)|0,Cu=(Po|0)==-1,Cu)Mr=0;else if($a=Po,bl=e[138381]|0,Dl=bl+-1|0,pu=Dl&$a,Bu=(pu|0)==0,Bu?Rr=fn:(Qu=Dl+$a|0,wu=0-bl|0,vu=Qu&wu,Oo=fn-$a|0,_l=Oo+vu|0,Rr=_l),xl=e[138370]|0,Ll=xl+Rr|0,qo=Rr>>>0>k4>>>0,ku=Rr>>>0<2147483647,XE=qo&ku,XE){if(Rl=e[138372]|0,Su=(Rl|0)==0,!Su&&(bu=Ll>>>0<=xl>>>0,Du=Ll>>>0>Rl>>>0,tm=bu|Du,tm)){Mr=0;break}if(Ml=N7(Rr|0)|0,la=(Ml|0)==(Po|0),ih=la?Rr:0,la){$6=Po,ke=ih,Y4=194;break e}else CA=Ml,ii=Rr,vA=ih,Y4=184}else Mr=0;while(!1);t:do if((Y4|0)==184){Gu=0-ii|0,Uu=(CA|0)!=-1,Pu=ii>>>0<2147483647,rm=Pu&Uu,Nl=$u>>>0>ii>>>0,nm=Nl&rm;do if(nm)if(Gl=e[138382]|0,rr=fl-ii|0,Jo=rr+Gl|0,ga=0-Gl|0,ha=Jo&ga,dn=ha>>>0<2147483647,dn)if(Pl=N7(ha|0)|0,In=(Pl|0)==-1,In){N7(Gu|0)|0,Mr=vA;break t}else{Ou=ha+ii|0,$$=Ou;break}else $$=ii;else $$=ii;while(!1);if(Ol=(CA|0)==-1,Ol)Mr=vA;else{$6=CA,ke=$$,Y4=194;break e}}while(!1);qu=e[138373]|0,Hu=qu|4,e[138373]=Hu,rh=Mr,Y4=191}else rh=0,Y4=191;while(!1);if((Y4|0)==191&&(Ju=fn>>>0<2147483647,Ju&&(Vo=N7(fn|0)|0,ua=N7(0)|0,Sr=(Vo|0)!=-1,Vu=(ua|0)!=-1,im=Sr&Vu,Ku=Vo>>>0>>0,sm=Ku&im,sm&&(ql=ua,fa=Vo,Hl=ql-fa|0,Yl=k4+40|0,Jl=Hl>>>0>Yl>>>0,E2=Jl?Hl:rh,Jl&&($6=Vo,ke=E2,Y4=194)))),(Y4|0)==194){Zu=e[138370]|0,da=Zu+ke|0,e[138370]=da,Wu=e[138371]|0,ju=da>>>0>Wu>>>0,ju&&(e[138371]=da),P9=e[138268]|0,Xu=(P9|0)==0;e:do if(Xu){for(Vl=e[138266]|0,ef=(Vl|0)==0,tf=$6>>>0>>0,om=ef|tf,om&&(e[138266]=$6),e[138374]=$6,e[138375]=ke,e[138377]=0,rf=e[138380]|0,e[138271]=rf,e[138270]=-1,BA=0;Ea=BA<<1,Kl=553088+(Ea<<2)|0,l0=Ea+3|0,nf=553088+(l0<<2)|0,e[nf>>2]=Kl,j=Ea+2|0,sf=553088+(j<<2)|0,e[sf>>2]=Kl,zl=BA+1|0,ZE=(zl|0)==32,!ZE;)BA=zl;Zl=ke+-40|0,of=$6+8|0,ma=of,Ca=ma&7,jl=(Ca|0)==0,Af=0-ma|0,Xl=Af&7,pa=jl?0:Xl,af=$6+pa|0,ec=Zl-pa|0,e[138268]=af,e[138265]=ec,$f=ec|1,K=pa+4|0,lf=$6+K|0,e[lf>>2]=$f,l1=ke+-36|0,cf=$6+l1|0,e[cf>>2]=40,gf=e[138384]|0,e[138269]=gf}else{for(Ls=553496;;){if(ic=e[Ls>>2]|0,Ba=Ls+4|0,Ko=e[Ba>>2]|0,rc=ic+Ko|0,hf=($6|0)==(rc|0),hf){m=ic,B=Ba,p=Ko,Am=Ls,Y4=204;break}if(nc=Ls+8|0,sc=e[nc>>2]|0,uf=(sc|0)==0,uf)break;Ls=sc}if((Y4|0)==204&&(ff=Am+12|0,df=e[ff>>2]|0,If=df&8,Ef=(If|0)==0,Ef&&(mf=P9>>>0>=m>>>0,Cf=P9>>>0<$6>>>0,Xg=Cf&mf,Xg))){pf=p+ke|0,e[B>>2]=pf,Bf=e[138265]|0,Ac=Bf+ke|0,Qf=P9+8|0,ac=Qf,yf=ac&7,wf=(yf|0)==0,$c=0-ac|0,vf=$c&7,us=wf?0:vf,lc=P9+us|0,Qa=Ac-us|0,e[138268]=lc,e[138265]=Qa,kf=Qa|1,s0=us+4|0,zo=P9+s0|0,e[zo>>2]=kf,n1=Ac+4|0,ya=P9+n1|0,e[ya>>2]=40,Sf=e[138384]|0,e[138269]=Sf;break}for(cc=e[138266]|0,bf=$6>>>0>>0,bf?(e[138266]=$6,Es=$6):Es=cc,Df=$6+ke|0,Rs=553496;;){if(_f=e[Rs>>2]|0,xf=(_f|0)==(Df|0),xf){I=Rs,$r=Rs,Y4=212;break}if(Lf=Rs+8|0,gc=e[Lf>>2]|0,Rf=(gc|0)==0,Rf){xs=553496;break}else Rs=gc}if((Y4|0)==212)if(Ff=$r+12|0,Mf=e[Ff>>2]|0,va=Mf&8,Tf=(va|0)==0,Tf){e[I>>2]=$6,ka=$r+4|0,Nf=e[ka>>2]|0,Gf=Nf+ke|0,e[ka>>2]=Gf,Uf=$6+8|0,hc=Uf,Pf=hc&7,Of=(Pf|0)==0,qf=0-hc|0,Yf=qf&7,Wo=Of?0:Yf,Jf=$6+Wo|0,E0=ke+8|0,Vf=$6+E0|0,uc=Vf,Kf=uc&7,zf=(Kf|0)==0,Zf=0-uc|0,Wf=Zf&7,Ei=zf?0:Wf,b0=Ei+ke|0,mi=$6+b0|0,dc=mi,Sa=Jf,jf=dc-Sa|0,i0=Wo+k4|0,X7=$6+i0|0,ds=jf-k4|0,Xf=k4|3,u0=Wo+4|0,ed=$6+u0|0,e[ed>>2]=Xf,td=(mi|0)==(P9|0);t:do if(td)id=e[138265]|0,Ic=id+ds|0,e[138265]=Ic,e[138268]=X7,nd=Ic|1,q1=i0+4|0,sd=$6+q1|0,e[sd>>2]=nd;else{if(Ec=e[138267]|0,od=(mi|0)==(Ec|0),od){Ad=e[138264]|0,Is=Ad+ds|0,e[138264]=Is,e[138267]=X7,ba=Is|1,V1=i0+4|0,ad=$6+V1|0,e[ad>>2]=ba,O1=Is+i0|0,mc=$6+O1|0,e[mc>>2]=Is;break}if(o1=ke+4|0,K0=o1+Ei|0,ld=$6+K0|0,jo=e[ld>>2]|0,cd=jo&3,gd=(cd|0)==1,gd){Cc=jo&-8,pc=jo>>>3,hd=jo>>>0<256;i:do if(hd){G1=Ei|8,V0=G1+ke|0,ud=$6+V0|0,mn=e[ud>>2]|0,v1=ke+12|0,J0=v1+Ei|0,fd=$6+J0|0,Cn=e[fd>>2]|0,Id=pc<<1,Bc=553088+(Id<<2)|0,Ed=(mn|0)==(Bc|0);do if(!Ed){if(md=mn>>>0>>0,md&&Q2(),Qc=mn+12|0,Cd=e[Qc>>2]|0,yc=(Cd|0)==(mi|0),yc)break;Q2()}while(!1);if(pd=(Cn|0)==(mn|0),pd){Da=1<>>0>>0,yd&&Q2(),kc=Cn+8|0,wd=e[kc>>2]|0,vd=(wd|0)==(mi|0),vd){N=kc;break}Q2()}while(!1);kd=mn+12|0,e[kd>>2]=Cn,e[N>>2]=mn}else{R1=Ei|24,x0=R1+ke|0,Sd=$6+x0|0,ms=e[Sd>>2]|0,Y1=ke+12|0,Q0=Y1+Ei|0,bd=$6+Q0|0,pn=e[bd>>2]|0,Dd=(pn|0)==(mi|0);do if(Dd){if(W1=Ei|16,_0=o1+W1|0,xc=$6+_0|0,Lc=e[xc>>2]|0,Fd=(Lc|0)==0,Fd)if(N0=W1+ke|0,Rc=$6+N0|0,Fc=e[Rc>>2]|0,Md=(Fc|0)==0,Md){x7=0;break}else yn=Fc,IA=Rc;else yn=Lc,IA=xc;for(;;){if(Mc=yn+20|0,Tc=e[Mc>>2]|0,Nd=(Tc|0)==0,!Nd){yn=Tc,IA=Mc;continue}if(Nc=yn+16|0,Gc=e[Nc>>2]|0,Gd=(Gc|0)==0,Gd){HE=yn,Kg=IA;break}else yn=Gc,IA=Nc}if(Ud=Kg>>>0>>0,Ud)Q2();else{e[Kg>>2]=0,x7=HE;break}}else if(F1=Ei|8,M0=F1+ke|0,_d=$6+M0|0,_a=e[_d>>2]|0,xd=_a>>>0>>0,xd&&Q2(),xa=_a+12|0,La=e[xa>>2]|0,bc=(La|0)==(mi|0),bc||Q2(),Dc=pn+8|0,Rd=e[Dc>>2]|0,_c=(Rd|0)==(mi|0),_c){e[xa>>2]=pn,e[Dc>>2]=_a,x7=pn;break}else Q2();while(!1);if(Uc=(ms|0)==0,Uc)break;w1=ke+28|0,T0=w1+Ei|0,Ra=$6+T0|0,Pc=e[Ra>>2]|0,Hc=553352+(Pc<<2)|0,Pd=e[Hc>>2]|0,Od=(mi|0)==(Pd|0);do if(Od){if(e[Hc>>2]=x7,zE=(x7|0)==0,!zE)break;qd=1<>>0>>0,Kd&&Q2(),Yc=ms+16|0,zd=e[Yc>>2]|0,Zd=(zd|0)==(mi|0),Zd?e[Yc>>2]=x7:(Wd=ms+20|0,e[Wd>>2]=x7),Jc=(x7|0)==0,Jc)break i;while(!1);Vc=e[138266]|0,jd=x7>>>0>>0,jd&&Q2(),Kc=x7+24|0,e[Kc>>2]=ms,b1=Ei|16,G0=b1+ke|0,Ma=$6+G0|0,Xo=e[Ma>>2]|0,zc=(Xo|0)==0;do if(!zc)if(eI=Xo>>>0>>0,eI)Q2();else{tI=x7+16|0,e[tI>>2]=Xo,iI=Xo+24|0,e[iI>>2]=x7;break}while(!1);if(Y0=o1+b1|0,Zc=$6+Y0|0,eA=e[Zc>>2]|0,rI=(eA|0)==0,rI)break;if(nI=e[138266]|0,sI=eA>>>0>>0,sI)Q2();else{oI=x7+20|0,e[oI>>2]=eA,AI=eA+24|0,e[AI>>2]=x7;break}}while(!1);o2=Cc|Ei,F0=o2+ke|0,$I=$6+F0|0,lI=Cc+ds|0,jg=$I,ti=lI}else jg=mi,ti=ds;if(Wc=jg+4|0,cI=e[Wc>>2]|0,gI=cI&-2,e[Wc>>2]=gI,hI=ti|1,v0=i0+4|0,uI=$6+v0|0,e[uI>>2]=hI,p0=ti+i0|0,tA=$6+p0|0,e[tA>>2]=ti,jc=ti>>>3,fI=ti>>>0<256,fI){Bn=jc<<1,Xc=553088+(Bn<<2)|0,eg=e[138262]|0,Ta=1<>2]|0,mI=e[138266]|0,pI=rg>>>0>>0,!pI){F=ig,Xa=rg;break}Q2()}while(!1);e[F>>2]=X7,BI=Xa+12|0,e[BI>>2]=X7,p1=i0+8|0,QI=$6+p1|0,e[QI>>2]=Xa,B1=i0+12|0,iA=$6+B1|0,e[iA>>2]=Xc;break}Na=ti>>>8,yI=(Na|0)==0;do if(yI)xr=0;else{if(wI=ti>>>0>16777215,wI){xr=31;break}vI=Na+1048320|0,kI=vI>>>16,ng=kI&8,sg=Na<>>16,og=DI&4,br=og|ng,Ag=sg<>>16,$g=_I&2,rA=br|$g,LI=14-rA|0,RI=Ag<<$g,nA=RI>>>15,lg=LI+nA|0,FI=lg<<1,MI=lg+7|0,cg=ti>>>MI,TI=cg&1,NI=TI|FI,xr=NI}while(!1);if(Ga=553352+(xr<<2)|0,y0=i0+28|0,GI=$6+y0|0,e[GI>>2]=xr,z0=i0+16|0,UI=$6+z0|0,U0=i0+20|0,PI=$6+U0|0,e[PI>>2]=0,e[UI>>2]=0,gg=e[138263]|0,hg=1<>2]=X7,r1=i0+24|0,Cs=$6+r1|0,e[Cs>>2]=Ga,e1=i0+12|0,HI=$6+e1|0,e[HI>>2]=X7,i1=i0+8|0,YI=$6+i1|0,e[YI>>2]=X7;break}Ua=e[Ga>>2]|0,dg=Ua+4|0,JI=e[dg>>2]|0,VI=JI&-8,KI=(VI|0)==(ti|0);i:do if(KI)Lr=Ua;else{for(zI=(xr|0)==31,Ig=xr>>>1,ZI=25-Ig|0,WI=zI?0:ZI,jI=ti<>>31,Bg=(s$+16|0)+(pg<<2)|0,ps=e[Bg>>2]|0,bi=(ps|0)==0,bi){A=Bg,VE=s$;break}if(XI=ks<<1,eE=ps+4|0,mg=e[eE>>2]|0,Cg=mg&-8,tE=(Cg|0)==(ti|0),tE){Lr=ps;break i}else ks=XI,s$=ps}if(sr=e[138266]|0,iE=A>>>0>>0,iE)Q2();else{e[A>>2]=X7,m1=i0+24|0,rE=$6+m1|0,e[rE>>2]=VE,d1=i0+12|0,nE=$6+d1|0,e[nE>>2]=X7,E1=i0+8|0,sE=$6+E1|0,e[sE>>2]=X7;break t}}while(!1);if(Pa=Lr+8|0,AA=e[Pa>>2]|0,yg=e[138266]|0,wg=AA>>>0>=yg>>>0,A$=Lr>>>0>=yg>>>0,oE=wg&A$,oE){Bs=AA+12|0,e[Bs>>2]=X7,e[Pa>>2]=X7,Z0=i0+8|0,AE=$6+Z0|0,e[AE>>2]=AA,I1=i0+12|0,$A=$6+I1|0,e[$A>>2]=Lr,h1=i0+24|0,Oa=$6+h1|0,e[Oa>>2]=0;break}else Q2()}while(!1);return $1=Wo|8,aE=$6+$1|0,Ke=aE,Ke|0}else xs=553496;for(;;){if(qa=e[xs>>2]|0,$E=qa>>>0>P9>>>0,!$E&&(lE=xs+4|0,vg=e[lE>>2]|0,lA=qa+vg|0,cE=lA>>>0>P9>>>0,cE)){g=qa,u=vg,E=lA;break}gE=xs+8|0,hE=e[gE>>2]|0,xs=hE}if($0=u+-47|0,c0=u+-39|0,uE=g+c0|0,Sg=uE,fE=Sg&7,jt=(fE|0)==0,y4=0-Sg|0,ei=y4&7,dE=jt?0:ei,a1=$0+dE|0,Dg=g+a1|0,Ha=P9+16|0,IE=Dg>>>0>>0,Dr=IE?P9:Dg,Qs=Dr+8|0,EE=ke+-40|0,mE=$6+8|0,_g=mE,Ya=_g&7,CE=(Ya|0)==0,Lg=0-_g|0,Rg=Lg&7,Ja=CE?0:Rg,Va=$6+Ja|0,Fg=EE-Ja|0,e[138268]=Va,e[138265]=Fg,ys=Fg|1,Z=Ja+4|0,Ka=$6+Z|0,e[Ka>>2]=ys,s1=ke+-36|0,Mg=$6+s1|0,e[Mg>>2]=40,pE=e[138384]|0,e[138269]=pE,Qn=Dr+4|0,e[Qn>>2]=27,e[Qs>>2]=e[138374]|0,e[Qs+4>>2]=e[138375]|0,e[Qs+8>>2]=e[138376]|0,e[Qs+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ke,e[138377]=0,e[138376]=Qs,Tg=Dr+28|0,e[Tg>>2]=7,cA=Dr+32|0,QE=cA>>>0>>0,QE)for(Di=Tg;Ng=Di+4|0,e[Ng>>2]=7,yE=Di+8|0,wE=yE>>>0>>0,wE;)Di=Ng;if(vE=(Dr|0)==(P9|0),!vE){if(kE=Dr,SE=P9,_i=kE-SE|0,DE=e[Qn>>2]|0,_E=DE&-2,e[Qn>>2]=_E,xE=_i|1,Gg=P9+4|0,e[Gg>>2]=xE,e[Dr>>2]=_i,Ci=_i>>>3,gA=_i>>>0<256,gA){za=Ci<<1,Ug=553088+(za<<2)|0,Pg=e[138262]|0,Og=1<>2]|0,ME=e[138266]|0,TE=Yg>>>0>>0,TE?Q2():(x=Hg,Wa=Yg)),e[x>>2]=P9,Jg=Wa+12|0,e[Jg>>2]=P9,NE=P9+8|0,e[NE>>2]=Wa,hA=P9+12|0,e[hA>>2]=Ug;break}if(uA=_i>>>8,GE=(uA|0)==0,GE?or=0:(Za=_i>>>0>16777215,Za?or=31:(UE=uA+1048320|0,PE=UE>>>16,Vg=PE&8,vs=uA<>>16,l2=qE&4,r2=l2|Vg,a2=vs<>>16,f2=s2&2,t2=r2|f2,y2=14-t2|0,k2=a2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=_i>>>N2,K2=d2&1,G2=K2|D2,or=G2)),H2=553352+(or<<2)|0,M2=P9+28|0,e[M2>>2]=or,P2=P9+20|0,e[P2>>2]=0,e[Ha>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=H2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}f5=e[H2>>2]|0,k5=f5+4|0,P5=e[k5>>2]|0,v2=P5&-8,m5=(v2|0)==(_i|0);t:do if(m5)mA=f5;else{for(n5=(or|0)==31,x2=or>>>1,_2=25-x2|0,p2=n5?0:_2,C5=_i<>>31,c5=(o$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,p5=(D5|0)==0,p5){a=c5,Zg=o$;break}if(R5=i$<<1,d5=D5+4|0,_5=e[d5>>2]|0,q2=_5&-8,I5=(q2|0)==(_i|0),I5){mA=D5;break t}else i$=R5,o$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Zg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(B5=mA+8|0,t5=e[B5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,WE=mA>>>0>=s5>>>0,J2=h5&WE,J2){u5=t5+12|0,e[u5>>2]=P9,e[B5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,x5=P9+12|0,e[x5>>2]=mA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(L2=e[138265]|0,Q5=L2>>>0>k4>>>0,Q5)return q5=L2-k4|0,e[138265]=q5,j5=e[138268]|0,E5=j5+k4|0,e[138268]=E5,f3=q5|1,V=k4+4|0,h3=j5+V|0,e[h3>>2]=f3,Y5=k4|3,X5=j5+4|0,e[X5>>2]=Y5,n3=j5+8|0,Ke=n3,Ke|0}return F5=JB()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0;if(xe=C,X=(t|0)==0,!X){U=t+-8|0,K2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,x4=(z9|0)==1,x4&&Q2(),q9=$9&-8,B=q9+-8|0,Z9=t+B|0,l0=$9&1,j=(l0|0)==0;do if(j){if(b0=e[U>>2]|0,_0=(z9|0)==0,_0)return;if(Q=-8-b0|0,D0=t+Q|0,Z0=b0+q9|0,w1=D0>>>0>>0,w1&&Q2(),O1=e[138267]|0,o2=(D0|0)==(O1|0),o2){if(z=q9+-4|0,s0=t+z|0,i0=e[s0>>2]|0,r0=i0&3,V=(r0|0)==3,!V){J3=D0,w9=Z0;break}e[138264]=Z0,h0=i0&-2,e[s0>>2]=h0,o0=Z0|1,_=Q+4|0,g0=t+_|0,e[g0>>2]=o0,e[Z9>>2]=Z0;return}if(s2=b0>>>3,G2=b0>>>0<256,G2){if(Y=Q+8|0,b5=t+Y|0,p2=e[b5>>2]|0,t0=Q+12|0,p5=t+t0|0,J2=e[p5>>2]|0,f3=s2<<1,z3=553088+(f3<<2)|0,C3=(p2|0)==(z3|0),C3||(u6=p2>>>0>>0,u6&&Q2(),l6=p2+12|0,b3=e[l6>>2]|0,O6=(b3|0)==(D0|0),O6||Q2()),J6=(J2|0)==(p2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,M3=(F6|0)==(D0|0),M3?g=z6:Q2()),M6=p2+12|0,e[M6>>2]=J2,e[g>>2]=p2,J3=D0,w9=Z0;break}L=Q+24|0,t9=t+L|0,A9=e[t9>>2]|0,x=Q+12|0,X6=t+x|0,u9=e[X6>>2]|0,f9=(u9|0)==(D0|0);do if(f9){if(M=Q+20|0,o4=t+M|0,h4=e[o4>>2]|0,G9=(h4|0)==0,G9)if(F=Q+16|0,b9=t+F|0,E9=e[b9>>2]|0,q6=(E9|0)==0,q6){C9=0;break}else R4=E9,Be=b9;else R4=h4,Be=o4;for(;;){if(r9=R4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){R4=m4,Be=r9;continue}if(A4=R4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){ge=R4,B4=Be;break}else R4=y9,Be=A4}if(D4=B4>>>0>>0,D4)Q2();else{e[B4>>2]=0,C9=ge;break}}else if(O=Q+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(D0|0),i9||Q2(),N9=u9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(D0|0),E4){e[E6>>2]=u9,e[N9>>2]=a9,C9=u9;break}else Q2();while(!1);if(M4=(A9|0)==0,M4)J3=D0,w9=Z0;else{if(T=Q+28|0,j4=t+T|0,C4=e[j4>>2]|0,T4=553352+(C4<<2)|0,U9=e[T4>>2]|0,N4=(D0|0)==(U9|0),N4){if(e[T4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,pe&&Q2(),Ne=A9+16|0,Xe=e[Ne>>2]|0,G4=(Xe|0)==(D0|0),G4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),U4=(C9|0)==0,U4){J3=D0,w9=Z0;break}X4=e[138266]|0,be=C9>>>0>>0,be&&Q2(),e8=C9+24|0,e[e8>>2]=A9,N=Q+16|0,ae=t+N|0,f4=e[ae>>2]|0,_6=(f4|0)==0;do if(!_6)if(P4=f4>>>0>>0,P4)Q2();else{R9=C9+16|0,e[R9>>2]=f4,$4=f4+24|0,e[$4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,$e=e[_4>>2]|0,W9=($e|0)==0,W9)J3=D0,w9=Z0;else if(le=e[138266]|0,Z=$e>>>0>>0,Z)Q2();else{K=C9+20|0,e[K>>2]=$e,$0=$e+24|0,e[$0>>2]=C9,J3=D0,w9=Z0;break}}}else J3=U,w9=q9;while(!1);if(c0=J3>>>0>>0,c0||Q2(),D=q9+-4|0,u0=t+D|0,I0=e[u0>>2]|0,w0=I0&1,C0=(w0|0)==0,C0&&Q2(),v0=I0&2,d0=(v0|0)==0,d0){if(p0=e[138268]|0,B0=(Z9|0)==(p0|0),B0){if(E0=e[138265]|0,K0=E0+w9|0,e[138265]=K0,e[138268]=J3,x0=K0|1,Q0=J3+4|0,e[Q0>>2]=x0,M0=e[138267]|0,T0=(J3|0)==(M0|0),!T0)return;e[138267]=0,e[138264]=0;return}if(G0=e[138267]|0,P0=(Z9|0)==(G0|0),P0){y0=e[138264]|0,Y0=y0+w9|0,e[138264]=Y0,e[138267]=J3,F0=Y0|1,N0=J3+4|0,e[N0>>2]=F0,V0=J3+Y0|0,e[V0>>2]=Y0;return}J0=I0&-8,O0=J0+w9|0,z0=I0>>>3,U0=I0>>>0<256;do if(U0){if(q0=t+q9|0,r1=e[q0>>2]|0,y=q9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(u1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){o1=1<>>0>>0,p1&&Q2(),B1=e1+8|0,Q1=e[B1>>2]|0,x1=(Q1|0)==(Z9|0),x1?a=B1:Q2()),L1=r1+12|0,e[L1>>2]=e1,e[a>>2]=r1}else{J=q9+16|0,b1=t+J|0,R1=e[b1>>2]|0,W=q9|4,F1=t+W|0,G1=e[F1>>2]|0,v1=(G1|0)==(Z9|0);do if(v1){if(q=q9+12|0,W1=t+q|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=q9+8|0,z1=t+e0|0,u2=e[z1>>2]|0,E2=(u2|0)==0,E2){l4=0;break}else g6=u2,c4=z1;else g6=P1,c4=W1;for(;;){if(A2=g6+20|0,K1=e[A2>>2]|0,h2=(K1|0)==0,!h2){g6=K1,c4=A2;continue}if($2=g6+16|0,i2=e[$2>>2]|0,l2=(i2|0)==0,l2){Ue=g6,P6=c4;break}else g6=i2,c4=$2}if(r2=e[138266]|0,a2=P6>>>0>>0,a2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+q9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,_1=Z1>>>0>>0,_1&&Q2(),V1=Z1+12|0,q1=e[V1>>2]|0,H1=(q1|0)==(Z9|0),H1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,n2=(j1|0)==(Z9|0),n2){e[V1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(R1|0)==0,!X1){if(S=q9+20|0,f2=t+S|0,t2=e[f2>>2]|0,y2=553352+(t2<<2)|0,k2=e[y2>>2]|0,w2=(Z9|0)==(k2|0),w2){if(e[y2>>2]=l4,v4=(l4|0)==0,v4){C2=1<>>0>>0,H2&&Q2(),M2=R1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=R1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),L5=l4+24|0,e[L5>>2]=R1,b=q9+8|0,e5=t+b|0,Z2=e[e5>>2]|0,f5=(Z2|0)==0;do if(!f5)if(k5=Z2>>>0>>0,k5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(v=q9+12|0,v2=t+v|0,m5=e[v2>>2]|0,n5=(m5|0)==0,!n5)if(x2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,R5=m5+24|0,e[R5>>2]=l4;break}}}while(!1);if(d5=O0|1,D5=J3+4|0,e[D5>>2]=d5,G5=J3+O0|0,e[G5>>2]=O0,_5=e[138267]|0,q2=(J3|0)==(_5|0),q2){e[138264]=O0;return}else p9=O0}else I5=I0&-2,e[u0>>2]=I5,A5=w9|1,c5=J3+4|0,e[c5>>2]=A5,M1=J3+w9|0,e[M1>>2]=w9,p9=w9;if(S5=p9>>>3,g5=p9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,B5=1<>2]|0,x5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(u=u5,ce=i5)),e[u>>2]=J3,$5=ce+12|0,e[$5>>2]=J3,L2=J3+8|0,e[L2>>2]=ce,Q5=J3+12|0,e[Q5>>2]=W2;return}q5=p9>>>8,j5=(q5|0)==0,j5?p4=0:(E5=p9>>>0>16777215,E5?p4=31:(h3=q5+1048320|0,Y5=h3>>>16,X5=Y5&8,n3=q5<>>16,J5=F5&4,v3=J5|X5,u3=n3<>>16,z5=G3&2,w3=v3|z5,W5=14-w3|0,i6=u3<>>15,U3=W5+L3|0,a3=U3<<1,l3=U3+7|0,c3=p9>>>l3,H5=c3&1,U5=H5|a3,p4=U5)),O5=553352+(p4<<2)|0,v5=J3+28|0,e[v5>>2]=p4,P3=J3+16|0,M5=J3+20|0,e[M5>>2]=0,e[P3>>2]=0,o6=e[138263]|0,e3=1<>2]=J3,k3=J3+24|0,e[k3>>2]=O5,y3=J3+12|0,e[y3>>2]=J3,r6=J3+8|0,e[r6>>2]=J3;else{j3=e[O5>>2]|0,O3=j3+4|0,V5=e[O3>>2]|0,S3=V5&-8,g3=(S3|0)==(p9|0);t:do if(g3)De=j3;else{for(q3=(p4|0)==31,d3=p4>>>1,v6=25-d3|0,k6=q3?0:v6,S6=p9<>>31,t6=(_e+16|0)+(e6<<2)|0,c6=e[t6>>2]|0,f6=(c6|0)==0,f6){n=t6,t8=_e;break}if(p6=ee<<1,X3=c6+4|0,B6=e[X3>>2]|0,x6=B6&-8,Y6=(x6|0)==(p9|0),Y6){De=c6;break t}else ee=p6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

>>0,D3)Q2();else{e[n>>2]=J3,Y3=J3+24|0,e[Y3>>2]=t8,Z3=J3+12|0,e[Z3>>2]=J3,b6=J3+8|0,e[b6>>2]=J3;break e}}while(!1);if(A6=De+8|0,t3=e[A6>>2]|0,s3=e[138266]|0,a6=t3>>>0>=s3>>>0,u8=De>>>0>=s3>>>0,d6=a6&u8,d6){_3=t3+12|0,e[_3>>2]=J3,e[A6>>2]=J3,N6=J3+8|0,e[N6>>2]=t3,n6=J3+12|0,e[n6>>2]=De,Q6=J3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(L6=e[138270]|0,K6=L6+-1|0,e[138270]=K6,I6=(K6|0)==0,I6)te=553504;else return;for(;F4=e[te>>2]|0,F3=(F4|0)==0,j6=F4+8|0,!F3;)te=j6;e[138270]=-1}}function n4(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0;return _=C,a=(t|0)==0,a?D=0:(g=r5(n,t)|0,I=n|t,m=I>>>0>65535,m?(B=(g>>>0)/(t>>>0)&-1,p=(B|0)==(n|0),A=p?g:-1,D=A):D=g),S=S9(D)|0,b=(S|0)==0,b||(v=S+-4|0,y=e[v>>2]|0,u=y&3,E=(u|0)==0,E)||Ae(S|0,0,D|0)|0,S|0}function qi(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=(t|0)==0,A?(a=S9(n)|0,O=a,O|0):(y=n>>>0>4294967231,y?(L=JB()|0,e[L>>2]=12,O=0,O|0):(x=n>>>0<11,F=n+11|0,M=F&-8,T=x?16:M,N=t+-8|0,G=Bb(N,T)|0,g=(G|0)==0,g?(E=S9(n)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,B=e[m>>2]|0,p=B&-8,S=B&3,b=(S|0)==0,v=b?8:4,D=p-v|0,Q=D>>>0>>0,_=Q?D:n,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(u=G+8|0,O=u,O|0)))}function Bb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0;if(J5=C,N=t+4|0,G=e[N>>2]|0,v1=G&-8,n2=t+v1|0,$2=e[138266]|0,w2=G&3,f3=t>>>0>=$2>>>0,h3=(w2|0)!=1,Y5=h3&f3,z2=t>>>0>>0,X5=Y5&z2,X5||Q2(),_=v1|4,P5=t+_|0,D5=e[P5>>2]|0,a5=D5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return c0=n>>>0<256,c0?(E5=0,E5|0):(K0=n+4|0,N0=v1>>>0>>0,!N0&&(i1=v1-n|0,I1=e[138382]|0,b1=I1<<1,F1=i1>>>0>b1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=v1>>>0>>0,!G1)return U1=v1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,_1=G&1,V1=_1|n,O1=V1|2,e[N>>2]=O1,Q=n+4|0,q1=t+Q|0,H1=U1|3,e[q1>>2]=H1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,QQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(n2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+v1|0,u2=z1>>>0>n>>>0,u2?(o2=z1-n|0,E2=t+n|0,A2=G&1,K1=A2|n,h2=K1|2,e[N>>2]=h2,D=n+4|0,i2=t+D|0,l2=o2|1,e[i2>>2]=l2,e[138268]=E2,e[138265]=o2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,a2=(n2|0)==(r2|0),a2)return X1=e[138264]|0,s2=X1+v1|0,f2=s2>>>0>>0,f2?(E5=0,E5|0):(t2=s2-n|0,y2=t2>>>0>15,y2?(k2=t+n|0,C2=t+s2|0,F2=G&1,D2=F2|n,N2=D2|2,e[N>>2]=N2,b=n+4|0,d2=t+b|0,K2=t2|1,e[d2>>2]=K2,e[C2>>2]=t2,y=s2+4|0,G2=t+y|0,H2=e[G2>>2]|0,M2=H2&-2,e[G2>>2]=M2,n3=k2,m3=t2):(P2=G&1,o5=P2|s2,O2=o5|2,e[N>>2]=O2,S=s2+4|0,T1=t+S|0,X2=e[T1>>2]|0,L5=X2|1,e[T1>>2]=L5,n3=0,m3=0),e[138264]=m3,e[138267]=n3,E5=t,E5|0);if(e5=D5&2,b5=(e5|0)==0,!b5||(Z2=D5&-8,f5=Z2+v1|0,k5=f5>>>0>>0,k5))return E5=0,E5|0;l5=f5-n|0,v2=D5>>>3,m5=D5>>>0<256;do if(m5){if(B=v1+8|0,n5=t+B|0,x2=e[n5>>2]|0,p=v1+12|0,_2=t+p|0,p2=e[_2>>2]|0,C5=v2<<1,R5=553088+(C5<<2)|0,d5=(x2|0)==(R5|0),d5||(G5=x2>>>0<$2>>>0,G5&&Q2(),_5=x2+12|0,q2=e[_5>>2]|0,I5=(q2|0)==(n2|0),I5||Q2()),A5=(p2|0)==(x2|0),A5){c5=1<>>0<$2>>>0,W2&&Q2(),g2=p2+8|0,B5=e[g2>>2]|0,t5=(B5|0)==(n2|0),t5?a=g2:Q2()),s5=x2+12|0,e[s5>>2]=p2,e[a>>2]=x2}else{g=v1+24|0,h5=t+g|0,J2=e[h5>>2]|0,v=v1+12|0,u5=t+v|0,i5=e[u5>>2]|0,x5=(i5|0)==(n2|0);do if(x5){if(x=v1+20|0,l0=t+x|0,K=e[l0>>2]|0,$0=(K|0)==0,$0)if(L=v1+16|0,s0=t+L|0,i0=e[s0>>2]|0,r0=(i0|0)==0,r0){L2=0;break}else j2=i0,Q5=s0;else j2=K,Q5=l0;for(;;){if(V=j2+20|0,h0=e[V>>2]|0,o0=(h0|0)==0,!o0){j2=h0,Q5=V;continue}if(g0=j2+16|0,j=e[g0>>2]|0,u0=(j|0)==0,u0){$5=j2,q5=Q5;break}else j2=j,Q5=g0}if(I0=q5>>>0<$2>>>0,I0)Q2();else{e[q5>>2]=0,L2=$5;break}}else if(m=v1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0<$2>>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(n2|0),e0||Q2(),q=i5+8|0,X=e[q>>2]|0,U=(X|0)==(n2|0),U){e[J>>2]=i5,e[q>>2]=Y,L2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(u=v1+28|0,C0=t+u|0,v0=e[C0>>2]|0,d0=553352+(v0<<2)|0,p0=e[d0>>2]|0,B0=(n2|0)==(p0|0),B0){if(e[d0>>2]=L2,j5=(L2|0)==0,j5){E0=1<>>0>>0,T0&&Q2(),G0=J2+16|0,P0=e[G0>>2]|0,y0=(P0|0)==(n2|0),y0?e[G0>>2]=L2:(Y0=J2+20|0,e[Y0>>2]=L2),F0=(L2|0)==0,F0)break;_0=e[138266]|0,V0=L2>>>0<_0>>>0,V0&&Q2(),J0=L2+24|0,e[J0>>2]=J2,E=v1+16|0,O0=t+E|0,z0=e[O0>>2]|0,U0=(z0|0)==0;do if(!U0)if(q0=z0>>>0<_0>>>0,q0)Q2();else{r1=L2+16|0,e[r1>>2]=z0,H0=z0+24|0,e[H0>>2]=L2;break}while(!1);if(I=v1+20|0,e1=t+I|0,D0=e[e1>>2]|0,c1=(D0|0)==0,!c1)if($1=e[138266]|0,u1=D0>>>0<$1>>>0,u1)Q2();else{g1=L2+20|0,e[g1>>2]=D0,l1=D0+24|0,e[l1>>2]=L2;break}}}while(!1);return s1=l5>>>0<16,s1?(a1=G&1,n1=f5|a1,o1=n1|2,e[N>>2]=o1,T=f5|4,Z0=t+T|0,h1=e[Z0>>2]|0,m1=h1|1,e[Z0>>2]=m1,E5=t,E5|0):(d1=t+n|0,E1=G&1,p1=E1|n,B1=p1|2,e[N>>2]=B1,F=n+4|0,Q1=t+F|0,x1=l5|3,e[Q1>>2]=x1,M=f5|4,L1=t+M|0,w1=e[L1>>2]|0,R1=w1|1,e[L1>>2]=R1,QQ(d1,l5),E5=t,E5|0)}function QQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0;B4=C,K=t+n|0,$0=t+4|0,P2=e[$0>>2]|0,f6=P2&1,J6=(f6|0)==0;do if(J6){if(F6=e[t>>2]|0,T9=P2&3,b9=(T9|0)==0,b9)return;if(M4=0-F6|0,m9=t+M4|0,s0=F6+n|0,w0=e[138266]|0,M0=m9>>>0>>0,M0&&Q2(),O0=e[138267]|0,u1=(m9|0)==(O0|0),u1){if(v=n+4|0,Z9=t+v|0,i0=e[Z9>>2]|0,r0=i0&3,V=(r0|0)==3,!V){A=m9,a=s0;break}e[138264]=s0,h0=i0&-2,e[Z9>>2]=h0,o0=s0|1,x=4-F6|0,g0=t+x|0,e[g0>>2]=o0,e[K>>2]=s0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,k2=t+W|0,z2=e[k2>>2]|0,P5=d1<<1,D5=553088+(P5<<2)|0,a5=(h2|0)==(D5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),n3=h2+12|0,W5=e[n3>>2]|0,v5=(W5|0)==(m9|0),v5||Q2()),r6=(z2|0)==(h2|0),r6){S6=1<>>0>>0,N6&&Q2(),n6=z2+8|0,Q6=e[n6>>2]|0,L6=(Q6|0)==(m9|0),L6?m=n6:Q2()),K6=h2+12|0,e[K6>>2]=z2,e[m>>2]=h2,A=m9,a=s0;break}F=24-F6|0,I6=t+F|0,F3=e[I6>>2]|0,M=12-F6|0,j6=t+M|0,G6=e[j6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,A9=t+N|0,X6=e[A9>>2]|0,u9=(X6|0)==0,u9)if(f9=t+T|0,d9=e[f9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else P4=d9,le=f9;else P4=X6,le=A9;for(;;){if($9=P4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){P4=E6,le=$9;continue}if(i9=P4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){R9=P4,ce=le;break}else P4=N9,le=i9}if(E4=ce>>>0>>0,E4)Q2();else{e[ce>>2]=0,$4=R9;break}}else if(t0=8-F6|0,s9=t+t0|0,R6=e[s9>>2]|0,U6=R6>>>0>>0,U6&&Q2(),D6=R6+12|0,z6=e[D6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),M3=G6+8|0,M6=e[M3>>2]|0,t9=(M6|0)==(m9|0),t9){e[D6>>2]=G6,e[M3>>2]=R6,$4=G6;break}else Q2();while(!1);if(o4=(F3|0)==0,o4)A=m9,a=s0;else{if(O=28-F6|0,h4=t+O|0,G9=e[h4>>2]|0,z9=553352+(G9<<2)|0,E9=e[z9>>2]|0,q6=(m9|0)==(E9|0),q6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){r9=1<>>0>>0,b4&&Q2(),D4=F3+16|0,x4=e[D4>>2]|0,j4=(x4|0)==(m9|0),j4?e[D4>>2]=$4:(C4=F3+20|0,e[C4>>2]=$4),T4=($4|0)==0,T4){A=m9,a=s0;break}U9=e[138266]|0,N4=$4>>>0>>0,N4&&Q2(),a4=$4+24|0,e[a4>>2]=F3,z=16-F6|0,L4=t+z|0,u4=e[L4>>2]|0,Ce=(u4|0)==0;do if(!Ce)if(q9=u4>>>0>>0,q9)Q2();else{pe=$4+16|0,e[pe>>2]=u4,Ne=u4+24|0,e[Ne>>2]=$4;break}while(!1);if(Y=z+4|0,Xe=t+Y|0,G4=e[Xe>>2]|0,Ge=(G4|0)==0,Ge)A=m9,a=s0;else if(U4=e[138266]|0,X4=G4>>>0>>0,X4)Q2();else{be=$4+20|0,e[be>>2]=G4,e8=G4+24|0,e[e8>>2]=$4,A=m9,a=s0;break}}}else A=t,a=n;while(!1);if(j=e[138266]|0,c0=K>>>0>>0,c0&&Q2(),y=n+4|0,u0=t+y|0,I0=e[u0>>2]|0,C0=I0&2,v0=(C0|0)==0,v0){if(d0=e[138268]|0,p0=(K|0)==(d0|0),p0){if(B0=e[138265]|0,E0=B0+a|0,e[138265]=E0,e[138268]=A,b0=E0|1,K0=A+4|0,e[K0>>2]=b0,x0=e[138267]|0,Q0=(A|0)==(x0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(T0=e[138267]|0,G0=(K|0)==(T0|0),G0){P0=e[138264]|0,y0=P0+a|0,e[138264]=y0,e[138267]=A,Y0=y0|1,F0=A+4|0,e[F0>>2]=Y0,_0=A+y0|0,e[_0>>2]=y0;return}N0=I0&-8,V0=N0+a|0,J0=I0>>>3,z0=I0>>>0<256;do if(z0){if(_=n+8|0,U0=t+_|0,q0=e[U0>>2]|0,L=n+12|0,r1=t+L|0,H0=e[r1>>2]|0,e1=J0<<1,D0=553088+(e1<<2)|0,i1=(q0|0)==(D0|0),i1||(c1=q0>>>0>>0,c1&&Q2(),$1=q0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(K|0),l1||Q2()),s1=(H0|0)==(q0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=H0+8|0,E1=e[m1>>2]|0,p1=(E1|0)==(K|0),p1?I=m1:Q2()),B1=q0+12|0,e[B1>>2]=H0,e[I>>2]=q0}else{G=n+24|0,Q1=t+G|0,x1=e[Q1>>2]|0,e0=n+12|0,L1=t+e0|0,w1=e[L1>>2]|0,b1=(w1|0)==(K|0);do if(b1){if(X=n+20|0,q1=t+X|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,Y1)if(q=n+16|0,n2=t+q|0,W1=e[n2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,p4=n2;else _4=H1,p4=q1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,u2=(z1|0)==0,!u2){_4=z1,p4=c2;continue}if(o2=_4+16|0,E2=e[o2>>2]|0,A2=(E2|0)==0,A2){$e=_4,ee=p4;break}else _4=E2,p4=o2}if(K1=ee>>>0>>0,K1)Q2();else{e[ee>>2]=0,W9=$e;break}}else if(Q=n+8|0,R1=t+Q|0,F1=e[R1>>2]|0,v1=F1>>>0>>0,v1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(K|0),N1||Q2(),_1=w1+8|0,V1=e[_1>>2]|0,O1=(V1|0)==(K|0),O1){e[U1>>2]=w1,e[_1>>2]=F1,W9=w1;break}else Q2();while(!1);if($2=(x1|0)==0,!$2){if(l0=n+28|0,i2=t+l0|0,l2=e[i2>>2]|0,r2=553352+(l2<<2)|0,a2=e[r2>>2]|0,X1=(K|0)==(a2|0),X1){if(e[r2>>2]=W9,Ue=(W9|0)==0,Ue){s2=1<>>0>>0,C2&&Q2(),F2=x1+16|0,D2=e[F2>>2]|0,N2=(D2|0)==(K|0),N2?e[F2>>2]=W9:(d2=x1+20|0,e[d2>>2]=W9),K2=(W9|0)==0,K2)break;G2=e[138266]|0,H2=W9>>>0>>0,H2&&Q2(),M2=W9+24|0,e[M2>>2]=x1,Z=n+16|0,o5=t+Z|0,O2=e[o5>>2]|0,T1=(O2|0)==0;do if(!T1)if(X2=O2>>>0>>0,X2)Q2();else{L5=W9+16|0,e[L5>>2]=O2,e5=O2+24|0,e[e5>>2]=W9;break}while(!1);if(D=n+20|0,b5=t+D|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,!f5)if(k5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{v2=W9+20|0,e[v2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(n5=V0|1,x2=A+4|0,e[x2>>2]=n5,_2=A+V0|0,e[_2>>2]=V0,p2=e[138267]|0,C5=(A|0)==(p2|0),C5){e[138264]=V0;return}else g=V0}else R5=I0&-2,e[u0>>2]=R5,d5=a|1,G5=A+4|0,e[G5>>2]=d5,_5=A+a|0,e[_5>>2]=a,g=a;if(q2=g>>>3,I5=g>>>0<256,I5){A5=q2<<1,c5=553088+(A5<<2)|0,p5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=B5>>>0>>0,s5?Q2():(B=g2,ae=B5)),e[B>>2]=A,h5=ae+12|0,e[h5>>2]=A,J2=A+8|0,e[J2>>2]=ae,u5=A+12|0,e[u5>>2]=c5;return}if(i5=g>>>8,x5=(i5|0)==0,x5?f4=0:($5=g>>>0>16777215,$5?f4=31:(L2=i5+1048320|0,Q5=L2>>>16,q5=Q5&8,j5=i5<>>16,h3=f3&4,Y5=h3|q5,X5=j5<>>16,J5=F5&2,v3=Y5|J5,u3=14-v3|0,B3=X5<>>15,G3=u3+z3|0,z5=G3<<1,w3=G3+7|0,i6=g>>>w3,L3=i6&1,U3=L3|z5,f4=U3)),a3=553352+(f4<<2)|0,l3=A+28|0,e[l3>>2]=f4,c3=A+16|0,C3=A+20|0,e[C3>>2]=0,e[c3>>2]=0,H5=e[138263]|0,U5=1<>2]=A,o6=A+24|0,e[o6>>2]=a3,e3=A+12|0,e[e3>>2]=A,A3=A+8|0,e[A3>>2]=A;return}R3=e[a3>>2]|0,u6=R3+4|0,Q3=e[u6>>2]|0,k3=Q3&-8,y3=(k3|0)==(g|0);e:do if(y3)R4=R3;else{for(j3=(f4|0)==31,O3=f4>>>1,V5=25-O3|0,S3=j3?0:V5,g3=g<>>31,c6=(ge+16|0)+(X3<<2)|0,d3=e[c6>>2]|0,B6=(d3|0)==0,B6){u=c6,C9=ge;break}if(q3=_6<<1,l6=d3+4|0,v6=e[l6>>2]|0,k6=v6&-8,p6=(k6|0)==(g|0),p6){R4=d3;break e}else _6=q3,ge=d3}x6=e[138266]|0,Y6=u>>>0>>0,Y6&&Q2(),e[u>>2]=A,C6=A+24|0,e[C6>>2]=C9,b3=A+12|0,e[b3>>2]=A,e6=A+8|0,e[e6>>2]=A;return}while(!1);t6=R4+8|0,D3=e[t6>>2]|0,Y3=e[138266]|0,Z3=D3>>>0>=Y3>>>0,l4=R4>>>0>=Y3>>>0,b6=Z3&l4,b6||Q2(),A6=D3+12|0,e[A6>>2]=A,e[t6>>2]=A,t3=A+8|0,e[t3>>2]=D3,O6=A+12|0,e[O6>>2]=R4,s3=A+24|0,e[s3>>2]=0}function Qb(){e[6410]=O9}function Ae(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0;if(a=t+A|0,(A|0)>=20){if(n=n&255,E=t&3,g=n|n<<8|n<<16|n<<24,u=a&-4,E)for(E=t+4-E|0;(t|0)<(E|0);)d[t>>0]=n,t=t+1|0;for(;(t|0)<(u|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=n,t=t+1|0;return t-A|0}function j$(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function yQ(t,n){t=t|0,n=n|0;var A=0,a=0;a=t+(j$(t)|0)|0;do d[a+A>>0]=d[n+A>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function wQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>32-A,t<>>0,u=n+a+(g>>>0>>0|0)>>>0,H6=u,g|0|0}function js(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>A,t>>>A|(n&a)<<32-A):(H6=0,n>>>A-32|0)}function s4(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((A|0)>=4096)return Lk(t|0,n|0,A|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(A|0))return a|0;d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[n>>2]|0,t=t+4|0,n=n+4|0,A=A-4|0}for(;(A|0)>0;)d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0;return a|0}function XA(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((n|0)<(t|0)&(t|0)<(n+A|0)){for(a=t,n=n+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,n=n-1|0,A=A-1|0,d[t>>0]=d[n>>0]|0;t=a}else s4(t,n,A)|0;return t|0}function dp(t,n){t=t|0,n=n|0;var A=0;do d[(t+A|0)>>0]=d[(n+A|0)>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function Xs(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0;return g=t-A>>>0,u=n-a>>>0,u=n-a-(A>>>0>t>>>0|0)>>>0,H6=u,g|0|0}function qD(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>A,t>>>A|(n&a)<<32-A):(H6=(n|0)<0?-1:0,n>>A-32|0)}function vQ(t){t=t|0;var n=0;return n=d[x9+(t&255)>>0]|0,(n|0)<8?n|0:(n=d[x9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=d[x9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(d[x9+(t>>>24)>>0]|0)+24|0))}function yb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0;return A=t&65535,a=n&65535,g=r5(a,A)|0,u=t>>>16,E=(g>>>16)+(r5(a,u)|0)|0,I=n>>>16,m=r5(I,A)|0,H6=((E>>>16)+(r5(I,u)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|g&65535)|0}function HD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0;return g=n>>31|((n|0)<0?-1:0)<<1,u=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,E=a>>31|((a|0)<0?-1:0)<<1,I=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,m=Xs(g^t,u^n,g,u)|0,B=H6,p=Xs(E^A,I^a,E,I)|0,S=E^g,b=I^u,v=rC(m,B,p,H6,0)|0,y=Xs(v^S,H6^b,S,b)|0,y|0}function YD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0;return y=C,C=C+8|0,g=y|0,u=n>>31|((n|0)<0?-1:0)<<1,E=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,I=a>>31|((a|0)<0?-1:0)<<1,m=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,B=Xs(u^t,E^n,u,E)|0,p=H6,S=Xs(I^A,m^a,I,m)|0,rC(B,p,S,H6,g)|0,b=Xs(e[g>>2]^u,e[g+4>>2]^E,u,E)|0,v=H6,C=y,H6=v,b|0}function wb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0;return g=t,u=A,E=yb(g,u)|0,I=H6,m=r5(n,u)|0,H6=((r5(a,g)|0)+m|0)+I|I&0,0|E&-1|0}function JD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0;return g=rC(t,n,A,a,0)|0,g|0}function VD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0;return u=C,C=C+8|0,g=u|0,rC(t,n,A,a,g)|0,C=u,H6=e[g+4>>2]|0,e[g>>2]|0|0}function rC(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,v=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0;if(u=t,E=n,I=E,m=A,B=a,p=B,!(I|0))return S=(g|0)!=0,p|0?S?(e[g>>2]=t&-1,e[g+4>>2]=n&0,_0=0,F0=0,H6=_0,F0|0):(_0=0,F0=0,H6=_0,F0|0):(S&&(e[g>>2]=(u>>>0)%(m>>>0),e[g+4>>2]=0),_0=0,F0=(u>>>0)/(m>>>0)>>>0,H6=_0,F0|0);b=(p|0)==0;do if(m|0){if(!b){if(Y=Zs(p|0)|0,t0=Y-(Zs(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,l0=u>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,q=u<>2]=0|t&-1,e[g+4>>2]=E|n&0,_0=0,F0=0,H6=_0,F0|0):(_0=0,F0=0,H6=_0,F0|0)}if(L=m-1|0,L&m|0){F=(Zs(m|0)|0)+33|0,M=F-(Zs(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,l0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=u<>>(O>>>0))&G|u<>31;break}return g|0&&(e[g>>2]=L&u,e[g+4>>2]=0),(m|0)==1?(_0=E|n&0,F0=0|t&-1,H6=_0,F0|0):(x=vQ(m|0)|0,_0=0|I>>>(x>>>0),F0=I<<32-x|u>>>(x>>>0)|0,H6=_0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(m>>>0),e[g+4>>2]=0),_0=0,F0=(I>>>0)/(m>>>0)>>>0,H6=_0,F0|0;if(!(u|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(p>>>0)),_0=0,F0=(I>>>0)/(p>>>0)>>>0,H6=_0,F0|0;if(v=p-1|0,!(v&p|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|n&0),_0=0,F0=I>>>((vQ(p|0)|0)>>>0),H6=_0,F0|0;if(y=Zs(p|0)|0,D=y-(Zs(I|0)|0)|0,D>>>0<=30){Q=D+1|0,_=31-D|0,Z=Q,l0=I<<_|u>>>(Q>>>0),U=I>>>(Q>>>0),X=0,q=u<<_;break}return g|0?(e[g>>2]=0|t&-1,e[g+4>>2]=E|n&0,_0=0,F0=0,H6=_0,F0|0):(_0=0,F0=0,H6=_0,F0|0)}while(!1);if(!(Z|0))G0=q,T0=X,M0=U,Q0=l0,x0=0,K0=0;else{for(K=0|A&-1,$0=B|a&0,s0=Ws(K|0,$0|0,-1,-1)|0,i0=H6,j=q,g0=X,o0=U,h0=l0,V=Z,r0=0;c0=g0>>>31|j<<1,u0=r0|g0<<1,I0=0|(h0<<1|j>>>31),w0=h0>>>31|o0<<1|0,Xs(s0,i0,I0,w0)|0,C0=H6,v0=C0>>31|((C0|0)<0?-1:0)<<1,d0=v0&1,p0=Xs(I0,w0,v0&K,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&$0)|0,B0=p0,E0=H6,b0=V-1|0,b0|0;)j=c0,g0=u0,o0=E0,h0=B0,V=b0,r0=d0;G0=c0,T0=u0,M0=E0,Q0=B0,x0=0,K0=d0}return P0=T0,y0=0,Y0=G0|y0,g|0&&(e[g>>2]=0|Q0,e[g+4>>2]=M0|0),_0=(0|P0)>>>31|Y0<<1|(y0<<1|P0>>>31)&0|x0,F0=(P0<<1|0)&-2|K0,H6=_0,F0|0}function vb(t,n,A,a,g){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,mp[t&3](n|0,A|0,a|0,g|0)|0}function kb(t,n){t=t|0,n=n|0,eo[t&7](n|0)}function Sb(t,n,A){t=t|0,n=n|0,A=A|0,Cp[t&3](n|0,A|0)}function bb(t,n){return t=t|0,n=n|0,bQ[t&1](n|0)|0}function Db(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0,DQ[t&1](n|0,A|0,a|0)}function _b(t,n,A,a,g,u,E,I,m){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0,_Q[t&3](n|0,A|0,a|0,g|0,u|0,E|0,I|0,m|0)|0}function xb(t,n,A){return t=t|0,n=n|0,A=A|0,f7[t&15](n|0,A|0)|0}function Lb(t,n,A,a,g,u){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,pp[t&7](n|0,A|0,a|0,g|0,u|0)|0}function Rb(t,n,A,a){return t=t|0,n=n|0,A=A|0,a=a|0,Wr(0),0}function Ip(t){t=t|0,Wr(1)}function kQ(t,n){t=t|0,n=n|0,Wr(2)}function Fb(t){return t=t|0,Wr(3),0}function Mb(t,n,A){t=t|0,n=n|0,A=A|0,Wr(4)}function SQ(t,n,A,a,g,u,E,I){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,Wr(5),0}function X$(t,n){return t=t|0,n=n|0,Wr(6),0}function Ep(t,n,A,a,g){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,Wr(7),0}var mp=[Rb,pS,sS,oS],eo=[Ip,ES,mS,_S,HS,YS,Ip,Ip],Cp=[kQ,fS,JS,kQ],bQ=[Fb,xS],DQ=[Mb,bS],_Q=[SQ,ZS,eb,SQ],f7=[X$,dS,IS,CS,DS,LS,VS,KS,BS,qS,ob,X$,X$,X$,X$,X$],pp=[Ep,zS,WS,jS,XS,tb,Ep,Ep];return{_memmove:XA,_strlen:j$,_strcat:yQ,_free:I2,_i64Add:Ws,_encoder_clear:ub,_encoder_transfer_data:Eb,_encoder_data_len:Ib,_memset:Ae,_malloc:S9,_memcpy:s4,_encoder_init:hb,_encoder_process:db,_bitshift64Lshr:js,_bitshift64Shl:wQ,_strcpy:dp,_encoder_analysis_buffer:fb,runPostSets:Qb,stackAlloc:Mk,stackSave:Tk,stackRestore:Nk,establishStackSpace:Gk,setThrew:Uk,setTempRet0:Pk,getTempRet0:Ok,dynCall_iiiii:vb,dynCall_vi:kb,dynCall_vii:Sb,dynCall_ii:bb,dynCall_viii:Db,dynCall_iiiiiiiii:_b,dynCall_iii:xb,dynCall_iiiiii:Lb}}(o.asmGlobalArg,o.asmLibraryArg,Mi),ED=o.runPostSets=V9.runPostSets,Ik=o._strlen=V9._strlen,Ek=o._strcat=V9._strcat,np=o._free=V9._free,mD=o._encoder_init=V9._encoder_init,mk=o._i64Add=V9._i64Add,Ck=o._memmove=V9._memmove,CD=o._encoder_transfer_data=V9._encoder_transfer_data,pD=o._encoder_process=V9._encoder_process,BD=o._encoder_data_len=V9._encoder_data_len,pk=o._memset=V9._memset,Dh=o._malloc=V9._malloc,Bk=o._memcpy=V9._memcpy,QD=o._encoder_clear=V9._encoder_clear,Qk=o._bitshift64Lshr=V9._bitshift64Lshr,yD=o._encoder_analysis_buffer=V9._encoder_analysis_buffer,yk=o._strcpy=V9._strcpy,wk=o._bitshift64Shl=V9._bitshift64Shl,wD=o.dynCall_iiiii=V9.dynCall_iiiii,vD=o.dynCall_vi=V9.dynCall_vi,kD=o.dynCall_vii=V9.dynCall_vii,SD=o.dynCall_ii=V9.dynCall_ii,bD=o.dynCall_viii=V9.dynCall_viii,DD=o.dynCall_iiiiiiiii=V9.dynCall_iiiiiiiii,_D=o.dynCall_iii=V9.dynCall_iii,xD=o.dynCall_iiiiii=V9.dynCall_iiiiii;R.stackAlloc=V9.stackAlloc,R.stackSave=V9.stackSave,R.stackRestore=V9.stackRestore,R.establishStackSpace=V9.establishStackSpace,R.setTempRet0=V9.setTempRet0,R.getTempRet0=V9.getTempRet0;var LD=function(){var i={math:{}};i.math.Long=function(H,S0){this.low_=H|0,this.high_=S0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(H){if(-128<=H&&H<128){var S0=i.math.Long.IntCache_[H];if(S0)return S0}var j0=new i.math.Long(H|0,H<0?-1:0);return-128<=H&&H<128&&(i.math.Long.IntCache_[H]=j0),j0},i.math.Long.fromNumber=function(H){return isNaN(H)||!isFinite(H)?i.math.Long.ZERO:H<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:H+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:H<0?i.math.Long.fromNumber(-H).negate():new i.math.Long(H%i.math.Long.TWO_PWR_32_DBL_|0,H/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(H,S0){return new i.math.Long(H,S0)},i.math.Long.fromString=function(H,S0){if(H.length==0)throw Error("number format error: empty string");var j0=S0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+H);for(var m2=i.math.Long.fromNumber(Math.pow(j0,8)),Z5=i.math.Long.ZERO,N5=0;N5=0?this.low_:i.math.Long.TWO_PWR_32_DBL_+this.low_},i.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(i.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var H=this.high_!=0?this.high_:this.low_,S0=31;S0>0&&!(H&1<0},i.math.Long.prototype.greaterThanOrEqual=function(H){return this.compare(H)>=0},i.math.Long.prototype.compare=function(H){if(this.equals(H))return 0;var S0=this.isNegative(),j0=H.isNegative();return S0&&!j0?-1:!S0&&j0?1:this.subtract(H).isNegative()?-1:1},i.math.Long.prototype.negate=function(){return this.equals(i.math.Long.MIN_VALUE)?i.math.Long.MIN_VALUE:this.not().add(i.math.Long.ONE)},i.math.Long.prototype.add=function(H){var S0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,L9=0,Z4=0,i7=0,Wi=0;return Wi+=Z5+M9,i7+=Wi>>>16,Wi&=65535,i7+=m2+Z6,Z4+=i7>>>16,i7&=65535,Z4+=j0+x3,L9+=Z4>>>16,Z4&=65535,L9+=S0+N5,L9&=65535,i.math.Long.fromBits(i7<<16|Wi,L9<<16|Z4)},i.math.Long.prototype.subtract=function(H){return this.add(H.negate())},i.math.Long.prototype.multiply=function(H){if(this.isZero())return i.math.Long.ZERO;if(H.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return H.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(H.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().multiply(H.negate()):this.negate().multiply(H).negate();if(H.isNegative())return this.multiply(H.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&H.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*H.toNumber());var S0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,L9=0,Z4=0,i7=0,Wi=0;return Wi+=Z5*M9,i7+=Wi>>>16,Wi&=65535,i7+=m2*M9,Z4+=i7>>>16,i7&=65535,i7+=Z5*Z6,Z4+=i7>>>16,i7&=65535,Z4+=j0*M9,L9+=Z4>>>16,Z4&=65535,Z4+=m2*Z6,L9+=Z4>>>16,Z4&=65535,Z4+=Z5*x3,L9+=Z4>>>16,Z4&=65535,L9+=S0*M9+j0*Z6+m2*x3+Z5*N5,L9&=65535,i.math.Long.fromBits(i7<<16|Wi,L9<<16|Z4)},i.math.Long.prototype.div=function(H){if(H.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(H.equals(i.math.Long.ONE)||H.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var S0=this.shiftRight(1),j0=S0.div(H).shiftLeft(1);if(j0.equals(i.math.Long.ZERO))return H.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(H.multiply(j0)),m2=j0.add(N5.div(H));return m2}else if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().div(H.negate()):this.negate().div(H).negate();if(H.isNegative())return this.div(H.negate()).negate();for(var Z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(H);){for(var j0=Math.max(1,Math.floor(N5.toNumber()/H.toNumber())),x3=Math.ceil(Math.log(j0)/Math.LN2),Z6=x3<=48?1:Math.pow(2,x3-48),M9=i.math.Long.fromNumber(j0),L9=M9.multiply(H);L9.isNegative()||L9.greaterThan(N5);)j0-=Z6,M9=i.math.Long.fromNumber(j0),L9=M9.multiply(H);M9.isZero()&&(M9=i.math.Long.ONE),Z5=Z5.add(M9),N5=N5.subtract(L9)}return Z5},i.math.Long.prototype.modulo=function(H){return this.subtract(this.div(H).multiply(H))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(H){return i.math.Long.fromBits(this.low_&H.low_,this.high_&H.high_)},i.math.Long.prototype.or=function(H){return i.math.Long.fromBits(this.low_|H.low_,this.high_|H.high_)},i.math.Long.prototype.xor=function(H){return i.math.Long.fromBits(this.low_^H.low_,this.high_^H.high_)},i.math.Long.prototype.shiftLeft=function(H){if(H&=63,H==0)return this;var S0=this.low_;if(H<32){var j0=this.high_;return i.math.Long.fromBits(S0<>>32-H)}else return i.math.Long.fromBits(0,S0<>>H|S0<<32-H,S0>>H)}else return i.math.Long.fromBits(S0>>H-32,S0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(H){if(H&=63,H==0)return this;var S0=this.high_;if(H<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>H|S0<<32-H,S0>>>H)}else return H==32?i.math.Long.fromBits(S0,0):i.math.Long.fromBits(S0>>>H-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(H,S0,j0){H!=null&&(typeof H=="number"?this.fromNumber(H,S0,j0):S0==null&&typeof H!="string"?this.fromString(H,256):this.fromString(H,S0))}function W0(){return new e(null)}function t1(H,S0,j0,m2,Z5,N5){for(;--N5>=0;){var x3=S0*this[H++]+j0[m2]+Z5;Z5=Math.floor(x3/67108864),j0[m2++]=x3&67108863}return Z5}function b2(H,S0,j0,m2,Z5,N5){for(var x3=S0&32767,Z6=S0>>15;--N5>=0;){var M9=this[H]&32767,L9=this[H++]>>15,Z4=Z6*M9+L9*x3;M9=x3*M9+((Z4&32767)<<15)+j0[m2]+(Z5&1073741823),Z5=(M9>>>30)+(Z4>>>15)+Z6*L9+(Z5>>>30),j0[m2++]=M9&1073741823}return Z5}function s(H,S0,j0,m2,Z5,N5){for(var x3=S0&16383,Z6=S0>>14;--N5>=0;){var M9=this[H]&16383,L9=this[H++]>>14,Z4=Z6*M9+L9*x3;M9=x3*M9+((Z4&16383)<<14)+j0[m2]+Z5,Z5=(M9>>28)+(Z4>>14)+Z6*L9,j0[m2++]=M9&268435455}return Z5}P&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):P&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--S0)H[S0]=this[S0];H.t=this.t,H.s=this.s}function w8(H){this.t=1,this.s=H<0?-1:0,H>0?this[0]=H:H<-1?this[0]=H+DV:this.t=0}function K9(H){var S0=W0();return S0.fromInt(H),S0}function h8(H,S0){var j0;if(S0==16)j0=4;else if(S0==8)j0=3;else if(S0==256)j0=8;else if(S0==2)j0=1;else if(S0==32)j0=5;else if(S0==4)j0=2;else{this.fromRadix(H,S0);return}this.t=0,this.s=0;for(var m2=H.length,Z5=!1,N5=0;--m2>=0;){var x3=j0==8?H[m2]&255:O9(H,m2);if(x3<0){H.charAt(m2)=="-"&&(Z5=!0);continue}Z5=!1,N5==0?this[this.t++]=x3:N5+j0>this.DB?(this[this.t-1]|=(x3&(1<>this.DB-N5):this[this.t-1]|=x3<=this.DB&&(N5-=this.DB)}j0==8&&H[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==H;)--this.t}function Ui(H){if(this.s<0)return"-"+this.negate().toString(H);var S0;if(H==16)S0=4;else if(H==8)S0=3;else if(H==2)S0=1;else if(H==32)S0=5;else if(H==4)S0=2;else return this.toRadix(H);var j0=(1<0)for(Z6>Z6)>0&&(Z5=!0,N5=x9(m2));x3>=0;)Z6>(Z6+=this.DB-S0)):(m2=this[x3]>>(Z6-=S0)&j0,Z6<=0&&(Z6+=this.DB,--x3)),m2>0&&(Z5=!0),Z5&&(N5+=x9(m2));return Z5?N5:"0"}function Pi(){var H=W0();return e.ZERO.subTo(this,H),H}function Ir(){return this.s<0?this.negate():this}function z$(H){var S0=this.s-H.s;if(S0!=0)return S0;var j0=this.t;if(S0=j0-H.t,S0!=0)return this.s<0?-S0:S0;for(;--j0>=0;)if((S0=this[j0]-H[j0])!=0)return S0;return 0}function zm(H){var S0=1,j0;return(j0=H>>>16)!=0&&(H=j0,S0+=16),(j0=H>>8)!=0&&(H=j0,S0+=8),(j0=H>>4)!=0&&(H=j0,S0+=4),(j0=H>>2)!=0&&(H=j0,S0+=2),(j0=H>>1)!=0&&(H=j0,S0+=1),S0}function wB(){return this.t<=0?0:this.DB*(this.t-1)+zm(this[this.t-1]^this.s&this.DM)}function vB(H,S0){var j0;for(j0=this.t-1;j0>=0;--j0)S0[j0+H]=this[j0];for(j0=H-1;j0>=0;--j0)S0[j0]=0;S0.t=this.t+H,S0.s=this.s}function kB(H,S0){for(var j0=H;j0=0;--Z6)S0[Z6+N5+1]=this[Z6]>>m2|x3,x3=(this[Z6]&Z5)<=0;--Z6)S0[Z6]=0;S0[N5]=x3,S0.t=this.t+N5+1,S0.s=this.s,S0.clamp()}function bB(H,S0){S0.s=this.s;var j0=Math.floor(H/this.DB);if(j0>=this.t){S0.t=0;return}var m2=H%this.DB,Z5=this.DB-m2,N5=(1<>m2;for(var x3=j0+1;x3>m2;m2>0&&(S0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2-=H.s}S0.s=m2<0?-1:0,m2<-1?S0[j0++]=this.DV+m2:m2>0&&(S0[j0++]=m2),S0.t=j0,S0.clamp()}function DB(H,S0){var j0=this.abs(),m2=H.abs(),Z5=j0.t;for(S0.t=Z5+m2.t;--Z5>=0;)S0[Z5]=0;for(Z5=0;Z5=0;)H[j0]=0;for(j0=0;j0=S0.DV&&(H[j0+S0.t]-=S0.DV,H[j0+S0.t+1]=1)}H.t>0&&(H[H.t-1]+=S0.am(j0,S0[j0],H,2*j0,0,1)),H.s=0,H.clamp()}function xB(H,S0,j0){var m2=H.abs();if(!(m2.t<=0)){var Z5=this.abs();if(Z5.t0?(m2.lShiftTo(M9,N5),Z5.lShiftTo(M9,j0)):(m2.copyTo(N5),Z5.copyTo(j0));var L9=N5.t,Z4=N5[L9-1];if(Z4!=0){var i7=Z4*(1<1?N5[L9-2]>>this.F2:0),Wi=this.FV/i7,HB=(1<=0&&(j0[j0.t++]=1,j0.subTo(N7,j0)),e.ONE.dlShiftTo(L9,N7),N7.subTo(N5,N5);N5.t=0;){var Zm=j0[--jA]==Z4?this.DM:Math.floor(j0[jA]*Wi+(j0[jA-1]+YB)*HB);if((j0[jA]+=N5.am(0,Zm,j0,xh,0,L9))0&&j0.rShiftTo(M9,j0),x3<0&&e.ZERO.subTo(j0,j0)}}}function LB(H){var S0=W0();return this.abs().divRemTo(H,null,S0),this.s<0&&S0.compareTo(e.ZERO)>0&&H.subTo(S0,S0),S0}function zA(H){this.m=H}function RB(H){return H.s<0||H.compareTo(this.m)>=0?H.mod(this.m):H}function FB(H){return H}function MB(H){H.divRemTo(this.m,null,H)}function TB(H,S0,j0){H.multiplyTo(S0,j0),this.reduce(j0)}function ZA(H,S0){H.squareTo(S0),this.reduce(S0)}zA.prototype.convert=RB,zA.prototype.revert=FB,zA.prototype.reduce=MB,zA.prototype.mulTo=TB,zA.prototype.sqrTo=ZA;function Zi(){if(this.t<1)return 0;var H=this[0];if(!(H&1))return 0;var S0=H&3;return S0=S0*(2-(H&15)*S0)&15,S0=S0*(2-(H&255)*S0)&255,S0=S0*(2-((H&65535)*S0&65535))&65535,S0=S0*(2-H*S0%this.DV)%this.DV,S0>0?this.DV-S0:-S0}function Gn(H){this.m=H,this.mp=H.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(S0,S0),S0}function WA(H){var S0=W0();return H.copyTo(S0),this.reduce(S0),S0}function Un(H){for(;H.t<=this.mt2;)H[H.t++]=0;for(var S0=0;S0>15)*this.mpl&this.um)<<15)&H.DM;for(j0=S0+this.m.t,H[j0]+=this.m.am(0,m2,H,S0,0,this.m.t);H[j0]>=H.DV;)H[j0]-=H.DV,H[++j0]++}H.clamp(),H.drShiftTo(this.m.t,H),H.compareTo(this.m)>=0&&H.subTo(this.m,H)}function NB(H,S0){H.squareTo(S0),this.reduce(S0)}function GB(H,S0,j0){H.multiplyTo(S0,j0),this.reduce(j0)}Gn.prototype.convert=_h,Gn.prototype.revert=WA,Gn.prototype.reduce=Un,Gn.prototype.mulTo=GB,Gn.prototype.sqrTo=NB;function UB(){return(this.t>0?this[0]&1:this.s)==0}function zs(H,S0){if(H>4294967295||H<1)return e.ONE;var j0=W0(),m2=W0(),Z5=S0.convert(this),N5=zm(H)-1;for(Z5.copyTo(j0);--N5>=0;)if(S0.sqrTo(j0,m2),(H&1<0)S0.mulTo(m2,Z5,j0);else{var x3=j0;j0=m2,m2=x3}return S0.revert(j0)}function PB(H,S0){var j0;return H<256||S0.isEven()?j0=new zA(S0):j0=new Gn(S0),this.exp(H,j0)}e.prototype.copyTo=I4,e.prototype.fromInt=w8,e.prototype.fromString=h8,e.prototype.clamp=z4,e.prototype.dlShiftTo=vB,e.prototype.drShiftTo=kB,e.prototype.lShiftTo=SB,e.prototype.rShiftTo=bB,e.prototype.subTo=H6,e.prototype.multiplyTo=DB,e.prototype.squareTo=_B,e.prototype.divRemTo=xB,e.prototype.invDigit=Zi,e.prototype.isEven=UB,e.prototype.exp=zs,e.prototype.toString=Ui,e.prototype.negate=Pi,e.prototype.abs=Ir,e.prototype.compareTo=z$,e.prototype.bitLength=wB,e.prototype.mod=LB,e.prototype.modPowInt=PB,e.ZERO=K9(0),e.ONE=K9(1);function Pn(H,S0){this.fromInt(0),S0==null&&(S0=10);for(var j0=this.chunkSize(S0),m2=Math.pow(S0,j0),Z5=!1,N5=0,x3=0,Z6=0;Z6=j0&&(this.dMultiply(m2),this.dAddOffset(x3,0),N5=0,x3=0)}N5>0&&(this.dMultiply(Math.pow(S0,N5)),this.dAddOffset(x3,0)),Z5&&e.ZERO.subTo(this,this)}function Zr(H){return Math.floor(Math.LN2*this.DB/Math.log(H))}function op(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function r5(H){this[this.t]=this.am(0,H-1,this,0,0,this.t),++this.t,this.clamp()}function OB(H,S0){if(H!=0){for(;this.t<=S0;)this[this.t++]=0;for(this[S0]+=H;this[S0]>=this.DV;)this[S0]-=this.DV,++S0>=this.t&&(this[this.t++]=0),++this[S0]}}function Zs(H){if(H==null&&(H=10),this.signum()==0||H<2||H>36)return"0";var S0=this.chunkSize(H),j0=Math.pow(H,S0),m2=K9(j0),Z5=W0(),N5=W0(),x3="";for(this.divRemTo(m2,Z5,N5);Z5.signum()>0;)x3=(j0+N5.intValue()).toString(H).substr(1)+x3,Z5.divRemTo(m2,Z5,N5);return N5.intValue().toString(H)+x3}function Wr(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2+=H.s}S0.s=m2<0?-1:0,m2>0?S0[j0++]=m2:m2<-1&&(S0[j0++]=this.DV+m2),S0.t=j0,S0.clamp()}e.prototype.fromRadix=Pn,e.prototype.chunkSize=Zr,e.prototype.signum=op,e.prototype.dMultiply=r5,e.prototype.dAddOffset=OB,e.prototype.toRadix=Zs,e.prototype.intValue=Wr,e.prototype.addTo=qB;var ai={abs:function(H,S0){var j0=new i.math.Long(H,S0),m2;j0.isNegative()?m2=j0.negate():m2=j0,_9[y8>>2]=m2.low_,_9[y8+4>>2]=m2.high_},ensureTemps:function(){ai.ensuredTemps||(ai.ensuredTemps=!0,ai.two32=new e,ai.two32.fromString("4294967296",10),ai.two64=new e,ai.two64.fromString("18446744073709551616",10),ai.temp1=new e,ai.temp2=new e)},lh2bignum:function(H,S0){var j0=new e;j0.fromString(S0.toString(),10);var m2=new e;j0.multiplyTo(ai.two32,m2);var Z5=new e;Z5.fromString(H.toString(),10);var N5=new e;return Z5.addTo(m2,N5),N5},stringify:function(H,S0,j0){var m2=new i.math.Long(H,S0).toString();if(j0&&m2[0]=="-"){ai.ensureTemps();var Z5=new e;Z5.fromString(m2,10),m2=new e,ai.two64.addTo(Z5,m2),m2=m2.toString(10)}return m2},fromString:function(H,S0,j0,m2,Z5){ai.ensureTemps();var N5=new e;N5.fromString(H,S0);var x3=new e;x3.fromString(j0,10);var Z6=new e;if(Z6.fromString(m2,10),Z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(ai.two64,M9),N5=M9}var L9=!1;N5.compareTo(x3)<0?(N5=x3,L9=!0):N5.compareTo(Z6)>0&&(N5=Z6,L9=!0);var Z4=i.math.Long.fromString(N5.toString());if(_9[y8>>2]=Z4.low_,_9[y8+4>>2]=Z4.high_,L9)throw"range error"}};return ai}();function KA(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}KA.prototype=new Error,KA.prototype.constructor=KA;var pB,Km=null,vk=!1;Ni=function i(){o.calledRun||sp(),o.calledRun||(Ni=i)},o.callMain=o.callMain=function($){K4(pt==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),K4(Om.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Hs();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(zr(o.thisProgram),"i8",YA)];d();for(var e=0;e0||(Sh(),pt>0)||o.calledRun)return;function $(){o.calledRun||(o.calledRun=!0,!k0&&(Hs(),gB(),c&&Km!==null&&o.printErr("pre-main prep time: "+(Date.now()-Km)+" ms"),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o._main&&yB&&o.callMain(i),O$()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),$()},1)):$()}o.run=o.run=sp;function BB(i,$){if(!($&&o.noExitRuntime))throw o.noExitRuntime||(k0=!0,S1=i,yi=pB,qm(),o.onExit&&o.onExit(i)),f?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):n0&&typeof quit=="function"&&quit(i),new KA(i)}o.exit=o.exit=BB;var QB=[];function Ks(i){i!==void 0?(o.print(i),o.printErr(i),i=JSON.stringify(i)):i="",k0=!0,S1=1;var $=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Gm()+$;throw QB&&QB.forEach(function(d){h=d(h,i)}),h}if(o.abort=o.abort=Ks,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var yB=!0;o.noInitialRun&&(yB=!1),sp();var kk=o._encoder_init,Sk=o._encoder_clear,bk=o._encoder_analysis_buffer,Dk=o._encoder_process,_k=o._encoder_data_len,xk=o._encoder_transfer_data,wi=o.HEAPU8,J$=o.HEAPU32,V$=o.HEAPF32,K$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=kk(this.numChannels,i,h)};K$.prototype.encode=function(i){for(var $=i[0].length,h=bk(this.encoder,$)>>2,d=0;d>2);this.process($)},K$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},K$.prototype.cancel=K$.prototype.cleanup=function(){Sk(this.encoder),delete this.encoder,delete this.oggBuffers},K$.prototype.process=function(i){Dk(this.encoder,i);var $=_k(this.encoder);if($>0){var h=xk(this.encoder);this.oggBuffers.push(new Uint8Array(wi.subarray(h,h+$)))}},KC.OggVorbisEncoder=K$}};typeof window<"u"&&window===self&&KC.init();function Rv(o,r,l,c){let f=new KC.OggVorbisEncoder(l,r,c);f.encode(o);let w=f.finish(),n0=w.reduce((A0,f1)=>A0+f1.length,0),m0=new Uint8Array(n0),f0=0;for(let A0 of w)m0.set(A0,f0),f0+=A0.length;return m0}var zC=class{constructor(r,l){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",f=>{f.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async f=>{f.preventDefault(),c.classList.add("hidden");let w=f.dataTransfer.files[0];if(!w)return;let n0=w.name,m0=await w.arrayBuffer(),f0=m0.slice(0,4),A0=new TextDecoder;if(A0.decode(f0)==="RIFF"){let f1=m0.slice(8,12);if(A0.decode(f1)==="RMID"){r({buf:m0,name:n0});return}l(m0);return}r({buf:m0,name:n0})})}};document.body.classList.add("load");var Fv=!1,qr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(r,l,c){this.localeManager=c,this.context=r,this.isExporting=!1,this.compressionFunc=Rv;let f;this.ready=new Promise(w=>f=w),this.initializeContext(r,l).then(()=>{f()})}saveBlob(r,l){let c=URL.createObjectURL(r),f=document.createElement("a");f.href=c,f.download=l,f.click(),K5(f)}async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let L0 of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(L0,"innerText",L0.getAttribute("translate-path"));for(let L0 of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(L0,"innerText",L0.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(L0,"title",L0.getAttribute("translate-path-title")+".description");let f=Fv?"synthetizer/worklet_system/worklet_processor.js":PC;Fv&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let w=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";r.audioWorklet&&await r.audioWorklet.addModule(new URL(w+f,import.meta.url)),this.soundFont=l;let n0=new URL(w+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),f0=await(await fetch(n0)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(f0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new lh(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",L0=>{this.sfError&&this.sfError(L0)}),await this.synth.isReady,this.midHandler=new LC,this.wml=new RC(this.synth),this.keyboard=new wm(this.channelColors,this.synth);let A0=document.getElementById("note_canvas");A0.width=window.innerWidth*window.devicePixelRatio,A0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new Li(this.channelColors,this.synth,A0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let f1=!1,R=()=>{if(A0.width=window.innerWidth*window.devicePixelRatio,A0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),RA){if(window.innerWidth/window.innerHeight>1){if(!f1){let L0=document.getElementById("title_wrapper"),k0=document.getElementById("settings_div");f1=!0,L0.parentElement.insertBefore(k0,L0)}}else if(f1){let L0=document.getElementById("title_wrapper"),k0=document.getElementById("settings_div");f1=!1,L0.parentElement.insertBefore(L0,k0)}}this.renderer.render(!1,!0)};R(),window.addEventListener("resize",R.bind(this)),window.addEventListener("orientationchange",R.bind(this)),RA&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Or(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new GC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ms(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Qi(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new zC(L0=>{this.play([{binary:L0.buf,altName:L0.name}]),L0.name.length>20&&(L0.name=L0.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=L0.name},L0=>{this.reloadSf(L0)}),document.addEventListener("keydown",L0=>{switch(L0.key.toLowerCase()){case e7.cinematicMode:this.seq&&this.seq.pause();let k0=window.prompt(`Cinematic mode activated! +`));if(!$)return null;i.input=Zr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(o.print(Ps(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.print(Ps(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(o.printErr(Ps(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.printErr(Ps(i.output,0)),i.output=[])}}},k9={ops_table:null,mount:function(i){return k9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(R2.EPERM);k9.ops_table||(k9.ops_table={dir:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr,lookup:k9.node_ops.lookup,mknod:k9.node_ops.mknod,rename:k9.node_ops.rename,unlink:k9.node_ops.unlink,rmdir:k9.node_ops.rmdir,readdir:k9.node_ops.readdir,symlink:k9.node_ops.symlink},stream:{llseek:k9.stream_ops.llseek}},file:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr},stream:{llseek:k9.stream_ops.llseek,read:k9.stream_ops.read,write:k9.stream_ops.write,allocate:k9.stream_ops.allocate,mmap:k9.stream_ops.mmap,msync:k9.stream_ops.msync}},link:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr,readlink:k9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:k9.node_ops.getattr,setattr:k9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=k9.ops_table.dir.node,P.stream_ops=k9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=k9.ops_table.file.node,P.stream_ops=k9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=k9.ops_table.link.node,P.stream_ops=k9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=k9.ops_table.chrdev.node,P.stream_ops=k9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=k9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&k9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[R2.ENOENT]},mknod:function(i,$,h,d){return k9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(R2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(R2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=k9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(R2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-P,d);if(K4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(P,P+W0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var B2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([Bt.DB_STORE_NAME],"readwrite"),A1=s.objectStore(Bt.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?Bt.loadRemoteEntry(A1,w5,function(B2,T5){if(B2)return C(B2);Bt.storeLocalEntry(w5,T5,C)}):Bt.loadLocalEntry(w5,function(B2,T5){if(B2)return C(B2);Bt.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?Bt.removeLocalEntry(w5,C):Bt.removeRemoteEntry(A1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return K4(f),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(R2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=Qt.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=Qt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(Qt.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);Qt.utimesSync(h,d,d)}$.size!==void 0&&Qt.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?Qt.mkdirSync(e,P.mode):Qt.writeFileSync(e,"",{mode:P.mode})}catch(W0){throw W0.code?new k.ErrnoError(R2[W0.code]):W0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{Qt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(R2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return Qt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{Qt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=Qt.readlinkSync($),$=CB.relative(CB.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Qt.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Qt.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(R2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=Qt.readSync(i.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(R2[b2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(R2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(R2.ELOOP)}}return{path:W0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var W0=new k.FSNode(i,$,h,d);return k.hashAddNode(W0),W0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?R2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:R2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return R2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return R2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return R2.EBUSY}else if(k.isDir(d.mode))return R2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?R2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?R2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):R2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(R2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(W0){this.node=W0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(R2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(R2.EBUSY);if(!d&&!P){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(R2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(R2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},b2=i.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(R2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);K4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),P=d.node,e=c9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(R2.EINVAL);var W0=k.mayCreate(P,e);if(W0)throw new k.ErrnoError(W0);if(!P.node_ops.mknod)throw new k.ErrnoError(R2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(R2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(R2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),W0,t1,b2;try{W0=k.lookupPath(i,{parent:!0}),t1=W0.node,W0=k.lookupPath($,{parent:!0}),b2=W0.node}catch{throw new k.ErrnoError(R2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(R2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(R2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(i,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(R2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(R2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),B2=k.mayDelete(t1,P,w5);if(B2)throw new k.ErrnoError(B2);if(B2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),B2)throw new k.ErrnoError(B2);if(!t1.node_ops.rename)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(R2.EBUSY);if(b2!==t1&&(B2=k.nodePermissions(t1,"w"),B2))throw new k.ErrnoError(B2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(R2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===R2.EISDIR&&(e=R2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(R2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(R2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(R2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(R2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(R2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(R2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(R2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(R2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(R2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var W0=k.lookupPath(i,{follow:!($&131072)});e=W0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(R2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(R2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,o.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,A1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(R2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(R2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var W0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=W0),W0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(R2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var W0=!0;if(typeof P>"u")P=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);W0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(R2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(R2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,W0){if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(R2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,W0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(R2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,W0=new Uint8Array(e);return k.read(d,W0,0,e,0),$.encoding==="utf8"?h=Ps(W0,0):$.encoding==="binary"&&(h=W0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Os($)+1),e=Mn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(R2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Gn.register(k.makedev(5,0),Gn.default_tty_ops),Gn.register(k.makedev(6,0),Gn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var i;if(typeof crypto<"u"){var $=new Uint8Array(1);i=function(){return crypto.getRandomValues($),$[0]}}else f?i=void 0:i=function(){return Math.random()*256|0};k.createDevice("/dev","random",i),k.createDevice("/dev","urandom",i),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){o.stdin?k.createDevice("/dev","stdin",o.stdin):k.symlink("/dev/tty","/dev/stdin"),o.stdout?k.createDevice("/dev","stdout",null,o.stdout):k.symlink("/dev/tty","/dev/stdout"),o.stderr?k.createDevice("/dev","stderr",null,o.stderr):k.symlink("/dev/tty1","/dev/stderr");var i=k.open("/dev/stdin","r");_9[Hv>>2]=k.getPtrForStream(i),K4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Yv>>2]=k.getPtrForStream($),K4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Jv>>2]=k.getPtrForStream(h),K4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in R2)if(R2[P]===d){this.code=P;break}},this.setErrno($),this.message=qv[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[R2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(k9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){K4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=i||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var B2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[B2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var B2=Number(w5.getResponseHeader("Content-length")),T5,x9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;x9||(O9=B2);var I4=function(K9,h8){if(K9>h8)throw new Error("invalid range ("+K9+", "+h8+") or no bytes requested!");if(h8>B2-1)throw new Error("only "+B2+" bytes available! programmer error!");var z4=new XMLHttpRequest;if(z4.open("GET",h,!1),B2!==O9&&z4.setRequestHeader("Range","bytes="+K9+"-"+h8),typeof Uint8Array<"u"&&(z4.responseType="arraybuffer"),z4.overrideMimeType&&z4.overrideMimeType("text/plain; charset=x-user-defined"),z4.send(null),!(z4.status>=200&&z4.status<300||z4.status===304))throw new Error("Couldn't load "+h+". Status: "+z4.status);return z4.response!==void 0?new Uint8Array(z4.response||[]):Zr(z4.responseText||"",!0)},w8=this;w8.setDataGetter(function(K9){var h8=K9*O9,z4=(K9+1)*O9-1;if(z4=Math.min(z4,B2-1),typeof w8.chunks[K9]>"u"&&(w8.chunks[K9]=I4(h8,z4)),typeof w8.chunks[K9]>"u")throw new Error("doXHR failed!");return w8.chunks[K9]}),this._length=B2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!v)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var W0=new e;Object.defineProperty(W0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(W0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:W0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(i,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,B2,T5,x9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,x9);if(K4(w8>=0),I4.slice)for(var K9=0;K9=0;d--){var P=i[d];P==="."?i.splice(d,1):P===".."?(i.splice(d,1),h++):h&&(i.splice(d,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=c9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=c9.splitPath(i),h=$[0],d=$[1];return!h&&!d?".":(d&&(d=d.substr(0,d.length-1)),h+d)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return c9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return c9.normalize(i.join("/"))},join2:function(i,$){return c9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var d=h>=0?arguments[h]:k.cwd();if(typeof d!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!d)return"";i=d+"/"+i,$=d.charAt(0)==="/"}return i=c9.normalizeArray(i.split("/").filter(function(P){return!!P}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=c9.resolve(i).substr(1),$=c9.resolve($).substr(1);function h(s){for(var A1=0;A1=0&&s[C]==="";C--);return A1>C?[]:s.slice(A1,C-A1+1)}for(var d=h(i.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),W0=e,t1=0;t10){var t1=Date.now(),b2=J1.mainLoop.queue.shift();if(b2.func(b2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,A1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=A1:(A1=A1+.5,J1.mainLoop.remainingBlockers=(8*s+A1)/9)}console.log('main loop blocker "'+b2.name+'" took '+(Date.now()-t1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&o.ctx&&(o.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof d<"u"?R.dynCall("vi",i,[d]):R.dynCall("v",i)}),!(e0?Jm(0,1e3/$):Jm(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var i=J1.mainLoop.timingMode,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,EB(h,0,!1,J1.mainLoop.arg,!0),Jm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var i=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var i={};i.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,W0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(W0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(W0)}))}catch(B2){R.warnOnce("Blob constructor present but fails: "+B2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){K4(w5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var x9=T5.getContext("2d");x9.drawImage(w5,0,0),o.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),b2&&b2()},w5.src=C},o.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,W0,t1,b2){var s=!1;function A1(x9){s||(s=!0,o.preloadedAudios[W0]=x9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return C()}var B2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function I4(w8){for(var K9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",z4="",Ui=0,Pi=0,Er=0;Er=6;){var z$=Ui>>Pi-6&63;Pi-=6,z4+=K9[z$]}return Pi==2?(z4+=K9[(Ui&3)<<4],z4+=h8+h8):Pi==4&&(z4+=K9[(Ui&15)<<2],z4+=h8),z4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=B2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&o.ctx&&i==o.canvas)return o.ctx;var P,e;if($){var W0={antialias:!1,alpha:!1};if(d)for(var t1 in d)W0[t1]=d[t1];e=GL.createContext(i,W0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||K4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(i,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(i,$,h){J1.lockPointer=i,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var W0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===W0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(W0.parentNode.insertBefore(d,W0),W0.parentNode.removeChild(W0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!k0)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var i=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],i.forEach(function($){$()})}},safeRequestAnimationFrame:function(i){return J1.requestAnimationFrame(function(){k0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return o.noExitRuntime=!0,setTimeout(function(){k0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return o.noExitRuntime=!0,setInterval(function(){k0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var W0=i.touch;if(W0===void 0)return;var t1=W0.pageX-(P+$.left),b2=W0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(i.type==="touchstart")J1.lastTouches[W0.identifier]=s,J1.touches[W0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var A1=J1.touches[W0.identifier];A1||(A1=s),J1.lastTouches[W0.identifier]=A1,J1.touches[W0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){K4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||dr("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Nn("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=o.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var d=o.canvas;J1.updateCanvasDimensions(d,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=J$[SDL.screen+R.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+R.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=J$[SDL.screen+R.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+R.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var d=$,P=h;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(d/P>2]=$),$}function Ak(){o.printErr("missing function: floor0_exportbundle"),zs(-1)}if(Vs=R.staticAlloc(4),_9[Vs>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),U$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),wh.push(function(){k.ignorePermissions=!1}),P$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,U$.unshift(function(){Gn.init()}),P$.push(function(){Gn.shutdown()}),f)var Qt=void 0,CB=void 0;yh=yi=R.alignMemory(Kr),M$=!0,T$=yh+Pm,N$=Fi=R.alignMemory(T$),K4(N$>0]=d[t>>0],d[B2+1>>0]=d[t+1>>0],d[B2+2>>0]=d[t+2>>0],d[B2+3>>0]=d[t+3>>0]}function OD(t){t=t|0,d[B2>>0]=d[t>>0],d[B2+1>>0]=d[t+1>>0],d[B2+2>>0]=d[t+2>>0],d[B2+3>>0]=d[t+3>>0],d[B2+4>>0]=d[t+4>>0],d[B2+5>>0]=d[t+5>>0],d[B2+6>>0]=d[t+6>>0],d[B2+7>>0]=d[t+7>>0]}function Pk(t){t=t|0,H6=t}function Ok(){return H6|0}function Ap(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0;E=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,n=S9(256)|0,A=t+8|0,e[A>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,g=t+16|0,e[g>>2]=256}function qk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;x=C,A=n>>3,a=t+12|0,p=e[a>>2]|0,S=(p|0)==0,!S&&(b=A<<3,w=n-b|0,y=t+8|0,D=e[y>>2]|0,Q=D+A|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=w,e[t>>2]=A,g=8+(w<<2)|0,u=e[g>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&u,B=m&255,d[Q>>0]=B)}function U2(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;q0=C,u=A>>>0>32;do if(!u){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,s0=t0+-4|0,w0=(E|0)<(s0|0),a=t+12|0,g=e[a>>2]|0,w0)N=g;else{if(M0=(g|0)==0,M0)return;if(J0=(t0|0)>2147483391,J0||(O0=t+8|0,z0=e[O0>>2]|0,I=t0+256|0,m=qi(z0,I)|0,B=(m|0)==0,B))break;e[O0>>2]=m,p=e[_>>2]|0,S=p+256|0,e[_>>2]=S,b=e[t>>2]|0,w=m+b|0,e[a>>2]=w,N=w}y=8+(A<<2)|0,D=e[y>>2]|0,Q=D&n,L=t+4|0,x=e[L>>2]|0,F=x+A|0,M=Q<>0]|0,G=T&255,O=G|M,z=O&255,d[N>>0]=z,Y=(F|0)>7;do if(Y&&(J=e[L>>2]|0,W=8-J|0,e0=Q>>>W,q=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=q,l0=(F|0)>15,l0&&(Z=e[L>>2]|0,K=16-Z|0,$0=Q>>>K,i0=$0&255,n0=e[a>>2]|0,V=n0+2|0,d[V>>0]=i0,h0=(F|0)>23,h0&&(o0=e[L>>2]|0,g0=24-o0|0,j=Q>>>g0,c0=j&255,u0=e[a>>2]|0,I0=u0+3|0,d[I0>>0]=c0,C0=(F|0)>31,C0))))if(v0=e[L>>2]|0,d0=(v0|0)==0,d0){x0=e[a>>2]|0,Q0=x0+4|0,d[Q0>>0]=0;break}else{p0=32-v0|0,B0=Q>>>p0,E0=B0&255,b0=e[a>>2]|0,K0=b0+4|0,d[K0>>0]=E0;break}while(!1);T0=(F|0)/8&-1,G0=e[t>>2]|0,P0=G0+T0|0,e[t>>2]=P0,y0=e[a>>2]|0,Y0=y0+T0|0,e[a>>2]=Y0,F0=F&7,e[L>>2]=F0;return}while(!1);_0=t+8|0,N0=e[_0>>2]|0,V0=(N0|0)==0,V0||I2(N0),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 ap(t){t=t|0;var n=0,A=0,a=0,g=0,u=0;u=C,n=t+8|0,A=e[n>>2]|0,a=(A|0)==0,a||I2(A),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function u7(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;B=C,n=t+12|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(g=t+8|0,u=e[g>>2]|0,e[n>>2]=u,E=u,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function $p(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0;if(b0=C,a=n>>>0>32,a)return A=-1,A|0;if(g=8+(n<<2)|0,D=e[g>>2]|0,z=t+4|0,K=e[z>>2]|0,u0=K+n|0,w0=e[t>>2]|0,C0=t+16|0,v0=e[C0>>2]|0,d0=v0+-4|0,u=(w0|0)<(d0|0),!u){if(E=u0+7|0,I=E>>3,m=v0-I|0,B=(w0|0)>(m|0),B)return A=-1,A|0;if(p=(u0|0)==0,p)return A=0,A|0}return S=t+12|0,b=e[S>>2]|0,w=d[b>>0]|0,y=w&255,Q=y>>>K,_=(u0|0)>8,_?(L=b+1|0,x=d[L>>0]|0,F=x&255,M=8-K|0,T=F<16,G?(O=b+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-K|0,W=t0<24,q?(X=b+3|0,U=d[X>>0]|0,l0=U&255,Z=24-K|0,$0=l0<>0]|0,o0=h0&255,g0=32-K|0,j=o0<>2]|0,S=a+n|0,b=e[t>>2]|0,w=t+16|0,y=e[w>>2]|0,D=S+7|0,Q=D>>3,_=y-Q|0,L=(b|0)>(_|0),L){p=t+12|0,e[p>>2]=0,e[t>>2]=y,x=1,e[A>>2]=x;return}else{g=(S|0)/8&-1,u=t+12|0,E=e[u>>2]|0,I=E+g|0,e[u>>2]=I,m=b+g|0,e[t>>2]=m,B=S&7,x=B,e[A>>2]=x;return}}function W4(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0;_0=C,m=n>>>0>32;do if(m)a=t+16|0,g=e[a>>2]|0,I=t+4|0,u=t,E=I,Q0=g;else{if(B=8+(n<<2)|0,F=e[B>>2]|0,e0=t+4|0,V=e[e0>>2]|0,d0=V+n|0,M0=e[t>>2]|0,T0=t+16|0,G0=e[T0>>2]|0,P0=G0+-4|0,p=(M0|0)<(P0|0),!p){if(S=d0+7|0,b=S>>3,w=G0-b|0,y=(M0|0)>(w|0),y){u=t,E=e0,Q0=G0;break}if(D=(d0|0)==0,D)return A=0,A|0}return Q=t+12|0,_=e[Q>>2]|0,L=d[_>>0]|0,x=L&255,M=x>>>V,T=(d0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-V|0,Y=O<16,J?(W=_+2|0,q=d[W>>0]|0,X=q&255,U=16-V|0,l0=X<24,K?($0=_+3|0,s0=d[$0>>0]|0,i0=s0&255,n0=24-V|0,h0=i0<>0]|0,I0=u0&255,w0=32-V|0,C0=I0<>2]=E0,b0=M0+B0|0,e[t>>2]=b0,K0=d0&7,e[e0>>2]=K0,A=p0,A|0}while(!1);return x0=t+12|0,e[x0>>2]=0,e[u>>2]=Q0,e[E>>2]=1,A=-1,A|0}function yt(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,g=a+7|0,u=(g|0)/8&-1,E=u+n|0,E|0}function KB(t){t=t|0;var n=0,A=0,a=0,g=0;return g=C,n=t+8|0,A=e[n>>2]|0,A|0}function Hk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0;if(T=C,g=(t|0)==0,g)return A=-1,A|0;Ae(t|0,0,360)|0,u=t+4|0,e[u>>2]=16384,b=t+24|0,e[b>>2]=1024,w=S9(16384)|0,e[t>>2]=w,y=S9(4096)|0,D=t+16|0,e[D>>2]=y,Q=S9(8192)|0,_=t+20|0,e[_>>2]=Q,L=(w|0)==0;do if(L)I=y;else{if(x=(y|0)==0,E=(Q|0)==0,F=E|x,F){I2(w),a=e[D>>2]|0,I=a;break}return S=t+336|0,e[S>>2]=n,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),B=e[_>>2]|0,p=(B|0)==0,p||I2(B),Ae(t|0,0,360)|0,A=-1,A|0}function Yk(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0;return S=C,n=(t|0)==0,n||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),g=t+16|0,u=e[g>>2]|0,E=(u|0)==0,E||I2(u),I=t+20|0,m=e[I>>2]|0,B=(m|0)==0,B||I2(m),Ae(t|0,0,360)|0),0}function Jk(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0;if(G0=C,n=(t|0)==0,!n){if(A=e[t>>2]|0,w=A+22|0,d[w>>0]=0,G=e[t>>2]|0,l0=G+23|0,d[l0>>0]=0,j=e[t>>2]|0,v0=j+24|0,d[v0>>0]=0,d0=e[t>>2]|0,p0=d0+25|0,d[p0>>0]=0,B0=t+4|0,a=e[B0>>2]|0,g=(a|0)>0,g)for(u=e[t>>2]|0,b0=0,Q0=0;;)if(S=b0<<8,b=b0>>>24,y=u+Q0|0,D=d[y>>0]|0,Q=D&255,_=Q^b,L=144+(_<<2)|0,x=e[L>>2]|0,F=x^S,M=Q0+1|0,T=(M|0)<(a|0),T)b0=F,Q0=M;else{E0=F;break}else E0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(B=t+8|0,p=e[B>>2]|0,x0=E0,M0=0;;)if(N=x0<<8,O=x0>>>24,z=p+M0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,q=e0^N,X=M0+1|0,U=(X|0)<(I|0),U)x0=q,M0=X;else{K0=q;break}else K0=E0;Z=K0&255,K=e[t>>2]|0,$0=K+22|0,d[$0>>0]=Z,s0=K0>>>8,i0=s0&255,n0=e[t>>2]|0,V=n0+23|0,d[V>>0]=i0,h0=K0>>>16,o0=h0&255,g0=e[t>>2]|0,c0=g0+24|0,d[c0>>0]=o0,u0=K0>>>24,I0=u0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=I0}}function Vk(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(b0=e[t>>2]|0,_0=(b0|0)==0,_0))return I=-1,I|0;if(D0=(n|0)==0,D0)return I=0,I|0;Z0=(A|0)>0;e:do if(Z0){for(f2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,o2=(O1|0)<0,y=2147483647-O1|0,O=(f2|0)>(y|0),F2=o2|O,F2){I=-1;break}if(Z=O1+f2|0,s0=y2+1|0,i0=(s0|0)<(A|0),i0)f2=Z,y2=s0;else{s2=Z;break e}}return I|0}else s2=0;while(!1);n0=(s2|0)/255&-1,V=n0+1|0,h0=t+12|0,o0=e[h0>>2]|0,g0=(o0|0)==0,w=t+8|0,g0||(c0=e[w>>2]|0,u0=c0-o0|0,e[w>>2]=u0,I0=(c0|0)==(o0|0),I0||(w0=b0+o0|0,XA(b0|0,w0|0,u0|0)|0),e[h0>>2]=0),C0=t+4|0,v0=e[C0>>2]|0,d0=v0-s2|0,p0=e[w>>2]|0,B0=(d0|0)>(p0|0);do if(!B0){if(E0=2147483647-s2|0,K0=(v0|0)>(E0|0),K0)return x0=e[t>>2]|0,Q0=(x0|0)==0,Q0||I2(x0),M0=t+16|0,T0=e[M0>>2]|0,G0=(T0|0)==0,G0||I2(T0),P0=t+20|0,y0=e[P0>>2]|0,Y0=(y0|0)==0,Y0||I2(y0),Ae(t|0,0,360)|0,I=-1,I|0;if(F0=v0+s2|0,N0=(F0|0)<2147482623,V0=F0+1024|0,E=N0?V0:F0,J0=e[t>>2]|0,O0=qi(J0,E)|0,z0=(O0|0)==0,!z0){e[C0>>2]=E,e[t>>2]=O0;break}return U0=e[t>>2]|0,q0=(U0|0)==0,q0||I2(U0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),Ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(u1=Kk(t,V)|0,g1=(u1|0)==0,!g1)return I=-1,I|0;if(Z0)for(B=e[w>>2]|0,B1=B,k2=0;E1=e[t>>2]|0,p1=E1+B1|0,Q1=n+(k2<<3)|0,x1=e[Q1>>2]|0,L1=(n+(k2<<3)|0)+4|0,b1=e[L1>>2]|0,s4(p1|0,x1|0,b1|0)|0,R1=e[L1>>2]|0,F1=e[w>>2]|0,G1=F1+R1|0,e[w>>2]=G1,v1=k2+1|0,t2=(v1|0)==(A|0),!t2;)B1=G1,k2=v1;if(l1=(s2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,o1=e[n1>>2]|0,l1){for(I1=t+352|0,h1=t+20|0,m1=e[h1>>2]|0,d1=(n0|0)>1,C2=0;U1=a1+C2|0,Z1=o1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,_1=N1,V1=e[_1>>2]|0,q1=N1+4|0,H1=q1,Y1=e[H1>>2]|0,j1=m1+(U1<<3)|0,n2=j1,W1=n2,e[W1>>2]=V1,P1=n2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,u2=(z1|0)<(n0|0),u2;)C2=z1;D2=d1?n0:1,p=I1,$2=m1,w2=D2}else m=t+20|0,S=e[m>>2]|0,b=t+352|0,p=b,$2=S,w2=0;return E2=(s2|0)%255&-1,A2=a1+w2|0,K1=o1+(A2<<2)|0,e[K1>>2]=E2,h2=$2+(A2<<3)|0,i2=h2,l2=i2,e[l2>>2]=g,r2=i2+4|0,a2=r2,e[a2>>2]=u,X1=p,D=X1,e[D>>2]=g,Q=X1+4|0,_=Q,e[_>>2]=u,L=o1+(a1<<2)|0,x=e[L>>2]|0,F=x|256,e[L>>2]=F,M=a1+V|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=js(z|0,J|0,1,0)|0,e0=H6,q=T,X=q,e[X>>2]=W,U=q+4|0,l0=U,e[l0>>2]=e0,K=(a|0)==0,K?(I=0,I|0):($0=t+328|0,e[$0>>2]=1,I=0,I|0)}function Wm(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,C=C+16|0,Q=L,A=e[n>>2]|0,e[Q>>2]=A,a=n+4|0,m=e[a>>2]|0,B=Q+4|0,e[B>>2]=m,p=n+12|0,S=e[p>>2]|0,b=n+16|0,w=b,y=w,D=e[y>>2]|0,g=w+4|0,u=g,E=e[u>>2]|0,I=Vk(t,Q,1,S,D,E)|0,C=L,I|0}function zB(t,n){t=t|0,n=n|0;var A=0,a=0,g=0;return g=C,A=WB(t,n,1,4096)|0,A|0}function ZB(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,u=(t|0)==0,u||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,B=e[m>>2]|0,p=(B|0)==0,a=t+28|0,g=e[a>>2]|0,Q=(g|0)==0,p?Q?D=0:(S=t+332|0,b=e[S>>2]|0,w=(b|0)==0,w?_=7:D=0):Q?D=0:_=7,(_|0)==7&&(D=1),y=WB(t,n,D,4096)|0,A=y,A|0)}function Kk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0;return c0=C,g=t+24|0,u=e[g>>2]|0,Q=u-n|0,Y=t+28|0,$0=e[Y>>2]|0,n0=(Q|0)>($0|0),n0?(a=0,a|0):(V=2147483647-n|0,h0=(u|0)>(V|0),h0?(o0=e[t>>2]|0,g0=(o0|0)==0,g0||I2(o0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),B=t+20|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),Ae(t|0,0,360)|0,a=-1,a|0):(b=u+n|0,w=(b|0)<2147483615,y=b+32|0,A=w?y:b,D=t+16|0,_=e[D>>2]|0,L=A<<2,x=qi(_,L)|0,F=(x|0)==0,F?(M=e[t>>2]|0,T=(M|0)==0,T||I2(M),N=e[D>>2]|0,G=(N|0)==0,G||I2(N),O=t+20|0,z=e[O>>2]|0,t0=(z|0)==0,t0||I2(z),Ae(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=x,J=t+20|0,W=e[J>>2]|0,e0=A<<3,q=qi(W,e0)|0,X=(q|0)==0,X?(U=e[t>>2]|0,l0=(U|0)==0,l0||I2(U),Z=e[D>>2]|0,K=(Z|0)==0,K||I2(Z),s0=e[J>>2]|0,i0=(s0|0)==0,i0||I2(s0),Ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=q,e[g>>2]=A,a=0,a|0))))}function WB(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0;if(v5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,g=c1?255:_,h1=(t|0)==0,h1||(R1=e[t>>2]|0,H1=(R1|0)==0,A2=(g|0)==0,w3=A2|H1,w3))return u=0,u|0;t2=t+332|0,H2=e[t2>>2]|0,Z2=(H2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(T0=(l3|0)<(g|0),!T0){I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,H5=l3,O5=14;break e}if(z0=e[C0>>2]|0,H0=z0+(l3<<2)|0,e1=e[H0>>2]|0,D0=e1&255,i1=(D0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,H5=$1,O5=14;break}}else if(L=(g|0)>0,L){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,B5=-1,t5=-1,s5=-1,W5=0,L3=0,C3=0;;){if(u1=(C5|0)>(a|0),g1=(W5|0)>3,G3=u1&g1,G3){E=1,G5=S5,_5=g5,q2=a5,I5=W2,A5=g2,c5=B5,p5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,o1=n1+C5|0,Z0=(n1|0)==255,Z0?(h5=S5,J2=g5,u5=a5,i5=W2,x5=g2,j2=B5,$5=t5,L2=s5,i6=0,U3=L3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,p1=e[E1>>2]|0,B1=d1+4|0,Q1=B1,x1=e[Q1>>2]|0,L1=L3+1|0,w1=p1&255,b1=Xs(p1|0,x1|0,8)|0,F1=H6,G1=b1&255,v1=Xs(p1|0,x1|0,16)|0,U1=H6,Z1=v1&255,N1=Xs(p1|0,x1|0,24)|0,_1=H6,V1=N1&255,O1=x1&255,q1=Xs(p1|0,x1|0,40)|0,Y1=H6,j1=q1&255,n2=Xs(p1|0,x1|0,48)|0,W1=H6,P1=n2&255,c2=Xs(p1|0,x1|0,56)|0,z1=H6,u2=c2&255,h5=w1,J2=Z1,u5=V1,i5=O1,x5=j1,j2=P1,$5=u2,L2=G1,i6=L1,U3=L1),o2=C3+1|0,E2=(o2|0)<(g|0),E2)C5=o1,S5=h5,g5=J2,a5=u5,W2=i5,g2=x5,B5=j2,t5=$5,s5=L2,W5=i6,L3=U3,C3=o2;else{E=A,G5=h5,_5=J2,q2=u5,I5=i5,A5=x5,c5=j2,p5=$5,M1=L2,c3=o2;break}}K1=(c3|0)==255,K1?(n3=G5,m3=_5,F5=q2,J5=I5,v3=A5,u3=c5,B3=p5,z3=M1,U5=255):(I=E,Q5=G5,q5=_5,j5=q2,E5=I5,f3=A5,h3=c5,Y5=p5,X5=M1,H5=c3,O5=14)}else I=A,Q5=-1,q5=-1,j5=-1,E5=-1,f3=-1,h3=-1,Y5=-1,X5=-1,H5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return u=0,u|0;n3=Q5,m3=q5,F5=j5,J5=E5,v3=f3,u3=h3,B3=Y5,z3=X5,U5=H5}if($2=t+40|0,d[$2>>0]=79,d[$2+1>>0]=103,d[$2+2>>0]=103,d[$2+3>>0]=83,i2=t+44|0,d[i2>>0]=0,l2=t+45|0,d[l2>>0]=0,r2=t+16|0,a2=e[r2>>2]|0,X1=e[a2>>2]|0,s2=X1>>>8,S=s2&1,f2=S^1,y2=f2|2,m=Z2?y2:f2,a3=m&255,d[l2>>0]=a3,k2=t+328|0,w2=e[k2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),z5=C2&F2,z5&&(B=Z2?y2:f2,D2=B|4,N2=D2&255,d[l2>>0]=N2),e[t2>>2]=1,d2=t+46|0,d[d2>>0]=n3,K2=t+47|0,d[K2>>0]=z3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=J5,z2=t+51|0,d[z2>>0]=v3,o5=t+52|0,d[o5>>0]=u3,O2=t+53|0,d[O2>>0]=B3,T1=t+336|0,X2=e[T1>>2]|0,L5=X2&255,e5=t+54|0,d[e5>>0]=L5,b5=X2>>>8,f5=b5&255,k5=t+55|0,d[k5>>0]=f5,P5=X2>>>16,l5=P5&255,v2=t+56|0,d[v2>>0]=l5,m5=X2>>>24,n5=m5&255,x2=t+57|0,d[x2>>0]=n5,_2=t+340|0,p2=e[_2>>2]|0,x=(p2|0)==-1,x?(e[_2>>2]=0,M=0):M=p2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,q=e0&255,X=t+61|0,d[X>>0]=q,U=t+62|0,l0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=l0,K=(U5|0)>0,K){if($0=e[a2>>2]|0,s0=$0&255,n0=t+67|0,d[n0>>0]=s0,V=$0&255,D5=(U5|0)==1,D5)p=V;else for(o0=1,v0=V;;)if(b=e[r2>>2]|0,h0=b+(o0<<2)|0,g0=e[h0>>2]|0,j=g0&255,c0=o0+27|0,u0=(t+40|0)+c0|0,d[u0>>0]=j,I0=g0&255,w0=I0+v0|0,d0=o0+1|0,d5=(d0|0)==(U5|0),d5){p=w0;break}else o0=d0,v0=w0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[r2>>2]|0,Q0=w,y0=y,F0=D,R5=p}else Q0=R1,y0=_,F0=a2,R5=0;return e[n>>2]=$2,p0=U5+27|0,B0=t+324|0,e[B0>>2]=p0,E0=n+4|0,e[E0>>2]=p0,b0=t+12|0,K0=e[b0>>2]|0,x0=Q0+K0|0,M0=n+8|0,e[M0>>2]=x0,G0=n+12|0,e[G0>>2]=R5,P0=y0-U5|0,e[Q>>2]=P0,Y0=F0+(U5<<2)|0,_0=P0<<2,XA(F0|0,Y0|0,_0|0)|0,N0=t+20|0,V0=e[N0>>2]|0,J0=V0+(U5<<3)|0,O0=e[Q>>2]|0,U0=O0<<3,XA(V0|0,J0|0,U0|0)|0,q0=e[b0>>2]|0,r1=q0+R5|0,e[b0>>2]=r1,Jk(n),u=1,u|0}function zk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0;return H0=C,a=t+104|0,g=e[a>>2]|0,D=t+88|0,z=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,K=e[z>>2]|0,u7(K),u0=g+16|0,x0=e[u0>>2]|0,u7(x0),V0=g+20|0,U0=e[V0>>2]|0,u7(U0),q0=g+24|0,u=e[q0>>2]|0,u7(u),E=g+28|0,I=e[E>>2]|0,u7(I),m=g+32|0,B=e[m>>2]|0,u7(B),p=g+36|0,S=e[p>>2]|0,u7(S),b=g+40|0,w=e[b>>2]|0,u7(w),y=g+44|0,Q=e[y>>2]|0,u7(Q),_=g+48|0,L=e[_>>2]|0,u7(L),x=g+52|0,F=e[x>>2]|0,u7(F),M=g+56|0,T=e[M>>2]|0,u7(T),N=g+60|0,G=e[N>>2]|0,u7(G),O=g+64|0,Y=e[O>>2]|0,u7(Y),t0=g+68|0,J=e[t0>>2]|0,u7(J),W=e[6416]|0,e0=W+12|0,q=e[e0>>2]|0,X=bQ[q&1](t)|0,U=(X|0)==0,U?(l0=(n|0)==0,l0?(A=0,A|0):(Z=Lh(t)|0,$0=(Z|0)==0,$0?(s0=t+4|0,i0=KB(s0)|0,e[n>>2]=i0,n0=yt(s0)|0,V=n+4|0,e[V>>2]=n0,h0=n+8|0,e[h0>>2]=0,o0=t+44|0,g0=e[o0>>2]|0,j=n+12|0,e[j>>2]=g0,c0=t+48|0,I0=c0,w0=I0,C0=e[w0>>2]|0,v0=I0+4|0,d0=v0,p0=e[d0>>2]|0,B0=n+16|0,E0=B0,b0=E0,e[b0>>2]=C0,K0=E0+4|0,Q0=K0,e[Q0>>2]=p0,M0=t+56|0,T0=M0,G0=T0,P0=e[G0>>2]|0,y0=T0+4|0,Y0=y0,F0=e[Y0>>2]|0,_0=n+24|0,N0=_0,J0=N0,e[J0>>2]=P0,O0=N0+4|0,z0=O0,e[z0>>2]=F0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function Zk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0;C0=C,A=t+28|0,a=e[A>>2]|0,I0=n,v0=I0+48|0;do e[I0>>2]=0,I0=I0+4|0;while((I0|0)<(v0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(o0=t+8|0,g0=e[o0>>2]|0,j=e[a>>2]|0,c0=j>>1,u0=a+4|0,g=e[u0>>2]|0,u=(g|0)/(j|0)&-1,E=n+24|0,e[E>>2]=u,e[n>>2]=1,I=a+3360|0,m=e[I>>2]|0,B=+(m|0),p=+(c0|0),S=B*p,b=+(g0|0),w=S/b,D=+Oi(w),Q=~~D,_=n+12|0,e[_>>2]=Q,L=a+3364|0,x=e[L>>2]|0,F=+(x|0),M=F*p,T=M/b,N=+Oi(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*p,e0=W/b,q=+Oi(e0),X=~~q,U=n+20|0,e[U>>2]=X,l0=n+32|0,A1[l0>>3]=7,K=+(O|0),$0=a+3376|0,s0=+A1[$0>>3],i0=K*s0,n0=~~i0,V=n+8|0,e[V>>2]=n0,h0=n+4|0,e[h0>>2]=n0)}function Wk(t){t=t|0;var n=0,A=0,a=0,g=0;a=C,n=t,g=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(g|0))}function Lh(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0;return p=C,A=t+64|0,a=e[A>>2]|0,g=a+104|0,u=e[g>>2]|0,E=u+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function jk(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0;if(b6=C,B=t+104|0,p=e[B>>2]|0,z1=t+64|0,v2=e[z1>>2]|0,_5=v2+104|0,g2=e[_5>>2]|0,L2=v2+4|0,F5=e[L2>>2]|0,L3=F5+28|0,M5=e[L3>>2]|0,S=g2+112|0,T=+A1[S>>3],X=+Oi(T),o0=~~X,B0=(p+12|0)+(o0<<2)|0,Y0=e[B0>>2]|0,H0=yt(Y0)|0,n1=H0<<3,x1=t+28|0,_1=e[x1>>2]|0,u2=(_1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,u2?(L5=g2+100|0,b5=e[L5>>2]|0,U=d2,v0=L5,E0=b5):(Z2=g2+104|0,f5=e[Z2>>2]|0,k5=g2+100|0,P5=e[k5>>2]|0,l5=r5(f5,d2)|0,m5=r5(f5,P5)|0,U=l5,v0=k5,E0=m5),n5=M5+(_1<<2)|0,x2=e[n5>>2]|0,_2=x2>>1,p2=M5+3372|0,C5=e[p2>>2]|0,R5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=R5*D5,q2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,p5=g2+120|0,c5)return M1=e[p5>>2]|0,S5=(M1|0)==0,S5?(e[p5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[p5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){u2?$5=a5:(B5=g2+104|0,t5=e[B5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],u5=15/J2,i5=g2+84|0,x5=e[i5>>2]|0,j2=n1-$5|0,Q5=x5+j2|0,q5=(Q5|0)>(q2|0);e:do if(q5)if(j5=(o0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(f3=n1-$5|0,h3=f3+x5|0,Y5=(h3|0)>(q2|0),Y5)for(O3=o0;;){if(X5=O3+-1|0,n3=(p+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,J5=yt(m3)|0,v3=J5<<3,u3=(O3|0)>1,B3=(v3|0)>($5|0),k6=B3&u3,!k6){V5=X5;break e}if(I=e[i5>>2]|0,z3=v3-$5|0,G3=z3+I|0,z5=(G3|0)>(q2|0),z5)O3=X5;else{V5=X5;break}}else V5=o0;else V5=o0;else if(w3=(Q5|0)<(q2|0),w3)if(W5=o0+1|0,i6=(W5|0)<15,U3=(n1|0)<($5|0),X3=U3&i6,X3)if(a3=n1-$5|0,l3=a3+x5|0,c3=(l3|0)<(q2|0),c3)for(H5=W5;;){if(C3=(p+12|0)+(H5<<2)|0,U5=e[C3>>2]|0,O5=yt(U5)|0,v5=O5<<3,P3=H5+1|0,o6=(P3|0)<15,e3=(v5|0)<($5|0),p6=e3&o6,!p6){V5=H5;break e}if(E=e[i5>>2]|0,A3=v5-$5|0,R3=A3+E|0,u6=(R3|0)<(q2|0),u6)H5=P3;else{V5=H5;break}}else V5=o0;else V5=o0;else V5=o0;while(!1);Q3=+(V5|0),k3=+A1[S>>3],y3=Q3-k3,r6=+Oi(y3),j3=+(_2|0),b=r6/j3,w=F5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*b,_=-u5,L=Q<_,C6=L?_:Q,x=C6>u5,b3=x?u5:C6,F=b3/D,M=F*j3,N=M+k3,A1[S>>3]=N,G=+Oi(N),O=~~G,z=(p+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=yt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,S3=O,e6=J}else W=d2,S3=o0,e6=n1;e0=(W|0)>0,q=(e6|0)<(U|0),c6=q&e0;e:do if(c6)if(l0=g2+88|0,Z=e[l0>>2]|0,K=e6-U|0,$0=K+Z|0,s0=($0|0)<0,s0)for(g3=S3,t6=e6;;){if(i0=g3+1|0,n0=(g3|0)>13,n0){q3=i0,f6=t6;break e}if(V=(p+12|0)+(i0<<2)|0,h0=e[V>>2]|0,g0=yt(h0)|0,j=g0<<3,c0=e[l0>>2]|0,u0=j-U|0,I0=u0+c0|0,w0=(I0|0)<0,w0)g3=i0,t6=j;else{q3=i0,f6=j;break}}else q3=S3,f6=e6;else q3=S3,f6=e6;while(!1);C0=e[v0>>2]|0,d0=(C0|0)>0,p0=(f6|0)>(E0|0),B6=p0&d0;e:do if(B6)if(b0=g2+88|0,K0=e[b0>>2]|0,x0=f6-E0|0,Q0=x0+K0|0,M0=e[p2>>2]|0,T0=(Q0|0)>(M0|0),T0)for(l6=q3,H3=f6;;){if(G0=l6+-1|0,P0=(l6|0)<1,P0){d3=G0,D3=H3;break e}if(y0=(p+12|0)+(G0<<2)|0,F0=e[y0>>2]|0,_0=yt(F0)|0,N0=_0<<3,V0=e[b0>>2]|0,J0=N0-E0|0,O0=J0+V0|0,z0=e[p2>>2]|0,U0=(O0|0)>(z0|0),U0)l6=G0,H3=N0;else{d3=G0,D3=N0;break}}else d3=q3,D3=f6;else d3=q3,D3=f6;while(!1);if(q0=(d3|0)<0,q0)r1=e[p2>>2]|0,e1=g2+88|0,D0=e[e1>>2]|0,i1=r1+E0|0,c1=i1-D0|0,$1=(c1|0)/8&-1,u1=g2+124|0,e[u1>>2]=0,g1=p+12|0,l1=e[g1>>2]|0,s1=yt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,Z0=$1<<3,qk(o1,Z0),I1=e[g1>>2]|0,h1=yt(I1)|0,m1=h1<<3,Y3=m1):Y3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,p1=U+7|0,B1=p1-E1|0,Q1=(B1|0)/8&-1,L1=(d3|0)>14,g=L1?14:d3,w1=g2+124|0,e[w1>>2]=g,b1=(p+12|0)+(g<<2)|0,R1=e[b1>>2]|0,F1=yt(R1)|0,G1=Q1-F1|0,v1=(G1|0)>0,U1=e[b1>>2]|0,v1)for(N1=U1,v6=G1;;)if(Z1=v6+-1|0,U2(N1,0,8),V1=(v6|0)>1,O1=e[b1>>2]|0,V1)N1=O1,v6=Z1;else{u=O1;break}else u=U1;q1=yt(u)|0,H1=q1<<3,Y3=H1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?Z3=37:(n2=e[v0>>2]|0,W1=(n2|0)>0,W1&&(Z3=37));do if((Z3|0)==37){if(P1=(E0|0)>0,c2=(Y3|0)>(E0|0),x6=P1&c2,x6){o2=Y3-E0|0,E2=g2+88|0,A2=e[E2>>2]|0,K1=o2+A2|0,e[E2>>2]=K1;break}if(h2=(U|0)>0,$2=(Y3|0)<(U|0),Y6=h2&$2,Y6){i2=Y3-U|0,l2=g2+88|0,r2=e[l2>>2]|0,a2=i2+r2|0,e[l2>>2]=a2;break}if(s2=g2+88|0,f2=e[s2>>2]|0,t2=(f2|0)>(q2|0),t2)if(P1){y2=Y3-E0|0,k2=f2+y2|0,w2=(k2|0)<(q2|0),n=w2?q2:k2,e[s2>>2]=n;break}else{e[s2>>2]=q2;break}else if(h2){C2=Y3-U|0,F2=f2+C2|0,D2=(F2|0)>(q2|0),a=D2?q2:F2,e[s2>>2]=a;break}else{e[s2>>2]=q2;break}}while(!1);return N2=e[g5>>2]|0,K2=(N2|0)>0,K2?(G2=e[x1>>2]|0,H2=(G2|0)==0,H2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),o5=Y3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function jB(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0;return E0=C,a=t+104|0,g=e[a>>2]|0,D=g+120|0,z=e[D>>2]|0,K=(z|0)==0,K?(A=0,A|0):(u0=(n|0)==0,u0||(I0=z+104|0,w0=e[I0>>2]|0,C0=z+64|0,v0=e[C0>>2]|0,u=v0+104|0,E=e[u>>2]|0,I=E+80|0,m=e[I>>2]|0,p0=(m|0)==0,p0?d0=7:(B=g+124|0,p=e[B>>2]|0,d0=p),S=(w0+12|0)+(d0<<2)|0,b=e[S>>2]|0,w=KB(b)|0,e[n>>2]=w,y=e[S>>2]|0,Q=yt(y)|0,_=n+4|0,e[_>>2]=Q,L=n+8|0,e[L>>2]=0,x=z+44|0,F=e[x>>2]|0,M=n+12|0,e[M>>2]=F,T=z+48|0,N=T,G=N,O=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,q=e0,e[q>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,l0=z+56|0,Z=l0,$0=Z,s0=e[$0>>2]|0,i0=Z+4|0,n0=i0,V=e[n0>>2]|0,h0=n+24|0,o0=h0,g0=o0,e[g0>>2]=s0,j=o0+4|0,c0=j,e[c0>>2]=V),e[D>>2]=0,A=1,A|0)}function Xk(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0;M=C,x=n,T=x+112|0;do e[x>>2]=0,x=x+4|0;while((x|0)<(T|0));if(A=n+64|0,e[A>>2]=t,a=n+76|0,e[a>>2]=0,B=n+68|0,e[B>>2]=0,p=e[t>>2]|0,S=(p|0)==0,S)return 0;for(b=n4(1,72)|0,w=n+104|0,e[w>>2]=b,y=b+4|0,s[y>>2]=-9999,D=n+4|0,Q=b+12|0,g=b+40|0,L=0;;)if(u=(L|0)==7,u){e[g>>2]=D,Ap(D),L=8;continue}else{if(E=n4(1,20)|0,I=Q+(L<<2)|0,e[I>>2]=E,Ap(E),m=L+1|0,_=(m|0)==15,_)break;L=m;continue}return 0}function qt(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=n+7|0,a=A&-8,y=t+72|0,x=e[y>>2]|0,F=x+a|0,M=t+76|0,T=e[M>>2]|0,N=(F|0)>(T|0),G=t+68|0,O=e[G>>2]|0,N?(g=(O|0)==0,g||(u=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,B=m+x|0,e[I>>2]=B,p=t+84|0,S=e[p>>2]|0,b=E+4|0,e[b>>2]=S,e[E>>2]=u,e[p>>2]=E),e[M>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0):(Q=O,_=x,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0)}function eS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0;if(Z=C,a=t+104|0,g=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,u=e[W>>2]|0,E=(u|0)==0,n=t+68|0,A=e[n>>2]|0,E?Q=A:(I=t+76|0,m=e[I>>2]|0,B=m+u|0,p=qi(A,B)|0,e[n>>2]=p,S=e[W>>2]|0,b=e[I>>2]|0,w=b+S|0,e[I>>2]=w,e[W>>2]=0,Q=p),y=t+72|0,e[y>>2]=0,e[D>>2]=0,_=(Q|0)==0,_||I2(Q),L=(g|0)==0,L){U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}else q=0;for(;;){if(x=(g+12|0)+(q<<2)|0,F=e[x>>2]|0,ap(F),M=(q|0)==7,M){q=8;continue}if(T=e[x>>2]|0,I2(T),N=q+1|0,e0=(N|0)==15,e0)break;q=N}I2(g),U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}function tS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=rS(t,n,1)|0,g=(a|0)==0,g?(m=t+104|0,B=e[m>>2]|0,p=FS(n)|0,S=B+60|0,e[S>>2]=p,b=n4(1,180)|0,e[B>>2]=b,aS(b,n),w=B+80|0,Zk(n,w),y=t+64|0,D=y,u=D,e[u>>2]=3,E=D+4|0,I=E,e[I>>2]=0,A=0,A|0):(A=1,A|0)}function XB(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0;if(G2=C,p=(t|0)==0,!p){if(S=t+4|0,B0=e[S>>2]|0,Y0=(B0|0)!=0,Y0?(H0=B0+28|0,n1=e[H0>>2]|0,y0=n1):y0=0,x1=t+104|0,_1=e[x1>>2]|0,z1=(_1|0)!=0,z1){if(a2=e[_1>>2]|0,b=(a2|0)==0,b||($S(a2),N=e[_1>>2]|0,I2(N)),U=_1+12|0,g0=e[U>>2]|0,I0=(g0|0)==0,I0||(w0=e[g0>>2]|0,up(w0),C0=e[U>>2]|0,v0=e[C0>>2]|0,I2(v0),d0=e[U>>2]|0,I2(d0)),p0=_1+16|0,E0=e[p0>>2]|0,b0=(E0|0)==0,b0||(K0=e[E0>>2]|0,up(K0),x0=e[p0>>2]|0,Q0=e[x0>>2]|0,I2(Q0),M0=e[p0>>2]|0,I2(M0)),T0=_1+48|0,G0=e[T0>>2]|0,P0=(G0|0)==0,!P0){if(F0=(y0|0)==0,F0)d1=G0;else if(_0=y0+16|0,N0=e[_0>>2]|0,V0=(N0|0)>0,V0){if(J0=y0+800|0,O0=e[J0>>2]|0,z0=25640+(O0<<2)|0,U0=e[z0>>2]|0,q0=U0+16|0,r1=e[q0>>2]|0,e1=e[G0>>2]|0,to[r1&7](e1),D0=e[_0>>2]|0,i1=(D0|0)>1,i1)for($1=1;n=e[T0>>2]|0,c1=J0+($1<<2)|0,u1=e[c1>>2]|0,g1=25640+(u1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=n+($1<<2)|0,Z0=e[o1>>2]|0,to[a1&7](Z0),I1=$1+1|0,h1=e[_0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[T0>>2]|0,d1=A}else d1=G0;I2(d1)}if(E1=_1+52|0,p1=e[E1>>2]|0,B1=(p1|0)==0,!B1){if(Q1=(y0|0)==0,Q1)K1=p1;else if(L1=y0+20|0,w1=e[L1>>2]|0,b1=(w1|0)>0,b1){if(R1=y0+1312|0,F1=e[R1>>2]|0,G1=25648+(F1<<2)|0,v1=e[G1>>2]|0,U1=v1+16|0,Z1=e[U1>>2]|0,N1=e[p1>>2]|0,to[Z1&7](N1),V1=e[L1>>2]|0,O1=(V1|0)>1,O1)for(H1=1;a=e[E1>>2]|0,q1=R1+(H1<<2)|0,Y1=e[q1>>2]|0,j1=25648+(Y1<<2)|0,n2=e[j1>>2]|0,W1=n2+16|0,P1=e[W1>>2]|0,c2=a+(H1<<2)|0,u2=e[c2>>2]|0,to[P1&7](u2),o2=H1+1|0,E2=e[L1>>2]|0,A2=(o2|0)<(E2|0),A2;)H1=o2;g=e[E1>>2]|0,K1=g}else K1=p1;I2(K1)}if(h2=_1+56|0,$2=e[h2>>2]|0,i2=($2|0)==0,!i2){if(l2=(y0|0)==0,l2)D2=$2;else if(r2=y0+28|0,X1=e[r2>>2]|0,s2=(X1|0)>0,s2){if(aQ($2),f2=e[r2>>2]|0,t2=(f2|0)>1,t2)for(k2=1;u=e[h2>>2]|0,y2=u+(k2*52|0)|0,aQ(y2),w2=k2+1|0,C2=e[r2>>2]|0,F2=(w2|0)<(C2|0),F2;)k2=w2;E=e[h2>>2]|0,D2=E}else D2=$2;I2(D2)}w=_1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||MS(y),Q=_1+80|0,Wk(Q),_=_1+20|0,EQ(_),L=_1+32|0,EQ(L)}if(x=t+8|0,F=e[x>>2]|0,M=(F|0)==0,!M){if(Y0)if(T=B0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,u0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?q=u0:(I2(t0),m=e[T>>2]|0,q=m),W=N2+1|0,e0=(W|0)<(q|0),!!e0;)I=e[x>>2]|0,Y=I,u0=q,N2=W;B=e[x>>2]|0,X=B}else X=F;else X=F;I2(X),l0=t+12|0,Z=e[l0>>2]|0,K=(Z|0)==0,K||I2(Z)}z1&&($0=_1+64|0,s0=e[$0>>2]|0,i0=(s0|0)==0,i0||I2(s0),n0=_1+68|0,V=e[n0>>2]|0,h0=(V|0)==0,h0||I2(V),o0=_1+72|0,j=e[o0>>2]|0,c0=(j|0)==0,c0||I2(j),I2(_1)),d2=t,H2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(H2|0))}}function eQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0;if(Y0=C,I=t+4|0,m=e[I>>2]|0,x=t+104|0,W=e[x>>2]|0,n0=W+64|0,v0=e[n0>>2]|0,Q0=(v0|0)==0,Q0||I2(v0),e[n0>>2]=0,M0=W+68|0,T0=e[M0>>2]|0,G0=(T0|0)==0,G0||I2(T0),e[M0>>2]=0,B=W+72|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),e[B>>2]=0,b=t+20|0,w=e[b>>2]|0,y=w+n|0,D=t+16|0,Q=e[D>>2]|0,_=(y|0)<(Q|0),_)A=m+4|0,u=e[A>>2]|0,X=u,y0=11;else if(L=n<<1,F=w+L|0,e[D>>2]=F,M=m+4|0,T=e[M>>2]|0,N=(T|0)>0,N)if(G=t+8|0,O=e[G>>2]|0,z=e[O>>2]|0,Y=F<<2,t0=qi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,q=(e0|0)>1,q)for(i0=1;;)if(a=e[D>>2]|0,$0=e[G>>2]|0,s0=$0+(i0<<2)|0,V=e[s0>>2]|0,h0=a<<2,o0=qi(V,h0)|0,g0=e[G>>2]|0,j=g0+(i0<<2)|0,e[j>>2]=o0,c0=i0+1|0,u0=e[M>>2]|0,I0=(c0|0)<(u0|0),I0)i0=c0;else{X=u0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for(l0=t+8|0,Z=e[b>>2]|0,K=t+12|0,P0=0;;)if(w0=e[l0>>2]|0,C0=w0+(P0<<2)|0,d0=e[C0>>2]|0,p0=d0+(Z<<2)|0,B0=e[K>>2]|0,E0=B0+(P0<<2)|0,e[E0>>2]=p0,b0=P0+1|0,K0=(b0|0)<(X|0),K0)P0=b0;else{g=K;break}return x0=e[g>>2]|0,x0|0}return E=t+12|0,g=E,x0=e[g>>2]|0,x0|0}function iS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0;if(O0=C,I=t+4|0,m=e[I>>2]|0,x=m+28|0,W=e[x>>2]|0,n0=(n|0)<1,!n0)return w0=t+20|0,C0=e[w0>>2]|0,d0=C0+n|0,p0=t+16|0,B0=e[p0>>2]|0,E0=(d0|0)>(B0|0),E0?(a=-131,C=O0,a|0):(e[w0>>2]=d0,b0=t+28|0,K0=e[b0>>2]|0,x0=(K0|0)==0,!x0||(Q0=t+48|0,M0=e[Q0>>2]|0,T0=d0-M0|0,P0=W+4|0,y0=e[P0>>2]|0,Y0=(T0|0)>(y0|0),!Y0)?(a=0,C=O0,a|0):(iQ(t),a=0,C=O0,a|0));if(v0=C,C=C+128|0,G0=t+28|0,F0=e[G0>>2]|0,_0=(F0|0)==0,_0&&iQ(t),N0=W+4|0,B=e[N0>>2]|0,p=B*3|0,eQ(t,p)|0,S=t+20|0,b=e[S>>2]|0,w=t+32|0,e[w>>2]=b,y=e[N0>>2]|0,D=y*3|0,Q=b+D|0,e[S>>2]=Q,_=m+4|0,L=e[_>>2]|0,F=(L|0)>0,!F)return a=0,C=O0,a|0;for(M=t+8|0,T=b,V0=0;;){if(N=(T|0)>64,N?(G=e[N0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(V0<<2)|0,t0=e[Y>>2]|0,u=T-A|0,J=t0+(u<<2)|0,+rQ(J,v0,A,32),e0=e[M>>2]|0,q=e0+(V0<<2)|0,X=e[q>>2]|0,U=e[w>>2]|0,l0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,K=e[S>>2]|0,$0=K-U|0,nQ(v0,Z,32,l0,$0)):(s0=e[M>>2]|0,i0=s0+(V0<<2)|0,V=e[i0>>2]|0,h0=V+(T<<2)|0,o0=e[S>>2]|0,g0=o0-T|0,j=g0<<2,Ae(h0|0,0,j|0)|0),c0=V0+1|0,u0=e[_>>2]|0,I0=(c0|0)<(u0|0),!I0){a=0;break}g=e[w>>2]|0,T=g,V0=c0}return C=O0,a|0}function tQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,S=t+4|0,b=e[S>>2]|0,o2=b+28|0,v5=e[o2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,f6=S6+60|0,d6=e[f6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,w=t+40|0,G=e[w>>2]|0,l0=v5+(G<<2)|0,j=e[l0>>2]|0,b0=(j|0)/2&-1,_0=t9-b0|0,D0=n+104|0,Z0=e[D0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(f2=t+32|0,G2=e[f2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;p2=lS(t)|0,p5=(p2|0)==-1;do if(p5){if(J2=e[f2>>2]|0,f3=(J2|0)==0,f3)return a=0,a|0;z3=t+44|0,e[z3>>2]=0,u=z3,O3=0;break}else if(C3=e[v5>>2]|0,P3=v5+4|0,M5=e[P3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,u=e3,O3=0;break}else{e[e3>>2]=p2,u=e3,O3=p2;break}while(!1);if(A3=e[G6>>2]|0,R3=e[w>>2]|0,u6=v5+(R3<<2)|0,Q3=e[u6>>2]|0,k3=(Q3|0)/4&-1,y3=k3+A3|0,j3=v5+(O3<<2)|0,V5=e[j3>>2]|0,S3=(V5|0)/4&-1,g3=y3+S3|0,q3=(V5|0)/2&-1,l6=g3+q3|0,d3=t+20|0,v6=e[d3>>2]|0,k6=(v6|0)<(l6|0),k6)return a=0,a|0;if(p6=n+84|0,X3=e[p6>>2]|0,c6=(X3|0)==0,!c6)for(I9=X3;B6=I9+4|0,x6=e[B6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(x6|0)==0,!C6;)I9=x6;b3=n+80|0,e6=e[b3>>2]|0,t6=(e6|0)==0,t6||(H3=n+68|0,D3=e[H3>>2]|0,Y3=n+76|0,Z3=e[Y3>>2]|0,b6=Z3+e6|0,A6=qi(D3,b6)|0,e[H3>>2]=A6,t3=e[b3>>2]|0,O6=e[Y3>>2]|0,s3=O6+t3|0,e[Y3>>2]=s3,e[b3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[p6>>2]=0,_3=t+36|0,N6=e[_3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[w>>2]|0,L6=n+28|0,e[L6>>2]=Q6,K6=e[u>>2]|0,I6=n+32|0,e[I6>>2]=K6,J6=(Q6|0)==0;do if(J6)if(s9=cS(t)|0,R6=(s9|0)==0,U6=Z0+8|0,R6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(F3=(N6|0)==0,j6=(K6|0)==0,N9=F3|j6,e9=Z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,M3=e[F6>>2]|0,M6=y6+4|0,A9=M6,X6=e[A9>>2]|0,u9=js(M3|0,X6|0,1,0)|0,f9=H6,d9=z6,a9=d9,e[a9>>2]=u9,$9=d9+4|0,T9=$9,e[T9>>2]=f9,E6=n+56|0,T6=E6,y=T6,e[y>>2]=M3,D=T6+4|0,Q=D,e[Q>>2]=X6,_=t+56|0,L=_,x=L,F=e[x>>2]|0,M=L+4|0,T=M,N=e[T>>2]|0,O=n+48|0,z=O,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=N,W=e[w>>2]|0,e0=v5+(W<<2)|0,q=e[e0>>2]|0,X=n+36|0,e[X>>2]=q,U=Z0+4|0,Z=+s[U>>2],K=+s[d6>>2],$0=Z>K,$0?(s[d6>>2]=Z,s0=Z):s0=K,i0=+GS(s0,t),s[d6>>2]=i0,s[U>>2]=i0,n0=b+4|0,V=e[n0>>2]|0,h0=V<<2,o0=h0+7|0,g0=o0&-8,c0=e[a6>>2]|0,u0=g0+c0|0,I0=n+76|0,w0=e[I0>>2]|0,C0=(u0|0)>(w0|0),v0=n+68|0,d0=e[v0>>2]|0,C0?(p0=(d0|0)==0,p0||(B0=d0,E0=S9(8)|0,K0=e[b3>>2]|0,x0=K0+c0|0,e[b3>>2]=x0,Q0=e[p6>>2]|0,M0=E0+4|0,e[M0>>2]=Q0,e[E0>>2]=B0,e[p6>>2]=E0),e[I0>>2]=g0,T0=S9(g0)|0,e[v0>>2]=T0,e[a6>>2]=0,g=e[n0>>2]|0,P0=T0,y0=0,N0=g,U0=g0):(P0=d0,y0=c0,N0=V,U0=w0),G0=P0+y0|0,Y0=y0+g0|0,e[a6>>2]=Y0,e[n>>2]=G0,F0=N0<<2,V0=F0+7|0,J0=V0&-8,O0=J0+Y0|0,z0=(O0|0)>(U0|0),z0?(q0=(P0|0)==0,q0||(r1=P0,H0=S9(8)|0,e1=e[b3>>2]|0,i1=e1+Y0|0,e[b3>>2]=i1,c1=e[p6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=r1,e[p6>>2]=H0),e[I0>>2]=J0,u1=S9(J0)|0,e[v0>>2]=u1,e[a6>>2]=0,E=e[n0>>2]|0,l1=u1,s1=0,n1=E,O5=J0):(l1=P0,s1=Y0,n1=N0,O5=U0),g1=l1+s1|0,a1=s1+J0|0,e[a6>>2]=a1,e[Z0>>2]=g1,o1=(n1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,L1=O5,b1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+_0|0,d1=m1<<2,E1=d1+7|0,p1=E1&-8,B1=p1+Q1|0,x1=(B1|0)>(L1|0),x1?(R1=(b1|0)==0,R1||(F1=b1,G1=S9(8)|0,v1=e[b3>>2]|0,U1=v1+Q1|0,e[b3>>2]=U1,Z1=e[p6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[p6>>2]=G1),e[I0>>2]=p1,_1=S9(p1)|0,e[v0>>2]=_1,e[a6>>2]=0,q1=_1,H1=0):(q1=b1,H1=Q1),V1=q1+H1|0,Y1=H1+p1|0,e[a6>>2]=Y1,j1=e[Z0>>2]|0,n2=j1+(i9<<2)|0,e[n2>>2]=V1,W1=e[Z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,u2=z1+(i9<<2)|0,A2=e[u2>>2]|0,s4(c2|0,A2|0,d1|0)|0,K1=e[Z0>>2]|0,h2=K1+(i9<<2)|0,$2=e[h2>>2]|0,i2=$2+(_0<<2)|0,l2=e[n>>2]|0,r2=l2+(i9<<2)|0,e[r2>>2]=i2,a2=i9+1|0,X1=e[n0>>2]|0,s2=(a2|0)<(X1|0),!s2)break e;I=e[a6>>2]|0,m=e[I0>>2]|0,B=e[v0>>2]|0,Q1=I,L1=m,b1=B,i9=a2}while(!1);if(t2=e[f2>>2]|0,y2=(t2|0)==0,!y2&&(k2=e[G6>>2]|0,w2=(k2|0)<(t2|0),!w2))return e[f2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=v5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,K2=(d2|0)>0,!K2)return a=1,a|0;if(H2=e[S6>>2]|0,gS(H2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[n0>>2]|0,o5=(z2|0)>0,o5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,L5=X2+(d2<<2)|0,e5=P2<<2,XA(X2|0,L5|0,e5|0)|0,Z2=e[n0>>2]|0,f5=(Z2|0)>1,f5))for(l5=1;p=e[d3>>2]|0,k5=e[O2>>2]|0,P5=k5+(l5<<2)|0,v2=e[P5>>2]|0,m5=v2+(d2<<2)|0,n5=p<<2,XA(v2|0,m5|0,n5|0)|0,x2=l5+1|0,_2=e[n0>>2]|0,C5=(x2|0)<(_2|0),C5;)l5=x2;return R5=e[w>>2]|0,e[_3>>2]=R5,d5=e[u>>2]|0,e[w>>2]=d5,e[G6>>2]=N2,D5=e[f2>>2]|0,G5=(D5|0)==0,G5?(u3=(d2|0)<0,B3=u3<<31>>31,G3=_,z5=G3,w3=e[z5>>2]|0,W5=G3+4|0,i6=W5,L3=e[i6>>2]|0,U3=js(w3|0,L3|0,d2|0,B3|0)|0,a3=H6,l3=_,c3=l3,e[c3>>2]=U3,H5=l3+4|0,U5=H5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,q2=(_5|0)<1,A=q2?-1:_5,e[f2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,L2=$5<<31>>31,Q5=_,q5=Q5,j5=e[q5>>2]|0,E5=Q5+4|0,h3=E5,Y5=e[h3>>2]|0,X5=js(j5|0,Y5|0,d2|0,L2|0)|0,n3=H6,m3=_,F5=m3,e[F5>>2]=X5,J5=m3+4|0,v3=J5,e[v3>>2]=n3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,B5=g2,t5=e[B5>>2]|0,s5=js(W2|0,t5|0,c5|0,S5|0)|0,h5=H6,u5=_,i5=u5,e[i5>>2]=s5,x5=u5+4|0,j2=x5,e[j2>>2]=h5,a=1,a|0))}function rS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0;if(i5=C,B=n+28|0,p=e[B>>2]|0,B1=(p|0)==0,B1||(Z1=p+8|0,P1=e[Z1>>2]|0,l2=(P1|0)<1,l2)||(F2=e[p>>2]|0,O2=(F2|0)<64,O2)||(v2=p+4|0,_5=e[v2>>2]|0,S=(_5|0)<(F2|0),S))return a=1,a|0;T=p+3656|0,X=e[T>>2]|0,J2=t,x5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(x5|0));o0=n4(1,136)|0,B0=t+104|0,e[B0>>2]=o0,Y0=t+4|0,e[Y0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,E1=Tt(n1)|0,p1=o0+44|0,e[p1>>2]=E1,Q1=n4(1,4)|0,x1=o0+12|0,e[x1>>2]=Q1,L1=n4(1,4)|0,w1=o0+16|0,e[w1>>2]=L1,b1=n4(1,20)|0,e[Q1>>2]=b1,R1=n4(1,20)|0,e[L1>>2]=R1,F1=e[p>>2]|0,G1=F1>>X,hp(b1,G1),v1=e[w1>>2]|0,U1=e[v1>>2]|0,N1=e[v2>>2]|0,_1=N1>>X,hp(U1,_1),V1=e[p>>2]|0,O1=Tt(V1)|0,q1=O1+-7|0,H1=o0+4|0,e[H1>>2]=q1,Y1=e[v2>>2]|0,j1=Tt(Y1)|0,n2=j1+-7|0,W1=o0+8|0,e[W1>>2]=n2,c2=(A|0)==0;e:do if(c2){if(p2=p+2848|0,C5=e[p2>>2]|0,R5=(C5|0)==0,R5&&(d5=p+24|0,D5=e[d5>>2]|0,G5=n4(D5,56)|0,e[p2>>2]=G5,q2=e[d5>>2]|0,I5=(q2|0)>0,I5)){for(m1=q2,B5=0;;){if(A5=(p+1824|0)+(B5<<2)|0,c5=e[A5>>2]|0,p5=(c5|0)==0,p5){M1=m1;break}if(g5=e[p2>>2]|0,a5=g5+(B5*56|0)|0,W2=sb(a5,c5)|0,b=(W2|0)==0,!b){u5=20;break}if(w=e[A5>>2]|0,fp(w),e[A5>>2]=0,y=B5+1|0,D=e[d5>>2]|0,Q=(y|0)<(D|0),Q)m1=D,B5=y;else break e}if((u5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(p+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(fp(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),Z0=h5+1|0,I1=(Z0|0)<(h1|0),I1;)d1=h1,h5=Z0;return XB(t),a=-1,a|0}}else{if(z1=o0+20|0,u2=e[p>>2]|0,IQ(z1,u2),o2=o0+32|0,E2=e[v2>>2]|0,IQ(o2,E2),A2=p+2848|0,K1=e[A2>>2]|0,h2=(K1|0)==0,h2&&($2=p+24|0,i2=e[$2>>2]|0,r2=n4(i2,56)|0,e[A2>>2]=r2,a2=e[$2>>2]|0,X1=(a2|0)>0,X1&&(s2=p+1824|0,f2=e[s2>>2]|0,dQ(r2,f2)|0,t2=e[$2>>2]|0,y2=(t2|0)>1,y2)))for(w2=1;g=e[A2>>2]|0,k2=g+(w2*56|0)|0,C2=(p+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,dQ(k2,D2)|0,N2=w2+1|0,d2=e[$2>>2]|0,K2=(N2|0)<(d2|0),K2;)w2=N2;G2=p+28|0,H2=e[G2>>2]|0,M2=n4(H2,52)|0,P2=o0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=p+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(L5=e5+(g2*52|0)|0,b5=(p+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,f5=e[Z2>>2]|0,k5=p+(f5<<2)|0,P5=e[k5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,NS(L5,Z2,T1,l5,m5),n5=g2+1|0,x2=e[G2>>2]|0,_2=(n5|0)<(x2|0),!_2)break t;u=e[P2>>2]|0,e5=u,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[v2>>2]|0,L=t+16|0,e[L>>2]=_,x=n+4|0,F=e[x>>2]|0,M=F<<2,N=S9(M)|0,G=t+8|0,e[G>>2]=N,O=S9(M)|0,z=t+12|0,e[z>>2]=O,Y=(F|0)>0,Y&&(t0=n4(_,4)|0,e[N>>2]=t0,J=(F|0)>1,J))for(q=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(q<<2)|0,e[e0>>2]=W,U=q+1|0,l0=(U|0)<(F|0),l0;)q=U;if(Z=t+36|0,e[Z>>2]=0,K=t+40|0,e[K>>2]=0,$0=e[v2>>2]|0,s0=($0|0)/2&-1,i0=t+48|0,e[i0>>2]=s0,n0=t+20|0,e[n0>>2]=s0,V=p+16|0,h0=e[V>>2]|0,g0=n4(h0,4)|0,j=o0+48|0,e[j>>2]=g0,c0=p+20|0,u0=e[c0>>2]|0,I0=n4(u0,4)|0,w0=o0+52|0,e[w0>>2]=I0,C0=e[V>>2]|0,v0=(C0|0)>0,v0)for(t5=0;E0=(p+800|0)+(t5<<2)|0,b0=e[E0>>2]|0,K0=25640+(b0<<2)|0,x0=e[K0>>2]|0,Q0=x0+8|0,M0=e[Q0>>2]|0,T0=(p+1056|0)+(t5<<2)|0,G0=e[T0>>2]|0,P0=f7[M0&15](t,G0)|0,y0=e[j>>2]|0,F0=y0+(t5<<2)|0,e[F0>>2]=P0,_0=t5+1|0,N0=e[V>>2]|0,V0=(_0|0)<(N0|0),V0;)t5=_0;if(d0=e[c0>>2]|0,p0=(d0|0)>0,p0)s5=0;else return a=0,a|0;for(;;)if(J0=(p+1312|0)+(s5<<2)|0,O0=e[J0>>2]|0,z0=25648+(O0<<2)|0,U0=e[z0>>2]|0,q0=U0+8|0,r1=e[q0>>2]|0,e1=(p+1568|0)+(s5<<2)|0,D0=e[e1>>2]|0,i1=f7[r1&15](t,D0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,u1=s5+1|0,g1=e[c0>>2]|0,l1=(u1|0)<(g1|0),l1)s5=u1;else{a=0;break}return a|0}function iQ(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0;if(x0=C,C=C+64|0,g=x0,u=t+20|0,Q=e[u>>2]|0,Y=Q<<2,n=Y,$0=C,C=C+((1*n|0)+15&-16)|0,I0=t+28|0,e[I0>>2]=1,C0=t+48|0,v0=e[C0>>2]|0,d0=Q-v0|0,p0=(d0|0)>32,!p0){C=x0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,B=e[m>>2]|0,p=(B|0)>0,!p){C=x0;return}for(S=t+8|0,b=Q,B0=0;;){if(w=(b|0)>0,w)for(y=e[S>>2]|0,D=y+(B0<<2)|0,_=e[D>>2]|0,E0=0;L=E0^-1,x=b+L|0,F=_+(x<<2)|0,M=e[F>>2]|0,T=$0+(E0<<2)|0,e[T>>2]=M,N=E0+1|0,G=(b|0)>(N|0),G;)E0=N;if(O=e[C0>>2]|0,z=b-O|0,+rQ($0,g,z,16),t0=e[u>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=$0+(A<<2)|0,a=A+-16|0,e0=$0+(a<<2)|0,nQ(g,e0,16,W,J),q=e[u>>2]|0,X=(q|0)>0,X)for(U=e[S>>2]|0,l0=U+(B0<<2)|0,Z=e[l0>>2]|0,b0=0;K=$0+(b0<<2)|0,s0=e[K>>2]|0,i0=b0^-1,n0=q+i0|0,V=Z+(n0<<2)|0,e[V>>2]=s0,h0=b0+1|0,o0=(q|0)>(h0|0),o0;)b0=h0;if(g0=B0+1|0,j=e[E>>2]|0,c0=j+4|0,u0=e[c0>>2]|0,w0=(g0|0)<(u0|0),w0)b=q,B0=g0;else break}C=x0}function nS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0;a2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),l0=e[I>>2]|0,j=(l0|0)>1;e:do if(j)for(b0=t+8|0,_0=e[b0>>2]|0,g=d[_0>>0]|0,D0=g,P1=1;;){if(Z0=D0<<24>>24==0,Z0){W1=P1;break e}if(w1=_0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<(l0|0),_)D0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);L=(W1|0)==(l0|0);e:do if(L){if(U2(n,1,1),x=t+8|0,F=e[x>>2]|0,M=d[F>>0]|0,T=M<<24>>24,N=T+-1|0,U2(n,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(y=O,q1=0,z1=1;;){if(Y=e[x>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,q=d[e0>>0]|0,X=J<<24>>24>q<<24>>24,X)for(U=q<<24>>24,Z=J<<24>>24,s0=y,H1=q1,$2=U;;)if(K=z1-H1|0,$0=s0-H1|0,i0=Tt($0)|0,U2(n,K,i0),n0=$2+1|0,n2=(n0|0)==(Z|0),u=e[I>>2]|0,n2){o0=u,Y1=z1;break}else s0=u,H1=z1,$2=n0;else o0=y,Y1=q1;if(V=z1+1|0,h0=(V|0)<(o0|0),h0)y=o0,q1=Y1,z1=V;else{a=o0,O1=Y1,c2=V;break}}else a=O,O1=0,c2=1;g0=c2-O1|0,c0=a-O1|0,u0=Tt(c0)|0,U2(n,g0,u0)}else{U2(n,0,1),I0=e[I>>2]|0,w0=(I0|0)>0;t:do if(w0)for(C0=t+8|0,v0=e[C0>>2]|0,o2=0;;){if(d0=v0+o2|0,p0=d[d0>>0]|0,B0=p0<<24>>24==0,B0){u2=o2;break t}if(E0=o2+1|0,K0=(E0|0)<(I0|0),K0)o2=E0;else{u2=E0;break}}else u2=0;while(!1);if(x0=(u2|0)==(I0|0),x0){if(U2(n,0,1),Q0=e[I>>2]|0,M0=(Q0|0)>0,!M0)break;for(T0=t+8|0,E2=0;;)if(G0=e[T0>>2]|0,P0=G0+E2|0,y0=d[P0>>0]|0,Y0=y0<<24>>24,F0=Y0+-1|0,U2(n,F0,5),N0=E2+1|0,V0=e[I>>2]|0,J0=(N0|0)<(V0|0),J0)E2=N0;else break e}if(U2(n,1,1),O0=e[I>>2]|0,z0=(O0|0)>0,z0)for(U0=t+8|0,A2=0;q0=e[U0>>2]|0,r1=q0+A2|0,H0=d[r1>>0]|0,e1=H0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[U0>>2]|0,c1=i1+A2|0,$1=d[c1>>0]|0,u1=$1<<24>>24,g1=u1+-1|0,U2(n,g1,5)),l1=A2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)A2=l1}while(!1);if(n1=t+12|0,o1=e[n1>>2]|0,U2(n,o1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)r2=28;else if(I1|0)return A=-1,A|0;do if((r2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,p1=e[E1>>2]|0,U2(n,p1,32),B1=t+20|0,Q1=e[B1>>2]|0,U2(n,Q1,32),x1=t+24|0,L1=e[x1>>2]|0,b1=L1+-1|0,U2(n,b1,4),R1=t+28|0,F1=e[R1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)v1=ib(t)|0,l2=v1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,l2=N1;else break;if(_1=(l2|0)>0,_1)for(K1=0;V1=e[h1>>2]|0,B=V1+(K1<<2)|0,p=e[B>>2]|0,h2=(p|0)>-1,i2=0-p|0,S=h2?p:i2,b=e[x1>>2]|0,U2(n,S,b),w=K1+1|0,j1=(w|0)==(l2|0),!j1;)K1=w}while(!1);return A=0,A|0}function Rh(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,g=(n|0)<0,g||(u=t+12|0,Q=e[u>>2]|0,L=Q+4|0,x=e[L>>2]|0,F=(x|0)>(n|0),!F)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(n<<2)|0,G=e[N>>2]|0,E=Q+8|0,I=e[E>>2]|0,m=I+n|0,B=d[m>>0]|0,p=B<<24>>24,U2(A,G,p),S=e[u>>2]|0,b=S+8|0,w=e[b>>2]|0,y=w+n|0,D=d[y>>0]|0,_=D<<24>>24,a=_,a|0)}function jm(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0;return w=C,a=t+8|0,g=e[a>>2]|0,u=(g|0)>0,!u||(E=Fh(t,n)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,B=e[m>>2]|0,p=B+(E<<2)|0,S=e[p>>2]|0,A=S,A|0)}function sS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0;if(j=C,m=t+8|0,B=e[m>>2]|0,F=(B|0)>0,!F)return g=0,C=j,g|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,u=U,l0=C,C=C+((1*u|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(K=t+16|0,n0=0;;){if(N=Fh(t,A)|0,G=(N|0)==-1,G){g=-1;break}if(O=e[K>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=l0+(n0<<2)|0,e[J>>2]=t0,W=n0+1|0,q=(W|0)<(X|0),q)n0=W;else{$0=z;break e}}return C=j,g|0}else $0=e0;while(!1);if(E=($0|0)<1,I=Z^1,s0=E|I,s0)return g=0,C=j,g|0;for(V=0,o0=0;;){for(h0=0;w=l0+(h0<<2)|0,y=e[w>>2]|0,D=y+(V<<2)|0,Q=+s[D>>2],_=h0+o0|0,L=n+(_<<2)|0,x=+s[L>>2],M=x+Q,s[L>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(p=V+1|0,S=o0+X|0,b=(p|0)<($0|0),b)V=p,o0=S;else{g=0;break}}return C=j,g|0}function oS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,g0=(t0|0)>0,!g0)return g=0,g|0;if(E0=e[t>>2]|0,F0=(E0|0)>8,F0){if(L1=(a|0)>0,!L1)return g=0,g|0;for(V1=t+16|0,X1=0;;){if(Z=Fh(t,A)|0,K=(Z|0)==-1,K){g=-1,T1=29;break}if($0=e[V1>>2]|0,s0=e[t>>2]|0,i0=r5(s0,Z)|0,n0=(s0|0)>0,n0){for(V=(s0|0)>1,O2=V?s0:1,f2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,o0=$0+(z<<2)|0,j=+s[o0>>2],c0=f2+1|0,u0=n+(f2<<2)|0,I0=+s[u0>>2],w0=I0+j,s[u0>>2]=w0,C0=(h0|0)<(s0|0),C0;)f2=c0,d2=h0;u2=X1+O2|0,s2=u2}else s2=X1;if(J=(s2|0)<(a|0),J)X1=s2;else{g=0,T1=29;break}}if((T1|0)==29)return g|0}if(e1=t+16|0,o1=(a|0)>0,o1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(q=Fh(t,A)|0,X=(q|0)==-1,X){g=-1,T1=29;break e}switch(U=e[e1>>2]|0,l0=e[t>>2]|0,l0|0){case 4:{p=q,Q=U,T1=19;break t}case 3:{S=q,_=U,T1=21;break t}case 7:{I=q,w=U,T1=13;break t}case 6:{m=q,y=U,T1=15;break t}case 8:{u=U,E=q,T1=12;break t}case 5:{B=q,D=U,T1=17;break t}case 1:{K1=q,$2=U,N2=t2,o5=0;break t}case 2:{b=q,L=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,v0=E<<3,d0=u+(v0<<2)|0,p0=+s[d0>>2],B0=t2+1|0,b0=n+(t2<<2)|0,K0=+s[b0>>2],x0=K0+p0,s[b0>>2]=x0,T0=v0,P0=u,y2=B0,K2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,T0=Q0,P0=w,y2=t2,K2=0,T1=14):(T1|0)==15?(T1=0,J0=m*6|0,z0=J0,q0=y,k2=t2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=B*5|0,g1=$1,s1=D,w2=t2,H2=0,T1=18):(T1|0)==19?(T1=0,m1=p<<2,E1=m1,B1=Q,C2=t2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=S*3|0,v1=F1,Z1=_,F2=t2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=b<<1,n2=Y1,P1=L,D2=t2,z2=0,T1=24),(T1|0)==14&&(T1=0,M0=K2+1|0,O=K2+T0|0,G0=P0+(O<<2)|0,y0=+s[G0>>2],Y0=y2+1|0,_0=n+(y2<<2)|0,N0=+s[_0>>2],V0=N0+y0,s[_0>>2]=V0,z0=T0,q0=P0,k2=Y0,G2=M0,T1=16),(T1|0)==16&&(T1=0,O0=G2+1|0,G=G2+z0|0,U0=q0+(G<<2)|0,r1=+s[U0>>2],H0=k2+1|0,D0=n+(k2<<2)|0,i1=+s[D0>>2],c1=i1+r1,s[D0>>2]=c1,g1=z0,s1=q0,w2=H0,H2=O0,T1=18),(T1|0)==18&&(T1=0,u1=H2+1|0,N=H2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,Z0=n+(w2<<2)|0,I1=+s[Z0>>2],h1=I1+a1,s[Z0>>2]=h1,E1=g1,B1=s1,C2=n1,M2=u1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,p1=B1+(T<<2)|0,Q1=+s[p1>>2],x1=C2+1|0,w1=n+(C2<<2)|0,b1=+s[w1>>2],R1=b1+Q1,s[w1>>2]=R1,v1=E1,Z1=B1,F2=x1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+v1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],_1=F2+1|0,O1=n+(F2<<2)|0,q1=+s[O1>>2],H1=q1+N1,s[O1>>2]=H1,n2=v1,P1=Z1,D2=_1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,F=z2+n2|0,W1=P1+(F<<2)|0,c2=+s[W1>>2],z1=D2+1|0,o2=n+(D2<<2)|0,E2=+s[o2>>2],A2=E2+c2,s[o2>>2]=A2,K1=n2,$2=P1,N2=z1,o5=j1),x=o5+K1|0,h2=$2+(x<<2)|0,i2=+s[h2>>2],l2=N2+1|0,r2=n+(N2<<2)|0,a2=+s[r2>>2],W=a2+i2,s[r2>>2]=W,e0=(l2|0)<(a|0),e0)t2=l2;else{g=0,T1=29;break}}return(T1|0)==29?g|0:0}function AS(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0;if(g0=C,p=t+8|0,S=e[p>>2]|0,T=(S|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=u+A|0,q=(e0|0)/(a|0)&-1,X=(W|0)<(q|0),!X))return I=0,I|0;for(U=t+16|0,K=0,i0=W;;){if(Z=Fh(t,g)|0,b=(Z|0)==-1,b){I=-1,o0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,D=r5(y,Z)|0,Q=(y|0)>0,Q)for(s0=K,V=i0,h0=0;;)if(B=h0+D|0,_=w+(B<<2)|0,L=+s[_>>2],x=s0+1|0,F=n+(s0<<2)|0,M=e[F>>2]|0,N=M+(V<<2)|0,G=+s[N>>2],O=G+L,s[N>>2]=O,z=(x|0)==(a|0),Y=z&1,m=Y+V|0,E=z?0:x,t0=h0+1|0,J=(t0|0)<(y|0),J)s0=E,V=m,h0=t0;else{$0=E,n0=m;break}else $0=K,n0=i0;if(l0=(n0|0)<(q|0),l0)K=$0,i0=n0;else{I=0,o0=8;break}}return(o0|0)==8?I|0:0}function Fh(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0;h1=C,g=t+40|0,u=e[g>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,$0=$p(n,Y)|0,I0=($0|0)>-1;do if(I0){if(Q0=t+32|0,J0=e[Q0>>2]|0,c1=J0+($0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,B=t+8|0,p=e[B>>2]|0,S=$1&32767,b=p-S|0,u1=b,l1=m;break}return w=$1+-1|0,y=t+28|0,D=e[y>>2]|0,_=D+w|0,L=d[_>>0]|0,x=L<<24>>24,lp(n,x),A=w,A|0}else F=t+8|0,M=e[F>>2]|0,u1=M,l1=0;while(!1);if(T=$p(n,u)|0,N=(T|0)<0,G=(u|0)>1,O=N&G,O)for(Z0=u;;)if(z=Z0+-1|0,t0=$p(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)Z0=z;else{a=J,n1=t0,o1=z;break}else a=N,n1=T,o1=u;if(a)return A=-1,A|0;if(q=n1>>>16,X=n1<<16,U=q|X,l0=U>>>8,Z=l0&16711935,K=U<<8,s0=K&-16711936,i0=Z|s0,n0=i0>>>4,V=n0&252645135,h0=i0<<4,o0=h0&-252645136,g0=V|o0,j=g0>>>2,c0=j&858993459,u0=g0<<2,w0=u0&-858993460,C0=c0|w0,v0=C0>>>1,d0=v0&1431655765,p0=C0<<1,B0=p0&-1431655766,E0=d0|B0,b0=u1-l1|0,K0=(b0|0)>1,K0)for(x0=t+20|0,M0=e[x0>>2]|0,G0=b0,g1=u1,a1=l1;;)if(T0=G0>>1,P0=T0+a1|0,y0=M0+(P0<<2)|0,Y0=e[y0>>2]|0,F0=Y0>>>0>E0>>>0,_0=F0?0:T0,N0=_0+a1|0,V0=F0?T0:0,O0=g1-V0|0,z0=O0-N0|0,U0=(z0|0)>1,U0)G0=z0,g1=O0,a1=N0;else{s1=N0;break}else s1=l1;return q0=t+28|0,r1=e[q0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,D0=e1<<24>>24,i1=(D0|0)>(o1|0),i1?(lp(n,o1),A=-1,A|0):(lp(n,D0),A=s1,A|0)}function aS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;for(c1=C,B=n+28|0,p=e[B>>2]|0,M=n+4|0,q=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,p0=t+8|0,e[p0>>2]=64,y0=p+2932|0,J0=e[y0>>2]|0,O0=t+12|0,e[O0>>2]=J0,e[t>>2]=q,z0=t+164|0,e[z0>>2]=128,S=p+4|0,b=e[S>>2]|0,w=(b|0)/2&-1,y=t+176|0,e[y>>2]=w,D=n4(128,4)|0,Q=t+36|0,e[Q>>2]=D,_=t+16|0,hp(_,128),L=e[Q>>2]|0,H0=0;x=+(H0|0),F=x*.024736950028266088,T=+Pn(+F),N=T,G=L+(H0<<2)|0,O=N*N,s[G>>2]=O,z=H0+1|0,r1=(z|0)==128,!r1;)H0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,l0=t+92|0,e[l0>>2]=8,Z=t+104|0,e[Z>>2]=13,K=t+108|0,e[K>>2]=8,$0=t+120|0,e[$0>>2]=17,s0=t+124|0,e[s0>>2]=8,i0=t+136|0,e[i0>>2]=22,n0=t+140|0,e[n0>>2]=8,o0=4,D0=0;;){if(V=o0<<2,g0=S9(V)|0,j=((t+40|0)+(D0<<4)|0)+8|0,e[j>>2]=g0,c0=(o0|0)>0,c0){for(u0=+(o0|0),I0=((t+40|0)+(D0<<4)|0)+12|0,m=+s[I0>>2],x0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,v0=C0/u0,d0=v0*3.141592653589793,B0=+Pn(+d0),E0=B0,b0=g0+(e1<<2)|0,s[b0>>2]=E0,K0=x0+E0,Q0=e1+1|0,U0=(Q0|0)==(o0|0),U0){A=K0;break}else x0=K0,e1=Q0;s[I0>>2]=A,E=I0,T0=A}else g=((t+40|0)+(D0<<4)|0)+12|0,I=+s[g>>2],E=g,T0=I;if(M0=1/T0,s[E>>2]=M0,G0=D0+1|0,q0=(G0|0)==7,q0)break;a=((t+40|0)+(G0<<4)|0)+4|0,u=e[a>>2]|0,o0=u,D0=G0}P0=q*7|0,Y0=n4(P0,144)|0,F0=t+152|0,e[F0>>2]=Y0,_0=e[z0>>2]|0,N0=n4(_0,4)|0,V0=t+160|0,e[V0>>2]=N0}function $S(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0;N=C,n=t+16|0,up(n),A=t+48|0,w=e[A>>2]|0,I2(w),D=t+64|0,Q=e[D>>2]|0,I2(Q),_=t+80|0,L=e[_>>2]|0,I2(L),x=t+96|0,F=e[x>>2]|0,I2(F),M=t+112|0,a=e[M>>2]|0,I2(a),g=t+128|0,u=e[g>>2]|0,I2(u),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,B=e[m>>2]|0,I2(B),p=t+152|0,S=e[p>>2]|0,I2(S),b=t+160|0,y=e[b>>2]|0,I2(y),Ae(t|0,0,180)|0}function lS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,u=t+4|0,E=e[u>>2]|0,F=E+28|0,e0=e[F>>2]|0,V=e0+2868|0,d0=t+104|0,P0=e[d0>>2]|0,q0=e[P0>>2]|0,s1=q0+168|0,B1=e[s1>>2]|0,I=q0+8|0,S=e[I>>2]|0,b=(B1|0)/(S|0)&-1,w=t+20|0,y=e[w>>2]|0,D=(y|0)/(S|0)&-1,Q=D+-4|0,_=(b|0)<0,n=_?0:b,L=D+2|0,x=q0+164|0,M=e[x>>2]|0,T=(L|0)>(M|0),T&&(e[x>>2]=L,N=q0+160|0,G=e[N>>2]|0,O=L<<2,z=qi(G,O)|0,e[N>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=q0+156|0,J=q0+160|0,W=t+8|0,q=q0+40|0,X=q0+152|0,_1=n;;){if(U=e[t0>>2]|0,l0=U+1|0,Z=(U|0)>23,a=Z?24:l0,e[t0>>2]=a,K=e[q0>>2]|0,$0=(K|0)>0,$0){for(N1=0,H1=0;;)if(h0=e[W>>2]|0,o0=h0+(N1<<2)|0,g0=e[o0>>2]|0,j=e[I>>2]|0,c0=r5(j,_1)|0,u0=g0+(c0<<2)|0,I0=e[X>>2]|0,w0=N1*7|0,C0=I0+(w0*144|0)|0,v0=hS(q0,V,u0,q,C0)|0,p0=v0|H1,B0=N1+1|0,E0=e[q0>>2]|0,b0=(B0|0)<(E0|0),b0)N1=B0,H1=p0;else{g=p0;break}K0=_1+2|0,x0=e[J>>2]|0,Q0=x0+(K0<<2)|0,e[Q0>>2]=0,M0=g&1,T0=(M0|0)==0,T0||(G0=x0+(_1<<2)|0,e[G0>>2]=1,y0=_1+1|0,Y0=x0+(y0<<2)|0,e[Y0>>2]=1),F0=g&2,_0=(F0|0)==0,_0||(N0=x0+(_1<<2)|0,e[N0>>2]=1,V0=(_1|0)>0,V0&&(J0=_1+-1|0,O0=x0+(J0<<2)|0,e[O0>>2]=1)),z0=g&4,U0=(z0|0)==0,U0||(e[t0>>2]=-1)}else s0=_1+2|0,i0=e[J>>2]|0,n0=i0+(s0<<2)|0,e[n0>>2]=0;if(r1=_1+1|0,Z1=(r1|0)==(Q|0),Z1)break;_1=r1}if(H0=e[I>>2]|0,e1=r5(H0,Q)|0,e[s1>>2]=e1,D0=t+48|0,i1=e[D0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,u1=e0+($1<<2)|0,g1=e[u1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,o1=e[n1>>2]|0,Z0=(o1|0)/2&-1,I1=a1+Z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=q0+176|0,p1=e[E1>>2]|0,Q1=e1-H0|0,x1=(p1|0)<(Q1|0),!x1)return A=-1,A|0;for(L1=q0+160|0,V1=p1;;){if(R1=(V1|0)<(d1|0),!R1){A=1,Y1=22;break}if(e[E1>>2]=V1,F1=(V1|0)/(H0|0)&-1,G1=e[L1>>2]|0,v1=G1+(F1<<2)|0,U1=e[v1>>2]|0,m=(U1|0)!=0,B=(V1|0)>(i1|0),q1=B&m,w1=H0+V1|0,q1){O1=V1,Y1=21;break}if(b1=(w1|0)<(Q1|0),b1)V1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(p=q0+172|0,e[p>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function cS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0;if(p0=C,g=t+104|0,u=e[g>>2]|0,Q=e[u>>2]|0,Y=t+4|0,$0=e[Y>>2]|0,o0=$0+28|0,g0=e[o0>>2]|0,j=t+48|0,c0=e[j>>2]|0,u0=t+40|0,E=e[u0>>2]|0,I=g0+(E<<2)|0,m=e[I>>2]|0,B=(m|0)/4&-1,p=c0-B|0,S=B+c0|0,b=(E|0)==0,b?(G=e[g0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(w=t+36|0,y=e[w>>2]|0,D=g0+(y<<2)|0,_=e[D>>2]|0,L=(_|0)/4&-1,x=t+44|0,F=e[x>>2]|0,M=g0+(F<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=L),I0=p-a|0,w0=S+A|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(I0|0),W=(t0|0)<(w0|0),v0=J&W,v0)return n=1,n|0;if(e0=Q+8|0,q=e[e0>>2]|0,X=(I0|0)/(q|0)&-1,U=(w0|0)/(q|0)&-1,l0=(X|0)<(U|0),!l0)return n=0,n|0;for(Z=Q+160|0,K=e[Z>>2]|0,C0=X;;){if(n0=K+(C0<<2)|0,V=e[n0>>2]|0,h0=(V|0)==0,s0=C0+1|0,!h0){n=1,d0=9;break}if(i0=(s0|0)<(U|0),i0)C0=s0;else{n=0,d0=9;break}}return(d0|0)==9?n|0:0}function gS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0;if(G=C,A=t+168|0,a=e[A>>2]|0,y=t+8|0,Q=e[y>>2]|0,_=(a|0)/(Q|0)&-1,L=_+2|0,x=(n|0)/(Q|0)&-1,F=t+160|0,M=e[F>>2]|0,T=M+(x<<2)|0,g=L-x|0,u=g<<2,XA(M|0,T|0,u|0)|0,E=e[A>>2]|0,I=E-n|0,e[A>>2]=I,m=t+172|0,B=e[m>>2]|0,p=(B|0)>-1,!p){b=t+176|0,w=e[b>>2]|0,D=w-n|0,e[b>>2]=D;return}S=B-n|0,e[m>>2]=S,b=t+176|0,w=e[b>>2]|0,D=w-n|0,e[b>>2]=D}function hS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,l2=t+12|0,F2=+s[l2>>2],O2=t0<<2,_=O2,v2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,L2=(g2|0)>5,F5=(g2|0)/2&-1,u=L2?F5:2,J=n+60|0,i0=+s[J>>2],C0=F5+-2|0,T0=+(C0|0),z0=i0-T0,g1=z0<0,u6=g1?0:z0,E1=u6>i0,Q3=E1?i0:u6,v1=(t0|0)>0,v1)for(n2=t+36|0,$2=e[n2>>2]|0,O5=0;r2=A+(O5<<2)|0,a2=+s[r2>>2],X1=$2+(O5<<2)|0,s2=+s[X1>>2],f2=s2*a2,t2=v2+(O5<<2)|0,s[t2>>2]=f2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;k2=t+16|0,sQ(k2,v2,v2),w2=+s[v2>>2],C2=w2*w2,D2=C2,N2=v2+4|0,d2=+s[N2>>2],K2=d2,G2=K2*K2,H2=G2*.7,M2=H2+D2,P2=v2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,L5=M2+X2,e5=L5,b5=g+140|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5?(k5=g+136|0,P5=+s[k5>>2],l5=P5+e5,m5=g+132|0,s[m5>>2]=l5,s[k5>>2]=e5,T=m5,q2=l5):(n5=g+132|0,x2=+s[n5>>2],_2=x2+e5,s[n5>>2]=_2,p2=g+136|0,C5=+s[p2>>2],R5=C5+e5,s[p2>>2]=R5,T=n5,q2=_2),d5=(g+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=q2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,p5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=q2*.0625,g5=(s[B2>>2]=S5,e[B2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),B5=W2*7177114298428933e-22,t5=B5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,u5=J2,L=u5,M0=w2,v5=0;;){if(Q0=M0*M0,G0=v5|1,P0=v2+(G0<<2)|0,y0=+s[P0>>2],Y0=y0*y0,F0=Y0+Q0,_0=(s[B2>>2]=F0,e[B2>>2]|0),N0=_0&2147483647,V0=+(N0>>>0),J0=V0*35885571492144663e-23,O0=J0+-382.30810546875,U0=O0>1,H0=v2+(r1<<2)|0,s[H0>>2]=z,e1=v5+2|0,D0=(e1|0)<(p5|0),!D0)break e;i1=L+-8,F=v2+(e1<<2)|0,M=+s[F>>2],L=i1,M0=M,v5=e1}while(!1);if(i5=(u|0)>0,i5)A3=0,O3=0;else{for(e3=0,j3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,u1=($1|0)>0,u1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,P3=0;;)if(o1=s1+P3|0,Z0=v2+(o1<<2)|0,I1=+s[Z0>>2],h1=n1+(P3<<2)|0,m1=+s[h1>>2],d1=m1*I1,p1=d1+a3,B1=P3+1|0,Q1=(B1|0)<($1|0),Q1)a3=p1,P3=B1;else{L3=p1;break}else L3=0;if(x1=(a+(e3<<4)|0)+12|0,L1=+s[x1>>2],w1=L1*L3,b1=(g+(e3*144|0)|0)+68|0,R1=e[b1>>2]|0,F1=(R1|0)<1,B=F1?16:-1,I=B+R1|0,G1=(g+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,S=_1?U1:w1,V1=S+-99999,O1=N1+99999,q1=(g+(e3*144|0)|0)+(R1<<2)|0,s[q1>>2]=w1,H1=e[b1>>2]|0,Y1=H1+1|0,j1=(H1|0)>15,D=j1?0:Y1,e[b1>>2]=D,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+Q3,z1=O1>c2,u2=j3|5,V5=z1?u2:j3,o2=(n+32|0)+(e3<<2)|0,E2=+s[o2>>2],A2=E2-Q3,K1=V1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,s0=e[w0>>2]|0,v0=(a+(A3<<4)|0)+8|0,o0=e[v0>>2]|0,l3=0,M5=0;;)if($0=s0+M5|0,n0=v2+($0<<2)|0,V=+s[n0>>2],h0=o0+(M5<<2)|0,g0=+s[h0>>2],j=g0*V,c0=j+l3,u0=M5+1|0,I0=(u0|0)<(j2|0),I0)l3=c0,M5=u0;else{U3=c0;break}else U3=0;for(d0=(a+(A3<<4)|0)+12|0,p0=+s[d0>>2],h3=p0*U3,X5=(g+(A3*144|0)|0)+68|0,f3=e[X5>>2]|0,B0=(f3|0)<1,p=B0?16:-1,m=p+f3|0,E0=(g+(A3*144|0)|0)+(m<<2)|0,b0=+s[E0>>2],K0=h3b0,b=x0?b0:h3,o6=0,R3=m,k3=-99999,y3=99999;;)if(e0=(R3|0)<1,y=e0?16:-1,w=y+R3|0,q=(g+(A3*144|0)|0)+(w<<2)|0,X=+s[q>>2],U=k3X,N=Z?X:y3,K=o6+1|0,H5=(K|0)==(u|0),H5){x=l0,G=N;break}else o6=K,R3=w,k3=l0,y3=N;if(Q5=b-G,q5=j5-x,E5=(g+(A3*144|0)|0)+(f3<<2)|0,s[E5>>2]=h3,Y5=e[X5>>2]|0,n3=Y5+1|0,m3=(Y5|0)>15,Q=m3?0:n3,e[X5>>2]=Q,J5=(n+4|0)+(A3<<2)|0,v3=+s[J5>>2],u3=v3+Q3,B3=q5>u3,z3=O3|5,S3=B3?z3:O3,G3=(n+32|0)+(A3<<2)|0,z5=+s[G3>>2],w3=z5-Q3,W5=Q5>2]|0,C2=n+1288|0,X3=e[C2>>2]|0,M3=n+1284|0,E6=e[M3>>2]|0,E9=(E6|0)>0,E9){for(u8=0;j4=B4+(u8<<2)|0,e[j4>>2]=-200,pe=u8+1|0,Be=(pe|0)==(E6|0),!Be;)u8=pe;if(E9){for(J3=0;f4=c4+(J3<<2)|0,e[f4>>2]=-200,W=J3+1|0,l4=(W|0)==(E6|0),!l4;)J3=W;if(E9){for(n0=E6<<2,Ae(M8|0,0,n0|0)|0,w9=0;v0=De+(w9<<2)|0,e[v0>>2]=1,G0=w9+1|0,Ue=(G0|0)==(E6|0),!Ue;)w9=G0;if(E9){if(l1=E6<<2,Ae(Z8|0,-1,l1|0)|0,p1=(E6|0)>1,!p1)return ie=0,C=e4,ie|0;for(U1=X3+-1|0,W1=J+1112|0,i2=E6+-1|0,M=e[n>>2]|0,C4=M,p9=0,Qe=0;;){b4=p9+1|0,D4=n+(b4<<2)|0,x4=e[D4>>2]|0,M4=P6+(p9*56|0)|0,Me=M4,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[M4>>2]=C4,T4=(P6+(p9*56|0)|0)+4|0,e[T4>>2]=x4,U9=(x4|0)<(X3|0),tt=U9?x4:U1,N4=(tt|0)<(C4|0),N4)v8=0,X8=0,b8=0,D8=0,m8=0,Fe=0,it=0,H9=0,V8=0,x8=0,Ht=0,Yt=0;else for(v4=C4,f8=0,Pe=0,O4=0,j9=0,ye=0,A8=0,I3=0,D9=0,$8=0,B9=0,at=0,L8=0;;){a4=a+(v4<<2)|0,O=+s[a4>>2],L4=O*7.314285755157471,u4=L4+1023.5,Ce=~~u4,q9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,S=q9?1023:E,Ne=(S|0)==0;do if(Ne)q8=f8,i8=Pe,n8=O4,E8=j9,qe=ye,Q4=A8,p8=I3,Y8=D9,H4=$8,Ve=B9,se=at,K8=L8;else if(Xe=A+(v4<<2)|0,G4=+s[Xe>>2],Ge=+s[W1>>2],U4=Ge+G4,X4=!(U4>=O),X4){$e=v4+A8|0,W9=S+L8|0,le=r5(v4,v4)|0,ce=le+j9|0,p4=r5(S,S)|0,e0=p4+B9|0,q=r5(S,v4)|0,X=q+D9|0,U=Pe+1|0,q8=f8,i8=U,n8=O4,E8=ce,qe=ye,Q4=$e,p8=I3,Y8=X,H4=$8,Ve=e0,se=at,K8=W9;break}else{be=v4+ye|0,e8=S+at|0,Z9=r5(v4,v4)|0,ae=Z9+O4|0,_6=r5(S,S)|0,P4=_6+$8|0,R9=r5(S,v4)|0,$4=R9+I3|0,_4=f8+1|0,q8=_4,i8=Pe,n8=ae,E8=j9,qe=be,Q4=A8,p8=$4,Y8=D9,H4=P4,Ve=B9,se=e8,K8=L8;break}while(!1);if(l0=v4+1|0,Z=(v4|0)<(tt|0),Z)v4=l0,f8=q8,Pe=i8,O4=n8,j9=E8,ye=qe,A8=Q4,I3=p8,D9=Y8,$8=H4,B9=Ve,at=se,L8=K8;else{v8=q8,X8=i8,b8=n8,D8=E8,m8=qe,Fe=Q4,it=p8,H9=Y8,V8=H4,x8=Ve,Ht=se,Yt=K8;break}}if(K=(P6+(p9*56|0)|0)+8|0,e[K>>2]=m8,$0=(P6+(p9*56|0)|0)+12|0,e[$0>>2]=Ht,s0=(P6+(p9*56|0)|0)+16|0,e[s0>>2]=b8,i0=(P6+(p9*56|0)|0)+20|0,e[i0>>2]=V8,V=(P6+(p9*56|0)|0)+24|0,e[V>>2]=it,h0=(P6+(p9*56|0)|0)+28|0,e[h0>>2]=v8,o0=(P6+(p9*56|0)|0)+32|0,e[o0>>2]=Fe,g0=(P6+(p9*56|0)|0)+36|0,e[g0>>2]=Yt,j=(P6+(p9*56|0)|0)+40|0,e[j>>2]=D8,c0=(P6+(p9*56|0)|0)+44|0,e[c0>>2]=x8,u0=(P6+(p9*56|0)|0)+48|0,e[u0>>2]=H9,I0=(P6+(p9*56|0)|0)+52|0,e[I0>>2]=X8,w0=v8+Qe|0,g6=(b4|0)==(i2|0),g6){ft=w0;break}else C4=x4,p9=b4,Qe=w0}}else de=9}else de=9}else de=9}else de=9;if((de|0)==9){if(U0=(E6|0)==0,!U0)return ie=0,C=e4,ie|0;F2=P6+4|0,Me=P6,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[F2>>2]=X3,O2=(X3|0)<1,O2)P8=0,j8=0,H8=0,I8=0,o8=0,X9=0,C8=0,re=0,st=0,ot=0,Nt=0,Gt=0;else for(v2=J+1112|0,g4=0,k8=0,d8=0,r8=0,he=0,ue=0,fe=0,q4=0,ne=0,a8=0,Je=0,bt=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,L2=g2+1023.5,F5=~~L2,L3=(F5|0)>1023,M5=(F5|0)<0,u=M5?0:F5,p=L3?1023:u,O3=(p|0)==0;do if(O3)O8=k8,Le=d8,Re=r8,s8=he,Oe=ue,we=fe,He=q4,Ye=ne,_8=a8,At=Je,Dt=bt,_t=l8;else if(c6=A+(g4<<2)|0,Y3=+s[c6>>2],n6=+s[v2>>2],s9=n6+Y3,R6=!(s9>=G),R6){u9=g4+fe|0,f9=p+l8|0,d9=r5(g4,g4)|0,a9=d9+he|0,$9=r5(p,p)|0,T9=$9+Je|0,T6=r5(p,g4)|0,i9=T6+ne|0,N9=d8+1|0,O8=k8,Le=N9,Re=r8,s8=a9,Oe=ue,we=u9,He=q4,Ye=i9,_8=a8,At=T9,Dt=bt,_t=f9;break}else{U6=g4+ue|0,D6=p+bt|0,z6=r5(g4,g4)|0,y6=z6+r8|0,F6=r5(p,p)|0,M6=F6+a8|0,t9=r5(p,g4)|0,A9=t9+q4|0,X6=k8+1|0,O8=X6,Le=d8,Re=y6,s8=he,Oe=U6,we=fe,He=A9,Ye=ne,_8=M6,At=Je,Dt=D6,_t=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(X3|0),C9){P8=O8,j8=Le,H8=Re,I8=s8,o8=Oe,X9=we,C8=He,re=Ye,st=_8,ot=At,Nt=Dt,Gt=_t;break}else g4=I9,k8=O8,d8=Le,r8=Re,he=s8,ue=Oe,fe=we,q4=He,ne=Ye,a8=_8,Je=At,bt=Dt,l8=_t}E4=P6+8|0,e[E4>>2]=o8,o4=P6+12|0,e[o4>>2]=Nt,h4=P6+16|0,e[h4>>2]=H8,G9=P6+20|0,e[G9>>2]=st,z9=P6+24|0,e[z9>>2]=C8,b9=P6+28|0,e[b9>>2]=P8,q6=P6+32|0,e[q6>>2]=X9,r9=P6+36|0,e[r9>>2]=Gt,m4=P6+40|0,e[m4>>2]=I8,S4=P6+44|0,e[S4>>2]=ot,A4=P6+48|0,e[A4>>2]=re,y9=P6+52|0,e[y9>>2]=j8,ft=P8}if(C0=(ft|0)==0,C0)return ie=0,C=e4,ie|0;e[nt>>2]=-200,e[J8>>2]=-200,d0=E6+-1|0,cp(P6,d0,nt,J8,J)|0,p0=e[nt>>2]|0,e[B4>>2]=p0,e[c4>>2]=p0,B0=e[J8>>2]|0,E0=c4+4|0,e[E0>>2]=B0,b0=B4+4|0,e[b0>>2]=B0,K0=(E6|0)>2;do if(K0){x0=J+1112|0,Q0=J+1096|0,M0=J+1100|0,T0=J+1104|0,F4=2;e:for(;;){P0=(n+520|0)+(F4<<2)|0,y0=e[P0>>2]|0,Y0=M8+(y0<<2)|0,F0=e[Y0>>2]|0,_0=De+(y0<<2)|0,N0=e[_0>>2]|0,V0=Z8+(F0<<2)|0,J0=e[V0>>2]|0,O0=(J0|0)==(N0|0);t:do if(!O0){if(z0=(n+520|0)+(F0<<2)|0,q0=e[z0>>2]|0,r1=(n+520|0)+(N0<<2)|0,H0=e[r1>>2]|0,e[V0>>2]=N0,e1=(J+836|0)+(F0<<2)|0,D0=e[e1>>2]|0,i1=(J+836|0)+(N0<<2)|0,c1=e[i1>>2]|0,$1=B4+(F0<<2)|0,u1=e[$1>>2]|0,g1=(u1|0)<0,s1=c4+(F0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(n1=(a1|0)<0,n1?y=u1:(o1=a1+u1|0,Z0=o1>>1,y=Z0)),I1=B4+(N0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(N0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(B1=(E1|0)<0,B1?Q=h1:(Q1=E1+h1|0,x1=Q1>>1,Q=x1)),L1=(y|0)==-1,w1=(Q|0)==-1,kt=L1|w1,kt){de=38;break e}b1=Q-y|0,R1=c1-D0|0,xe=(b1|0)>-1,v9=0-b1|0,F1=xe?b1:v9,G1=(b1|0)/(R1|0)&-1,v1=b1>>31,Z1=v1|1,N1=a+(D0<<2)|0,Y=+s[N1>>2],_1=Y*7.314285755157471,V1=_1+1023.5,O1=~~V1,q1=(O1|0)>1023,H1=(O1|0)<0,I=H1?0:O1,b=q1?1023:I,Y1=r5(G1,R1)|0,ct=(Y1|0)>-1,ut=0-Y1|0,j1=ct?Y1:ut,n2=F1-j1|0,P1=y-b|0,c2=r5(P1,P1)|0,z1=A+(D0<<2)|0,u2=+s[z1>>2],o2=+s[x0>>2],E2=o2+u2,A2=!(E2>=Y),A2?de=42:(K1=+(y|0),h2=+s[Q0>>2],$2=h2+K1,l2=+(b|0),r2=$2>2],X1=K1-a2,s2=X1>l2,s2||(de=42)));i:do if((de|0)==42){if(de=0,f2=D0+1|0,t2=(f2|0)<(c1|0),t2)for(d2=f2,ee=0,vt=c2,U8=1,dt=y;;){if(y2=ee+n2|0,k2=(y2|0)<(R1|0),w2=k2?0:Z1,D2=k2?0:R1,R4=y2-D2|0,F=dt+G1|0,rt=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],K2=z*7.314285755157471,G2=K2+1023.5,H2=~~G2,M2=(H2|0)>1023,P2=(H2|0)<0,m=P2?0:H2,D=M2?1023:m,z2=rt-D|0,o5=r5(z2,z2)|0,T1=o5+vt|0,X2=U8+1|0,L5=A+(d2<<2)|0,e5=+s[L5>>2],b5=e5+o2,Z2=b5>=z,f5=(D|0)!=0,et=Z2&f5,et&&(k5=+(rt|0),P5=+s[Q0>>2],l5=P5+k5,m5=+(D|0),n5=l5>2],_2=k5-x2,p2=_2>m5,p2)))break i;if(C5=d2+1|0,R5=(C5|0)<(c1|0),R5)d2=C5,ee=R4,vt=T1,U8=X2,dt=rt;else{W8=T1,G8=X2;break}}else W8=c2,G8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(G8|0),q2=D5/G5,I5=+s[T0>>2],A5=q2>I5,!A5&&(c5=+s[M0>>2],p5=c5*c5,M1=p5/G5,S5=M1>I5,!S5&&(g5=(W8|0)/(G8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=B4+(F4<<2)|0,e[l3>>2]=-200,c3=c4+(F4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[T8>>2]=-200,e[N8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,B5=P6+(q0*56|0)|0,t5=y0-q0|0,s5=cp(B5,t5,T8,N8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,u5=cp(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[T8>>2]=y,x5=e[_e>>2]|0,e[N8>>2]=x5),j2=(u5|0)==0,!j2&&($5=e[N8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=B4+(F4<<2)|0,e[Q5>>2]=-200,q5=c4+(F4<<2)|0,e[q5>>2]=-200;break}if(j5=e[T8>>2]|0,e[s1>>2]=j5,E5=(F0|0)==0,E5&&(e[B4>>2]=j5),f3=e[N8>>2]|0,h3=B4+(F4<<2)|0,e[h3>>2]=f3,Y5=e[_e>>2]|0,X5=c4+(F4<<2)|0,e[X5>>2]=Y5,n3=e[t8>>2]|0,e[I1>>2]=n3,m3=(N0|0)==1,m3&&(e[E0>>2]=n3),J5=Y5&f3,v3=(J5|0)>-1,v3){u3=(y0|0)>0;i:do if(u3)for(z8=y0;;){if(wt=z8+-1|0,z3=De+(wt<<2)|0,G3=e[z3>>2]|0,z5=(G3|0)==(N0|0),!z5)break i;if(e[z3>>2]=F4,w3=(z8|0)>1,w3)z8=wt;else break}while(!1);if(ht=y0+1|0,B3=(ht|0)<(E6|0),B3)for(F8=ht;;){if(W5=M8+(F8<<2)|0,i6=e[W5>>2]|0,U3=(i6|0)==(F0|0),!U3)break t;if(e[W5>>2]=F4,gt=F8+1|0,a3=(gt|0)<(E6|0),a3)F8=gt;else break}}}while(!1);if(C3=F4+1|0,H5=(C3|0)<(E6|0),H5)F4=C3;else{de=68;break}}if((de|0)==38)Fk(1);else if((de|0)==68){T=e[B4>>2]|0,N=e[c4>>2]|0,v5=T,o6=N;break}}else v5=p0,o6=p0;while(!1);if(U5=E6<<2,O5=qt(t,U5)|0,P3=(v5|0)<0,P3?w=o6:(e3=(o6|0)<0,e3?w=v5:(A3=o6+v5|0,R3=A3>>1,w=R3)),e[O5>>2]=w,u6=e[b0>>2]|0,Q3=(u6|0)<0,k3=e[E0>>2]|0,Q3?L=k3:(y3=(k3|0)<0,y3?L=u6:(r6=k3+u6|0,j3=r6>>1,L=j3)),V5=O5+4|0,e[V5>>2]=L,K0)te=2;else return ie=O5,C=e4,ie|0;for(;;)if(S3=te+-2|0,g3=(n+1032|0)+(S3<<2)|0,q3=e[g3>>2]|0,l6=(n+780|0)+(S3<<2)|0,d3=e[l6>>2]|0,v6=(J+836|0)+(q3<<2)|0,k6=e[v6>>2]|0,S6=(J+836|0)+(d3<<2)|0,p6=e[S6>>2]|0,B6=O5+(q3<<2)|0,x6=e[B6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,b3=(J+836|0)+(te<<2)|0,e6=e[b3>>2]|0,t6=x6&32767,f6=C6&32767,H3=f6-t6|0,D3=p6-k6|0,lt=(H3|0)>-1,S8=0-H3|0,Z3=lt?H3:S8,b6=e6-k6|0,A6=r5(Z3,b6)|0,t3=(A6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,x=O6?s3:t3,_=x+t6|0,a6=B4+(te<<2)|0,d6=e[a6>>2]|0,_3=(d6|0)<0,N6=c4+(te<<2)|0,Q6=e[N6>>2]|0,_3?B=Q6:(L6=(Q6|0)<0,L6?B=d6:(K6=Q6+d6|0,I6=K6>>1,B=I6)),J6=(B|0)<0,F3=(_|0)==(B|0),St=J6|F3,j6=_|32768,g=St?j6:B,G6=O5+(te<<2)|0,e[G6>>2]=g,e9=te+1|0,ge=(e9|0)==(E6|0),ge){ie=O5;break}else te=e9;return C=e4,ie|0}function R8(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0;if($0=C,u=n+1284|0,E=e[u>>2]|0,_=(A|0)!=0,z=(a|0)!=0,l0=_&z,!l0)return Z=0,Z|0;if(Y=E<<2,t0=qt(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-g|0,U=0;;)if(e0=A+(U<<2)|0,q=e[e0>>2]|0,I=q&32767,m=r5(I,W)|0,B=a+(U<<2)|0,p=e[B>>2]|0,S=p&32767,b=r5(S,g)|0,w=m+32768|0,y=w+b|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,L=e[e0>>2]|0,x=L&32768,F=(x|0)==0,F||(M=e[B>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function uS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;if(M6=C,C=C+336|0,R6=M6+64|0,g3=M6+32|0,F3=M6,D=A+1296|0,Q=e[D>>2]|0,h2=A+1284|0,x2=e[h2>>2]|0,A5=n+64|0,s5=e[A5>>2]|0,j5=s5+4|0,u3=e[j5>>2]|0,l3=u3+28|0,A3=e[l3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,s0=(a|0)==0,s0)return U2(t,0,1),L5=n+36|0,e5=e[L5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,Ae(g|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(x2|0)>0,w0)for(M0=Q+832|0,f6=0;O0=a+(f6<<2)|0,u1=e[O0>>2]|0,d1=u1&32767,G1=e[M0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?($2=d1>>>3,U6=$2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,f5=u1&32768,k5=f5|U6,e[O0>>2]=k5,P5=f6+1|0,C6=(P5|0)==(x2|0),!C6;)f6=P5;if(l5=e[a>>2]|0,e[R6>>2]=l5,v2=a+4|0,m5=e[v2>>2]|0,n5=R6+4|0,e[n5>>2]=m5,_2=(x2|0)>2,p2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,R5=(A+1032|0)+(C5<<2)|0,d5=e[R5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,q2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,p5=a+(d5<<2)|0,M1=e[p5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,B5=g5&32767,t5=B5-g2|0,h5=c5-q2|0,Y3=(t5|0)>-1,j6=0-t5|0,J2=Y3?t5:j6,u5=W2-q2|0,i5=r5(J2,u5)|0,x5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-x5|0,m=j2?$5:x5,I=m+g2|0,L2=a+(H3<<2)|0,Q5=e[L2>>2]|0,q5=Q5&32768,E5=(q5|0)!=0,f3=(Q5|0)==(I|0),s9=E5|f3,s9)h3=I|32768,e[L2>>2]=h3,Y5=R6+(H3<<2)|0,e[Y5>>2]=0;else{X5=e[p2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),u=m3?n3:I,F5=Q5-I|0,J5=(F5|0)<0;do if(J5)if(v3=0-u|0,B3=(F5|0)<(v3|0),B3){z3=F5^-1,G3=u+z3|0,D6=G3;break}else{z5=F5<<1,w3=z5^-1,D6=w3;break}else if(W5=(u|0)>(F5|0),W5){L3=F5<<1,D6=L3;break}else{i6=u+F5|0,D6=i6;break}while(!1);U3=R6+(H3<<2)|0,e[U3>>2]=D6,e[p5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(x2|0),Y6)break;H3=C3}S=e[R6>>2]|0,b=e[n5>>2]|0,r6=S,S3=b}else r6=l5,S3=m5;if(U2(t,1,1),H5=A+1308|0,U5=e[H5>>2]|0,O5=U5+1|0,e[H5>>2]=O5,v5=e[p2>>2]|0,P3=v5+-1|0,M5=Tt(P3)|0,o6=M5<<1,e3=A+1304|0,R3=e[e3>>2]|0,u6=R3+o6|0,e[e3>>2]=u6,Q3=e[p2>>2]|0,k3=Q3+-1|0,y3=Tt(k3)|0,U2(t,r6,y3),j3=e[p2>>2]|0,O3=j3+-1|0,V5=Tt(O3)|0,U2(t,S3,V5),L=e[Q>>2]|0,x=(L|0)>0,x)for(F=A+1300|0,D3=0,A6=2;;){if(M=(Q+4|0)+(D3<<2)|0,T=e[M>>2]|0,N=(Q+128|0)+(T<<2)|0,G=e[N>>2]|0,O=(Q+192|0)+(T<<2)|0,z=e[O>>2]|0,Y=1<>2]=0,e[g3+4>>2]=0,e[g3+8>>2]=0,e[g3+12>>2]=0,e[g3+16>>2]=0,e[g3+20>>2]=0,e[g3+24>>2]=0,e[g3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;c0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,u0=e[c0>>2]|0,I0=(u0|0)<0,I0?y=1:(C0=(A3+1824|0)+(u0<<2)|0,v0=e[C0>>2]|0,d0=v0+4|0,p0=e[d0>>2]|0,y=p0),B0=F3+(s3<<2)|0,e[B0>>2]=y,E0=s3+1|0,b0=(E0|0)<(Y|0),b0;)s3=E0;e0=(G|0)>0;e:do if(e0){if(W)for(q3=0,v6=0,a6=0;;)if(K0=g3+(a6<<2)|0,x0=e[K0>>2]|0,Q0=x0<>2]|0,N6=0;;){if(q=F3+(N6<<2)|0,X=e[q>>2]|0,l0=(U|0)<(X|0),l0){n6=N6,M3=31;break}if(Z=N6+1|0,K=(Z|0)<(Y|0),K)N6=Z;else{M3=33;break}}if((M3|0)==31?(M3=0,$0=g3+(d6<<2)|0,e[$0>>2]=n6,n0=n6):(M3|0)==33&&(M3=0,B=g3+(d6<<2)|0,w=e[B>>2]|0,n0=w),i0=n0<>2]|0,F0=t0+(Y0*56|0)|0,_0=Rh(F0,d3,t)|0,N0=e[F>>2]|0,V0=N0+_0|0,e[F>>2]=V0}if(J0=(G|0)>0,J0)for(_3=0;z0=g3+(_3<<2)|0,U0=e[z0>>2]|0,q0=((Q+320|0)+(T<<5)|0)+(U0<<2)|0,r1=e[q0>>2]|0,H0=(r1|0)>-1,H0&&(e1=_3+A6|0,D0=R6+(e1<<2)|0,i1=e[D0>>2]|0,c1=(t0+(r1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(r1*56|0)|0,s1=Rh(l1,i1,t)|0,a1=e[e3>>2]|0,n1=a1+s1|0,e[e3>>2]=n1)),o1=_3+1|0,B6=(o1|0)==(G|0),!B6;)_3=o1;if(Z0=G+A6|0,I1=D3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,A6=Z0;else break}if(E1=e[a>>2]|0,p1=Q+832|0,B1=e[p1>>2]|0,Q1=r5(B1,E1)|0,x1=n+28|0,L1=e[x1>>2]|0,w1=A3+(L1<<2)|0,b1=e[w1>>2]|0,R1=(b1|0)/2&-1,F1=e[h2>>2]|0,v1=(F1|0)>1,v1)for(e6=0,t3=1,Q6=0,I6=Q1;;){if(V1=(A+260|0)+(t3<<2)|0,O1=e[V1>>2]|0,q1=a+(O1<<2)|0,H1=e[q1>>2]|0,Y1=H1&32767,n2=(Y1|0)==(H1|0),n2)if(W1=e[p1>>2]|0,P1=r5(W1,H1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,u2=P1-I6|0,o2=z1-Q6|0,Z3=(u2|0)>-1,G6=0-u2|0,E2=Z3?u2:G6,A2=(u2|0)/(o2|0)&-1,K1=u2>>31,i2=K1|1,l2=r5(A2,o2)|0,b6=(l2|0)>-1,e9=0-l2|0,r2=b6?l2:e9,a2=E2-r2|0,X1=(R1|0)>(z1|0),z6=X1?z1:R1,s2=(z6|0)>(Q6|0),s2&&(f2=g+(Q6<<2)|0,e[f2>>2]=I6),t2=Q6+1|0,y2=(t2|0)<(z6|0),y2)for(d2=t2,S6=0,y6=I6;;)if(k2=S6+a2|0,C2=(k2|0)<(o2|0),F2=C2?0:i2,D2=C2?0:o2,p6=k2-D2|0,p=y6+A2|0,F6=p+F2|0,N2=g+(d2<<2)|0,e[N2>>2]=F6,K2=d2+1|0,c6=(K2|0)==(z6|0),c6){t6=z1,L6=z1,J6=P1;break}else d2=K2,S6=p6,y6=F6;else t6=z1,L6=z1,J6=P1;else t6=e6,L6=Q6,J6=I6;if(G2=t3+1|0,H2=e[h2>>2]|0,M2=(G2|0)<(H2|0),M2)e6=t6,t3=G2,Q6=L6,I6=J6;else{b3=t6,K6=J6;break}}else b3=0,K6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,_1=(b3|0)<(N1|0),_1)O6=b3;else return E=1,C=M6,E|0;for(;;)if(P2=g+(O6<<2)|0,e[P2>>2]=K6,o5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(o5|0)<(T1|0),X2)O6=o5;else{E=1;break}return C=M6,E|0}function cp(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,B=e[t>>2]|0,p=n+-1|0,i0=(t+(p*56|0)|0)+4|0,C0=e[i0>>2]|0,T0=(n|0)>0,T0)for(z0=g+1108|0,g1=+s[z0>>2],i2=0,X1=0,f2=0,w2=0,N2=0,H2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,v1=e[E1>>2]|0,n2=(t+(X1*56|0)|0)+28|0,S=e[n2>>2]|0,T=S+v1|0,q=+(T|0),X=q*g1,U=S+1|0,l0=+(U|0),Z=X/l0,K=Z,$0=K+1,s0=(t+(X1*56|0)|0)+32|0,n0=e[s0>>2]|0,V=+(n0|0),h0=(t+(X1*56|0)|0)+8|0,o0=e[h0>>2]|0,g0=+(o0|0),j=g0*$0,c0=V+w2,u0=c0+j,I0=(t+(X1*56|0)|0)+36|0,w0=e[I0>>2]|0,v0=+(w0|0),d0=(t+(X1*56|0)|0)+12|0,p0=e[d0>>2]|0,B0=+(p0|0),E0=B0*$0,b0=v0+H2,K0=b0+E0,x0=(t+(X1*56|0)|0)+40|0,Q0=e[x0>>2]|0,M0=+(Q0|0),G0=(t+(X1*56|0)|0)+16|0,P0=e[G0>>2]|0,y0=+(P0|0),Y0=y0*$0,F0=M0+f2,_0=F0+Y0,N0=(t+(X1*56|0)|0)+48|0,V0=e[N0>>2]|0,J0=+(V0|0),O0=(t+(X1*56|0)|0)+24|0,U0=e[O0>>2]|0,q0=+(U0|0),r1=q0*$0,H0=J0+N2,e1=H0+r1,D0=+(v1|0),i1=+(S|0),c1=$0*i1,$1=D0+i2,u1=$1+c1,l1=X1+1|0,a2=(l1|0)==(n|0),a2){$2=u1,s2=_0,k2=u0,D2=e1,G2=K0;break}else i2=u1,X1=l1,f2=_0,w2=u0,N2=e1,H2=K0;else $2=0,s2=0,k2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(n1=+(B|0),o1=k2+n1,Z0=+(s1|0),I1=Z0+G2,h1=r5(B,B)|0,m1=+(h1|0),d1=s2+m1,p1=r5(s1,B)|0,B1=+(p1|0),Q1=B1+D2,x1=$2+1,l2=x1,t2=d1,C2=o1,d2=Q1,M2=I1):(l2=$2,t2=s2,C2=k2,d2=D2,M2=G2),L1=e[a>>2]|0,w1=(L1|0)>-1,w1?(b1=+(C0|0),R1=C2+b1,F1=+(L1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=t2+Z1,_1=r5(L1,C0)|0,V1=+(_1|0),O1=V1+d2,q1=l2+1,r2=q1,y2=N1,F2=R1,K2=O1,P2=G1):(r2=l2,y2=t2,F2=C2,K2=d2,P2=M2),H1=y2*r2,Y1=F2*F2,j1=H1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*K2,z1=P1-c2,u2=z1/j1,o2=K2*r2,E2=F2*P2,A2=o2-E2,K1=A2/j1,h2=+(B|0),b=K1*h2,w=b+u2,y=+Oi(w),D=~~y,e[A>>2]=D,Q=+(C0|0),_=K1*Q,L=_+u2,x=+Oi(L),F=~~x,e[a>>2]=F,M=e[A>>2]|0,N=(M|0)>1023,N?(e[A>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=F,W=M),O=(G|0)>1023,O?(e[a>>2]=1023,I=e[A>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[A>>2]=0,m=e[a>>2]|0,t0=m):t0=e0,J=(t0|0)<0,J?(e[a>>2]=0,u=0,u|0):(u=0,u|0)):(e[A>>2]=0,e[a>>2]=0,u=1,u|0)}function fS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0;if(D0=C,E=t+836|0,I=t+840|0,L=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,C0=(i0|0)>0,C0){for(T0=t+4|0,V0=0,H0=-1;;)if(p=T0+(V0<<2)|0,S=e[p>>2]|0,U2(n,S,4),b=e[p>>2]|0,w=(H0|0)<(b|0),A=w?b:H0,y=V0+1|0,D=e[t>>2]|0,Q=(y|0)<(D|0),Q)V0=y,H0=A;else{a=A;break}if(P0=(a|0)>-1,P0)for(y0=t+128|0,Y0=t+192|0,m=t+256|0,B=t+320|0,J0=0;;){if(_=y0+(J0<<2)|0,x=e[_>>2]|0,F=x+-1|0,U2(n,F,3),M=Y0+(J0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(z0=0,e1=8):(O=m+(J0<<2)|0,z=e[O>>2]|0,U2(n,z,8),g=e[M>>2]|0,Y=(g|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(B+(J0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),q=z0+1|0,X=e[M>>2]|0,U=1<>2]|0,s0=$0+-1|0,U2(n,s0,2),n0=L+-1|0,V=Tt(n0)|0,U2(n,V,4),h0=Tt(n0)|0,o0=e[t>>2]|0,g0=(o0|0)>0,!!g0)for(j=t+4|0,c0=t+128|0,G0=o0,F0=0,O0=0,U0=0;;){if(u0=j+(O0<<2)|0,I0=e[u0>>2]|0,w0=c0+(I0<<2)|0,v0=e[w0>>2]|0,d0=v0+F0|0,p0=(U0|0)<(d0|0),p0){for(r1=U0;B0=r1+2|0,E0=E+(B0<<2)|0,b0=e[E0>>2]|0,U2(n,b0,h0),K0=r1+1|0,_0=(K0|0)==(d0|0),!_0;)r1=K0;u=e[t>>2]|0,M0=u,q0=d0}else M0=G0,q0=U0;if(x0=O0+1|0,Q0=(x0|0)<(M0|0),Q0)G0=M0,F0=d0,O0=x0,U0=q0;else break}}function dS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,D=t+28|0,Q=e[D>>2]|0,Y=n4(1,1120)|0,$0=W4(n,5)|0,e[Y>>2]=$0,I0=($0|0)>0;e:do if(I0){for(Q0=Y+4|0,Z1=0,n2=-1;;){if(x=W4(n,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=x,M=(x|0)<0,M)break e;if(T=(n2|0)<(x|0),g=T?x:n2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,n2=g;else{u=g;break}}if(J0=(u|0)>-1,J0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,L=Y+320|0,N1=0;;){if(z=W4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=W4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,q=(W|0)<0,q||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=W4(n,8)|0,l0=F1+(N1<<2)|0,e[l0>>2]=U,Z=U),K=(Z|0)<0,K)||(s0=e[_>>2]|0,i0=(Z|0)<(s0|0),!i0))break e;if(n0=e[e0>>2]|0,V=(n0|0)==31,!V)for(q1=0;;){if(c0=W4(n,8)|0,u0=c0+-1|0,w0=(L+(N1<<5)|0)+(q1<<2)|0,e[w0>>2]=u0,C0=(c0|0)<0,C0||(v0=e[_>>2]|0,d0=(c0|0)>(v0|0),g0=q1+1|0,d0))break e;if(h0=e[e0>>2]|0,o0=1<>2]=b0,x0=W4(n,4)|0,M0=(x0|0)<0,!M0)){if(T0=e[Y>>2]|0,G0=(T0|0)>0,G0)for(P0=Y+4|0,y0=Y+128|0,Y0=Y+836|0,F0=1<>2]|0,V0=y0+(N0<<2)|0,O0=e[V0>>2]|0,z0=O0+U1|0,U0=(z0|0)>63,U0)break e;if(q0=(H1|0)<(z0|0),q0){for(j1=H1;;){if(r1=W4(n,x0)|0,H0=j1+2|0,e1=Y0+(H0<<2)|0,e[e1>>2]=r1,D0=(r1|0)>-1,i1=(r1|0)<(F0|0),W1=D0&i1,!W1)break e;if(c1=j1+1|0,u1=(c1|0)<(z0|0),u1)j1=c1;else{a=c1;break}}p=e[Y>>2]|0,s1=p,Y1=a}else s1=G1,Y1=H1;if(g1=_1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=z0,_1=g1,H1=Y1;else{m=Y0,B=F0,v1=z0;break}}else w=Y+836|0,y=1<>2]=0,a1=Y+840|0,e[a1>>2]=B,n1=v1+2|0,o1=(v1|0)>-2,o1)for(V1=0;Z0=m+(V1<<2)|0,I1=P1+(V1<<2)|0,e[I1>>2]=Z0,h1=V1+1|0,d1=(h1|0)<(n1|0),d1;)V1=h1;Mh(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(S=e[P1>>2]|0,b=e[S>>2]|0,w1=b,O1=1;Q1=P1+(O1<<2)|0,x1=e[Q1>>2]|0,L1=e[x1>>2]|0,b1=(w1|0)==(L1|0),p1=O1+1|0,!b1;)if(B1=(p1|0)<(n1|0),B1)w1=L1,O1=p1;else break t;if(R1=(Y|0)==0,R1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function IS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0;if(R1=C,C=C+272|0,w1=R1,a=n4(1,1312)|0,g=a+1296|0,e[g>>2]=n,D=n+836|0,z=n+840|0,K=e[z>>2]|0,u0=a+1288|0,e[u0>>2]=K,x0=e[n>>2]|0,V0=(x0|0)>0,V0){for(H0=n+4|0,u=n+128|0,g1=0,Q1=0;;)if(E=H0+(g1<<2)|0,I=e[E>>2]|0,m=u+(I<<2)|0,B=e[m>>2]|0,p=B+Q1|0,S=g1+1|0,b=(S|0)<(x0|0),b)g1=S,Q1=p;else{A=p;break}w=A+2|0,y=a+1284|0,e[y>>2]=w,Q=(A|0)>-2,Q?(M=w,B1=A,b1=7):(Mh(w1,w,4,8),p1=A)}else r1=a+1284|0,e[r1>>2]=2,M=2,B1=0,b1=7;if((b1|0)==7){for(l1=0;_=D+(l1<<2)|0,L=w1+(l1<<2)|0,e[L>>2]=_,x=l1+1|0,F=(x|0)<(M|0),F;)l1=x;for(Mh(w1,M,4,8),T=D,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,q=N+(s1<<2)|0,e[q>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,$0=e[Z>>2]|0,s0=O+($0<<2)|0,e[s0>>2]=a1,i0=a1+1|0,n0=(i0|0)<(M|0),n0;)a1=i0;for(l0=a+260|0,n1=0;;)if(V=l0+(n1<<2)|0,h0=e[V>>2]|0,o0=D+(h0<<2)|0,g0=e[o0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=g0,c0=n1+1|0,I0=(c0|0)<(M|0),I0)n1=c0;else{p1=B1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(B0=a+1292|0,e[B0>>2]=64):(C0|0)==2?(d0=a+1292|0,e[d0>>2]=128):(C0|0)==1?(v0=a+1292|0,e[v0>>2]=256):(C0|0)==3&&(p0=a+1292|0,e[p0>>2]=86),E0=(p1|0)>0,!E0)return C=R1,a|0;for(b0=a+1032|0,K0=a+780|0,o1=0;;){for(Q0=o1+2|0,M0=D+(Q0<<2)|0,T0=e[M0>>2]|0,G0=e[u0>>2]|0,D0=1,$1=G0,Z0=0,I1=0,d1=0;;)if(P0=D+(Z0<<2)|0,y0=e[P0>>2]|0,Y0=(y0|0)>(d1|0),F0=(y0|0)<(T0|0),x1=Y0&F0,h1=x1?Z0:I1,E1=x1?y0:d1,_0=(y0|0)<($1|0),N0=(y0|0)>(T0|0),L1=_0&N0,i1=L1?Z0:D0,u1=L1?y0:$1,J0=Z0+1|0,O0=(J0|0)<(Q0|0),O0)D0=i1,$1=u1,Z0=J0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(z0=b0+(o1<<2)|0,e[z0>>2]=m1,U0=K0+(o1<<2)|0,e[U0>>2]=c1,q0=o1+1|0,e1=(q0|0)==(p1|0),e1)break;o1=q0}return C=R1,a|0}function ES(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function mS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function CS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0;if(w2=C,u=n+1296|0,E=e[u>>2]|0,n0=t+64|0,v0=e[n0>>2]|0,G0=v0+4|0,U0=e[G0>>2]|0,l1=U0+28|0,p1=e[l1>>2]|0,U1=p1+2848|0,W1=e[U1>>2]|0,I=t+4|0,L=W4(I,1)|0,J=(L|0)==1,!J)return A=0,A|0;U=n+1284|0,l0=e[U>>2]|0,Z=l0<<2,K=qt(t,Z)|0,$0=n+1292|0,s0=e[$0>>2]|0,i0=s0+-1|0,V=Tt(i0)|0,h0=W4(I,V)|0,e[K>>2]=h0,o0=e[$0>>2]|0,g0=o0+-1|0,j=Tt(g0)|0,c0=W4(I,j)|0,u0=K+4|0,e[u0>>2]=c0,I0=e[E>>2]|0,w0=(I0|0)>0;e:do if(w0){r2=0,s2=2;t:for(;;){if(E0=(E+4|0)+(r2<<2)|0,b0=e[E0>>2]|0,K0=(E+128|0)+(b0<<2)|0,x0=e[K0>>2]|0,Q0=(E+192|0)+(b0<<2)|0,M0=e[Q0>>2]|0,T0=1<>2]|0,F0=W1+(Y0*56|0)|0,_0=jm(F0,I)|0,N0=(_0|0)==-1,N0){A=0,k2=25;break}else i2=_0;if(V0=(x0|0)>0,V0)for(J0=T0+-1|0,l2=i2,f2=0;;){if(O0=l2&J0,z0=((E+320|0)+(b0<<5)|0)+(O0<<2)|0,q0=e[z0>>2]|0,r1=l2>>M0,H0=(q0|0)>-1,H0){if(e1=W1+(q0*56|0)|0,D0=jm(e1,I)|0,i1=f2+s2|0,c1=K+(i1<<2)|0,e[c1>>2]=D0,$1=(D0|0)==-1,$1){A=0,k2=25;break t}}else u1=f2+s2|0,g1=K+(u1<<2)|0,e[g1>>2]=0;if(s1=f2+1|0,a1=(s1|0)<(x0|0),a1)l2=r1,f2=s1;else break}if(n1=x0+s2|0,o1=r2+1|0,Z0=e[E>>2]|0,I1=(o1|0)<(Z0|0),I1)r2=o1,s2=n1;else break e}if((k2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,d0=(C0|0)>2,!d0)return A=K,A|0;for(p0=n+1032|0,B0=n+780|0,a2=2;;){if(h1=a2+-2|0,m1=p0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,B1=e[E1>>2]|0,Q1=B0+(h1<<2)|0,x1=e[Q1>>2]|0,L1=(E+836|0)+(x1<<2)|0,w1=e[L1>>2]|0,b1=K+(d1<<2)|0,R1=e[b1>>2]|0,F1=K+(x1<<2)|0,G1=e[F1>>2]|0,v1=(E+836|0)+(a2<<2)|0,Z1=e[v1>>2]|0,N1=R1&32767,_1=G1&32767,V1=_1-N1|0,O1=w1-B1|0,X1=(V1|0)>-1,t2=0-V1|0,q1=X1?V1:t2,H1=Z1-B1|0,Y1=r5(q1,H1)|0,j1=(Y1|0)/(O1|0)&-1,n2=(V1|0)<0,P1=0-j1|0,g=n2?P1:j1,a=g+N1|0,c2=e[$0>>2]|0,z1=c2-a|0,u2=K+(a2<<2)|0,o2=e[u2>>2]|0,E2=(o2|0)==0,E2)W=a|32768,e[u2>>2]=W;else{A2=(z1|0)<(a|0),K1=A2?z1:a,h2=K1<<1,$2=(o2|0)<(h2|0);do if($2)if(b=o2&1,w=(b|0)==0,w){_=o2>>1,y2=_;break}else{y=o2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){B=o2-a|0,y2=B;break}else{p=o2-z1|0,S=p^-1,y2=S;break}while(!1);x=y2+a|0,F=x&32767,e[u2>>2]=F,M=e[m1>>2]|0,T=K+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=K+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=a2+1|0,q=e[U>>2]|0,X=(e0|0)<(q|0),X)a2=e0;else{A=K;break}}return A|0}function pS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0;if(v1=C,E=n+1296|0,I=e[E>>2]|0,L=t+64|0,J=e[L>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,T0=C0+28|0,z0=e[T0>>2]|0,$1=t+28|0,u1=e[$1>>2]|0,m=z0+(u1<<2)|0,B=e[m>>2]|0,p=(B|0)/2&-1,S=(A|0)==0,S)return c1=p<<2,Ae(a|0,0,c1|0)|0,g=0,g|0;if(b=e[A>>2]|0,w=I+832|0,y=e[w>>2]|0,D=r5(y,b)|0,Q=(D|0)<0,_=(D|0)>255,x=_?255:D,F=Q?0:x,M=n+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=n+260|0,o1=0,m1=1,E1=0,Q1=F;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=A+(W<<2)|0,q=e[e0>>2]|0,X=q&32767,U=(X|0)==(q|0),U)if(l0=(I+836|0)+(W<<2)|0,Z=e[l0>>2]|0,K=r5(y,q)|0,$0=(K|0)<0,s0=(K|0)>255,n0=s0?255:K,V=$0?0:n0,h0=V-Q1|0,o0=Z-E1|0,I1=(h0|0)>-1,L1=0-h0|0,g0=I1?h0:L1,j=(h0|0)/(o0|0)&-1,c0=h0>>31,u0=c0|1,I0=r5(j,o0)|0,h1=(I0|0)>-1,w1=0-I0|0,w0=h1?I0:w1,v0=g0-w0|0,d0=(p|0)>(Z|0),b1=d0?Z:p,p0=(b1|0)>(E1|0),p0&&(B0=1768+(Q1<<2)|0,E0=+s[B0>>2],b0=a+(E1<<2)|0,K0=+s[b0>>2],x0=K0*E0,s[b0>>2]=x0),Q0=E1+1|0,M0=(Q0|0)<(b1|0),M0)for(V0=Q0,g1=0,R1=Q1;;)if(G0=g1+v0|0,P0=(G0|0)<(o0|0),y0=P0?0:u0,Y0=P0?0:o0,l1=G0-Y0|0,u=R1+j|0,F1=u+y0|0,F0=1768+(F1<<2)|0,_0=+s[F0>>2],N0=a+(V0<<2)|0,J0=+s[N0>>2],O0=J0*_0,s[N0>>2]=O0,U0=V0+1|0,a1=(U0|0)==(b1|0),a1){Z0=Z,p1=Z,x1=V;break}else V0=U0,g1=l1,R1=F1;else Z0=Z,p1=Z,x1=V;else Z0=o1,p1=E1,x1=Q1;if(q0=m1+1|0,r1=(q0|0)<(T|0),r1)o1=Z0,m1=q0,E1=p1,Q1=x1;else{n1=Z0,B1=x1;break}}else n1=0,B1=F;if(O=(n1|0)<(p|0),!O)return g=1,g|0;for(z=1768+(B1<<2)|0,Y=+s[z>>2],d1=n1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],D0=e1*Y,s[H0>>2]=D0,i1=d1+1|0,s1=(i1|0)==(p|0),s1){g=1;break}else d1=i1;return g|0}function BS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,g=e[n>>2]|0,u=e[g>>2]|0,E=a-u|0,E|0}function QS(t){t=t|0;var n=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function yS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0;$0=C,g=j$(n|0)|0,u=j$(A|0)|0,Q=g+2|0,Y=Q+u|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,dp(J|0,n|0)|0,Z=j$(J|0)|0,l0=J+Z|0,d[l0>>0]=61,d[l0+1>>0]=0,yQ(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,q=e[e0>>2]|0,X=q<<2,U=X+8|0,E=qi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,B=e[e0>>2]|0,p=B<<2,S=p+8|0,b=qi(m,S)|0,e[I>>2]=b,w=j$(J|0)|0,y=e[e0>>2]|0,D=b+(y<<2)|0,e[D>>2]=w,_=w+1|0,L=S9(_)|0,x=e[t>>2]|0,F=x+(y<<2)|0,e[F>>2]=L,M=e[t>>2]|0,T=M+(y<<2)|0,N=e[T>>2]|0,dp(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=$0}function wS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;if(Y=C,g=(t|0)==0,!g){if(u=e[t>>2]|0,Q=(u|0)==0,!Q){if(L=t+8|0,x=e[L>>2]|0,F=(x|0)>0,F){for(_=x,T=u,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),A=e[L>>2]|0,m=A),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,B=a}else B=u;I2(B)}p=t+4|0,S=e[p>>2]|0,b=(S|0)==0,b||I2(S),w=t+12|0,y=e[w>>2]|0,D=(y|0)==0,D||I2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function vS(t){t=t|0;var n=0,A=0,a=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,n=n4(1,3664)|0,A=t+28|0,e[A>>2]=n}function gp(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;if(p1=C,u=t+28|0,E=e[u>>2]|0,_=(E|0)==0,_){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(t0=E+8|0,s0=e[t0>>2]|0,w0=(s0|0)>0,w0)for(g1=s0,o1=0;n1=(E+32|0)+(o1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?S=g1:(I2(I),n=e[t0>>2]|0,S=n),B=o1+1|0,p=(B|0)<(S|0),p;)g1=S,o1=B;if(M0=E+12|0,O0=e[M0>>2]|0,u1=(O0|0)>0,u1)for(l1=O0,Z0=0;D=(E+544|0)+(Z0<<2)|0,Q=e[D>>2]|0,L=(Q|0)==0,L?Y=l1:(x=(E+288|0)+(Z0<<2)|0,F=e[x>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,to[G&7](Q),A=e[M0>>2]|0,Y=A),O=Z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,Z0=O;if(b=E+16|0,w=e[b>>2]|0,y=(w|0)>0,y)for(s1=w,I1=0;q=(E+1056|0)+(I1<<2)|0,X=e[q>>2]|0,U=(X|0)==0,U?o0=s1:(l0=(E+800|0)+(I1<<2)|0,Z=e[l0>>2]|0,K=25640+(Z<<2)|0,$0=e[K>>2]|0,i0=$0+12|0,n0=e[i0>>2]|0,to[n0&7](X),a=e[b>>2]|0,o0=a),V=I1+1|0,h0=(V|0)<(o0|0),h0;)s1=o0,I1=V;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;I0=(E+1568|0)+(h1<<2)|0,C0=e[I0>>2]|0,v0=(C0|0)==0,v0?T0=a1:(d0=(E+1312|0)+(h1<<2)|0,p0=e[d0>>2]|0,B0=25648+(p0<<2)|0,E0=e[B0>>2]|0,b0=E0+12|0,K0=e[b0>>2]|0,to[K0&7](C0),g=e[J>>2]|0,T0=g),x0=h1+1|0,Q0=(x0|0)<(T0|0),Q0;)a1=T0,h1=x0;if(g0=E+24|0,j=e[g0>>2]|0,c0=(j|0)>0,u0=E+2848|0,c0)for(m1=0;G0=(E+1824|0)+(m1<<2)|0,P0=e[G0>>2]|0,y0=(P0|0)==0,y0||fp(P0),Y0=e[u0>>2]|0,F0=(Y0|0)==0,F0||(_0=Y0+(m1*56|0)|0,nb(_0)),N0=m1+1|0,V0=e[g0>>2]|0,J0=(N0|0)<(V0|0),J0;)m1=N0;if(z0=e[u0>>2]|0,U0=(z0|0)==0,U0||I2(z0),q0=E+28|0,r1=e[q0>>2]|0,H0=(r1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,D0=e[e1>>2]|0,TS(D0),i1=d1+1|0,c1=e[q0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function kS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,B=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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,u=-129,C=W2,u|0;if(c2=B+4|0,r2=e[c2>>2]|0,D2=(r2|0)<1,D2)S5=-129,a5=27;else if(Ap(M1),T1=B+28|0,m5=e[T1>>2]|0,p=(m5|0)==0,p)S5=-130,a5=27;else if(M=e[m5>>2]|0,q=(M|0)<64,q)S5=-130,a5=27;else if(h0=m5+4|0,p0=e[h0>>2]|0,y0=(p0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=B+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=B+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),o1=B+16|0,Z0=e[o1>>2]|0,U2(M1,Z0,32),I1=B+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Tt(d1)|0,U2(M1,E1,4),p1=e[h0>>2]|0,B1=p1+-1|0,x1=Tt(B1)|0,U2(M1,x1,4),U2(M1,1,1),L1=Q1+64|0,w1=e[L1>>2]|0,b1=(w1|0)==0,b1||I2(w1),R1=yt(M1)|0,F1=S9(R1)|0,e[L1>>2]=F1,G1=M1+8|0,v1=e[G1>>2]|0,U1=yt(M1)|0,s4(F1|0,v1|0,U1|0)|0,Z1=e[L1>>2]|0,e[A>>2]=Z1,_1=yt(M1)|0,V1=A+4|0,e[V1>>2]=_1,O1=A+8|0,e[O1>>2]=1,q1=A+12|0,e[q1>>2]=0,e[q1+4>>2]=0,e[q1+8>>2]=0,e[q1+12>>2]=0,e[q1+16>>2]=0,u7(M1),SS(M1,n),H1=Q1+68|0,Y1=e[H1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),n2=yt(M1)|0,W1=S9(n2)|0,e[H1>>2]=W1,P1=e[G1>>2]|0,z1=yt(M1)|0,s4(W1|0,P1|0,z1|0)|0,u2=e[H1>>2]|0,e[a>>2]=u2,o2=yt(M1)|0,E2=a+4|0,e[E2>>2]=o2,A2=a+8|0,K1=a+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=K1,$2=h2,e[$2>>2]=1,i2=h2+4|0,l2=i2,e[l2>>2]=0,u7(M1),a2=e[T1>>2]|0,X1=(a2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),s2=a2+24|0,f2=e[s2>>2]|0,t2=f2+-1|0,U2(M1,t2,8),y2=e[s2>>2]|0,k2=(y2|0)>0,k2)for(q2=0;;){if(N2=(a2+1824|0)+(q2<<2)|0,d2=e[N2>>2]|0,K2=nS(d2,M1)|0,G2=(K2|0)==0,C2=q2+1|0,!G2)break e;if(w2=e[s2>>2]|0,F2=(C2|0)<(w2|0),F2)q2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),H2=a2+16|0,M2=e[H2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[H2>>2]|0,o5=(z2|0)>0,o5)for(I5=0;;){if(O2=(a2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),L5=e[O2>>2]|0,e5=25640+(L5<<2)|0,b5=e[e5>>2]|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5)break e;if(k5=(a2+1056|0)+(I5<<2)|0,P5=e[k5>>2]|0,Cp[Z2&3](P5,M1),l5=I5+1|0,v2=e[H2>>2]|0,n5=(l5|0)<(v2|0),n5)I5=l5;else break}if(x2=a2+20|0,_2=e[x2>>2]|0,p2=_2+-1|0,U2(M1,p2,6),C5=e[x2>>2]|0,R5=(C5|0)>0,R5)for(A5=0;d5=(a2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,S=e[_5>>2]|0,b=e[S>>2]|0,w=(a2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,Cp[b&3](y,M1),D=A5+1|0,Q=e[x2>>2]|0,_=(D|0)<(Q|0),_;)A5=D;if(L=a2+12|0,x=e[L>>2]|0,F=x+-1|0,U2(M1,F,6),T=e[L>>2]|0,N=(T|0)>0,N)for(c5=0;G=(a2+288|0)+(c5<<2)|0,O=e[G>>2]|0,U2(M1,O,16),z=e[G>>2]|0,Y=25664+(z<<2)|0,t0=e[Y>>2]|0,J=e[t0>>2]|0,W=(a2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,DQ[J&1](B,e0,M1),X=c5+1|0,U=e[L>>2]|0,l0=(X|0)<(U|0),l0;)c5=X;if(Z=a2+8|0,K=e[Z>>2]|0,$0=K+-1|0,U2(M1,$0,6),s0=e[Z>>2]|0,i0=(s0|0)>0,i0)for(p5=0;n0=(a2+32|0)+(p5<<2)|0,V=e[n0>>2]|0,o0=e[V>>2]|0,U2(M1,o0,1),g0=e[n0>>2]|0,j=g0+4|0,c0=e[j>>2]|0,U2(M1,c0,16),u0=e[n0>>2]|0,I0=u0+8|0,w0=e[I0>>2]|0,U2(M1,w0,16),C0=e[n0>>2]|0,v0=C0+12|0,d0=e[v0>>2]|0,U2(M1,d0,8),B0=p5+1|0,E0=e[Z>>2]|0,b0=(B0|0)<(E0|0),b0;)p5=B0;return U2(M1,1,1),K0=Q1+72|0,x0=e[K0>>2]|0,Q0=(x0|0)==0,Q0||I2(x0),M0=yt(M1)|0,T0=S9(M0)|0,e[K0>>2]=T0,G0=e[G1>>2]|0,P0=yt(M1)|0,s4(T0|0,G0|0,P0|0)|0,Y0=e[K0>>2]|0,e[g>>2]=Y0,F0=yt(M1)|0,_0=g+4|0,e[_0>>2]=F0,N0=g+8|0,V0=g+24|0,e[N0>>2]=0,e[N0+4>>2]=0,e[N0+8>>2]=0,e[N0+12>>2]=0,J0=V0,O0=J0,e[O0>>2]=2,z0=J0+4|0,U0=z0,e[U0>>2]=0,ap(M1),u=0,C=W2,u|0}while(!1);e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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=L1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[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,E=Q1+64|0,I=E,g5=S5),ap(M1),q0=e[I>>2]|0,H0=(q0|0)==0,H0||I2(q0),e1=Q1+68|0,D0=e[e1>>2]|0,i1=(D0|0)==0,i1||I2(D0),c1=Q1+72|0,$1=e[c1>>2]|0,u1=($1|0)==0,u1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,u=g5,C=W2,u|0}function SS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,g=44;E=g+-1|0,I=A+1|0,L=d[A>>0]|0,J=L<<24>>24,U2(t,J,8),q=(E|0)==0,!q;)A=I,g=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),l0=e[X>>2]|0,Z=(l0|0)>0,!Z){U2(t,1,1);return}for(K=n+4|0,$0=0;;){if(m=e[n>>2]|0,B=m+($0<<2)|0,p=e[B>>2]|0,S=(p|0)==0,S)U2(t,0,32);else if(b=e[K>>2]|0,w=b+($0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[K>>2]|0,Q=D+($0<<2)|0,_=e[Q>>2]|0,x=(_|0)==0,!x)for(F=e[n>>2]|0,M=F+($0<<2)|0,T=e[M>>2]|0,a=T,u=_;N=u+-1|0,G=a+1|0,O=d[a>>0]|0,z=O<<24>>24,U2(t,z,8),Y=(N|0)==0,!Y;)a=G,u=N;if(t0=$0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)$0=t0;else break}U2(t,1,1)}function rQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0;if(Y1=C,m=a+1|0,B=m<<3,g=B,F=C,C=C+((1*g|0)+15&-16)|0,e0=a<<3,u=e0,V=C,C=C+((1*u|0)+15&-16)|0,d0=(m|0)==0,d0)N=0;else{for(P0=a;;){if(q0=(P0|0)<(A|0),q0)for(m1=0,R1=P0;;)if(s1=t+(R1<<2)|0,I1=+s[s1>>2],p=I1,S=R1-P0|0,b=t+(S<<2)|0,w=+s[b>>2],y=w,D=y*p,Q=D+m1,_=R1+1|0,b1=(_|0)==(A|0),b1){h1=Q;break}else m1=Q,R1=_;else h1=0;if(L=F+(P0<<3)|0,A1[L>>3]=h1,x=P0+-1|0,M=(P0|0)==0,M)break;P0=x}I=+A1[F>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,Z0=Q1,C=Y1,+Z0;for(;;){if(v1=F1+1|0,Y=E1>3],U=-X,l0=(F1|0)>0,l0){for(U1=0,O1=U;;)if($0=V+(U1<<3)|0,s0=+A1[$0>>3],i0=F1-U1|0,n0=F+(i0<<3)|0,h0=+A1[n0>>3],o0=h0*s0,g0=O1-o0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=g0;break}else U1=j,O1=g0;if(c0=E/E1,u0=V+(F1<<3)|0,A1[u0>>3]=c0,I0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,v0=(I0|0)>1,N1=0;p0=V+(N1<<3)|0,B0=+A1[p0>>3],E0=C0-N1|0,b0=V+(E0<<3)|0,K0=+A1[b0>>3],x0=K0*c0,Q0=x0+B0,A1[p0>>3]=Q0,M0=B0*c0,T0=+A1[b0>>3],G0=T0+M0,A1[b0>>3]=G0,y0=N1+1|0,Y0=(y0|0)<(I0|0),Y0;)N1=y0;q1=v0?I0:1,O0=c0,Z1=q1}else O0=c0,Z1=0}else Z=U/E1,K=V+(F1<<3)|0,A1[K>>3]=Z,O0=Z,Z1=0;if(F0=F1&1,_0=(F0|0)==0,_0||(N0=V+(Z1<<3)|0,V0=+A1[N0>>3],J0=V0*O0,z0=J0+V0,A1[N0>>3]=z0),U0=O0*O0,r1=1-U0,H0=r1*E1,e1=(v1|0)<(a|0),e1)E1=H0,F1=v1;else{B1=H0;break}}if((H1|0)==8&&(t0=V+(G1<<3)|0,J=a-G1|0,W=J<<3,Ae(t0|0,0,W|0)|0,B1=p1),z)d1=.99,_1=0;else return Q1=B1,Z0=Q1,C=Y1,+Z0;for(;D0=V+(_1<<3)|0,i1=+A1[D0>>3],c1=i1*d1,A1[D0>>3]=c1,$1=d1*.99,u1=_1+1|0,L1=(u1|0)==(a|0),!L1;)d1=$1,_1=u1;if(z)V1=0;else return Q1=B1,Z0=Q1,C=Y1,+Z0;for(;;)if(g1=V+(V1<<3)|0,l1=+A1[g1>>3],a1=l1,n1=n+(V1<<2)|0,s[n1>>2]=a1,o1=V1+1|0,x1=(o1|0)==(a|0),x1){Q1=B1;break}else V1=o1;return Z0=Q1,C=Y1,+Z0}function nQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0;if(K=C,I=g+A|0,m=I<<2,u=m,x=C,C=C+((1*u|0)+15&-16)|0,M=(n|0)==0,T=(A|0)>0,M?T&&(G=A<<2,Ae(x|0,0,G|0)|0):T&&(N=A<<2,s4(x|0,n|0,N|0)|0),O=(g|0)>0,!O){C=K;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=g<<2,Ae(x|0,0,Y|0)|0,Ae(a|0,0,Y|0)|0,C=K;return}for(;;){for(X=W,U=A,l0=0;;)if(b=X+1|0,w=x+(X<<2)|0,y=+s[w>>2],D=U+-1|0,Q=t+(D<<2)|0,_=+s[Q>>2],L=_*y,F=l0-L,t0=(b|0)==(e0|0),t0){E=F;break}else X=b,U=D,l0=F;if(B=x+(e0<<2)|0,s[B>>2]=E,p=a+(W<<2)|0,s[p>>2]=E,S=W+1|0,q=e0+1|0,J=(S|0)==(g|0),J)break;W=S,e0=q}C=K}function bS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0;if(b0=C,g=e[n>>2]|0,u=(g|0)>1,u?(U2(A,1,1),Q=e[n>>2]|0,Y=Q+-1|0,U2(A,Y,4)):U2(A,0,1),$0=n+1156|0,u0=e[$0>>2]|0,I0=(u0|0)>0,I0){if(U2(A,1,1),w0=e[$0>>2]|0,C0=w0+-1|0,U2(A,C0,8),v0=e[$0>>2]|0,E=(v0|0)>0,E)for(I=n+1160|0,m=t+4|0,B=n+2184|0,d0=0;p=I+(d0<<2)|0,S=e[p>>2]|0,b=e[m>>2]|0,w=b+-1|0,y=Tt(w)|0,U2(A,S,y),D=B+(d0<<2)|0,_=e[D>>2]|0,L=e[m>>2]|0,x=L+-1|0,F=Tt(x)|0,U2(A,_,F),M=d0+1|0,T=e[$0>>2]|0,N=(M|0)<(T|0),N;)d0=M}else U2(A,0,1);if(U2(A,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,p0=0;l0=W+(p0<<2)|0,Z=e[l0>>2]|0,U2(A,Z,4),K=p0+1|0,s0=e[z>>2]|0,i0=(K|0)<(s0|0),i0;)p0=K;a=e[n>>2]|0,e0=a,E0=13}}else e0=G,E0=13;if(!((E0|0)==13&&(q=(e0|0)>0,!q)))for(X=n+1028|0,U=n+1092|0,B0=0;U2(A,0,8),n0=X+(B0<<2)|0,V=e[n0>>2]|0,U2(A,V,8),h0=U+(B0<<2)|0,o0=e[h0>>2]|0,U2(A,o0,8),g0=B0+1|0,j=e[n>>2]|0,c0=(g0|0)<(j|0),c0;)B0=g0}function DS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,g=n4(1,3208)|0,u=t+28|0,Q=e[u>>2]|0,Ae(g|0,0,3208)|0,Y=t+4|0,$0=e[Y>>2]|0,I0=($0|0)<1;e:do if(I0)a1=24;else if(Q0=W4(n,1)|0,J0=(Q0|0)<0,J0)a1=24;else{if(H0=(Q0|0)==0,H0)e[g>>2]=1;else if(e1=W4(n,4)|0,E=e1+1|0,e[g>>2]=E,I=(e1|0)<0,I)break;if(m=W4(n,1)|0,B=(m|0)<0,!B){if(p=(m|0)==0,!p){if(S=W4(n,8)|0,b=S+1|0,w=g+1156|0,e[w>>2]=b,y=(S|0)<0,y)break;for(D=g+1160|0,_=g+2184|0,a=e[Y>>2]|0,T=a,D0=0;;){if(M=T+-1|0,N=Tt(M)|0,G=W4(n,N)|0,O=D+(D0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Tt(t0)|0,W=W4(n,J)|0,e0=_+(D0<<2)|0,e[e0>>2]=W,q=W|G,X=(q|0)<0,U=(G|0)==(W|0),$1=U|X,$1||(l0=e[Y>>2]|0,Z=(G|0)<(l0|0),K=(W|0)<(l0|0),u1=Z&K,x=D0+1|0,!u1))break e;if(L=e[w>>2]|0,F=(x|0)<(L|0),F)T=l0,D0=x;else break}}if(s0=W4(n,2)|0,i0=(s0|0)==0,i0){if(n0=e[g>>2]|0,V=(n0|0)>1,V){if(h0=e[Y>>2]|0,o0=(h0|0)>0,o0)for(g0=g+4|0,i1=0;;){if(E0=W4(n,4)|0,b0=g0+(i1<<2)|0,e[b0>>2]=E0,K0=e[g>>2]|0,x0=(E0|0)>=(K0|0),M0=(E0|0)<0,g1=M0|x0,p0=i1+1|0,g1)break e;if(d0=e[Y>>2]|0,B0=(p0|0)<(d0|0),B0)i1=p0;else{j=K0,a1=17;break}}}else j=n0,a1=17;if((a1|0)==17&&(c0=(j|0)>0,!c0))return A=g,A|0;for(u0=g+1028|0,w0=Q+16|0,C0=g+1092|0,v0=Q+20|0,c1=0;;){if(W4(n,8)|0,y0=W4(n,8)|0,Y0=u0+(c1<<2)|0,e[Y0>>2]=y0,F0=e[w0>>2]|0,_0=(y0|0)>=(F0|0),N0=(y0|0)<0,l1=N0|_0,l1||(V0=W4(n,8)|0,O0=C0+(c1<<2)|0,e[O0>>2]=V0,z0=e[v0>>2]|0,U0=(V0|0)>=(z0|0),q0=(V0|0)<0,s1=q0|U0,G0=c1+1|0,s1))break e;if(T0=e[g>>2]|0,P0=(G0|0)<(T0|0),P0)c1=G0;else{A=g;break}}return A|0}}}while(!1);return(a1|0)==24&&(r1=(g|0)==0,r1)?(A=0,A|0):(I2(g),A=0,A|0)}function _S(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function xS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,z8=0,gt=0,ht=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,vt=0,G8=0,U8=0,P8=0,v8=0,k8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,dt=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,B9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0,Et=0,Rt=0,Xr=0,mr=0,io=0,qn=0,ro=0,Hn=0,no=0,so=0,Yn=0,oo=0,en=0,Ao=0,ao=0,$o=0,Jn=0,lo=0,Vn=0,Kn=0,co=0,tn=0,zn=0,rn=0,Zn=0,Wn=0,go=0,ho=0,uo=0,nn=0,jn=0,fo=0,Cr=0,sn=0,Io=0,Eo=0,on=0,ui=0,Xn=0,mo=0,Co=0,es=0,ts=0,is=0,po=0,fi=0,An=0,Bo=0,rs=0,Qo=0,yo=0,wo=0,ns=0,vo=0,ko=0,So=0,bo=0,ss=0,Do=0,_o=0,an=0,pr=0,$n=0,xo=0,ji=0,Lo=0,os=0,ln=0,As=0,cn=0,Ro=0,as=0,$s=0,Fo=0,ls=0,cs=0,Mo=0,Br=0,gs=0,di=0,gn=0,Qr=0,Xi=0,yr=0,Hi=0,wr=0,hs=0,Yi=0,vi=0,ki=0,j7=0,Si=0,vr=0,er=0,tr=0,kr=0,Ii=0,To=0,l7=0,el=0,hn=0,un=0;if(hn=C,_=t+64|0,L=e[_>>2]|0,i2=L+4|0,O3=e[i2>>2]|0,_4=O3+28|0,H4=e[_4>>2]|0,Io=L+104|0,fi=e[Io>>2]|0,bo=t+104|0,ln=e[bo>>2]|0,x=t+36|0,W=e[x>>2]|0,n0=O3+4|0,v0=e[n0>>2]|0,G0=v0<<2,a=G0,U0=C,C=C+((1*a|0)+15&-16)|0,l1=qt(t,G0)|0,p1=e[n0>>2]|0,U1=p1<<2,W1=qt(t,U1)|0,l2=e[n0>>2]|0,F2=l2<<2,O2=qt(t,F2)|0,v2=ln+4|0,_5=+s[v2>>2],g2=e[n0>>2]|0,L2=g2<<2,g=L2,F5=C,C=C+((1*g|0)+15&-16)|0,L3=ln+8|0,M5=e[L3>>2]|0,V5=t+28|0,c6=e[V5>>2]|0,Y3=(H4+544|0)+(c6<<2)|0,n6=e[Y3>>2]|0,R6=fi+56|0,u9=e[R6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,D=A4+M5|0,a4=u9+(D*52|0)|0,U4=t+40|0,e[U4>>2]=c6,$e=(g2|0)>0,$e)for(l4=+(W|0),J3=4/l4,ht=(s[B2>>2]=J3,e[B2>>2]|0),v8=(W|0)/2&-1,S8=v8<<2,b8=ht&2147483647,o8=+(b8>>>0),Q4=o8*7177114298428933e-22,Ye=Q4+-764.6162109375,ot=Ye,se=ot+.345,r7=se,n7=fi+4|0,Y7=t+24|0,hi=t+32|0,Pt=r7+-764.6162109375,Xr=W+-1|0,Ao=(Xr|0)>1,Zn=r7+-382.30810546875,wr=_5,Yi=0;;){if(Eo=e[t>>2]|0,on=Eo+(Yi<<2)|0,ui=e[on>>2]|0,Xn=qt(t,S8)|0,mo=W1+(Yi<<2)|0,e[mo>>2]=Xn,Co=qt(t,S8)|0,es=l1+(Yi<<2)|0,e[es>>2]=Co,ts=e[Y7>>2]|0,is=e[V5>>2]|0,po=e[hi>>2]|0,gb(ui,n7,H4,ts,is,po),An=e[V5>>2]|0,Bo=(fi+12|0)+(An<<2)|0,rs=e[Bo>>2]|0,Qo=e[rs>>2]|0,yo=e[es>>2]|0,sQ(Qo,ui,yo),wo=e[V5>>2]|0,ns=(fi+20|0)+(wo*12|0)|0,Ab(ns,ui),vo=e[ui>>2]|0,ko=vo&2147483647,So=+(ko>>>0),ss=So*7177114298428933e-22,Do=Pt+ss,_o=Do,an=_o+.345,pr=an,s[ui>>2]=pr,$n=F5+(Yi<<2)|0,s[$n>>2]=pr,Ao)for(O=pr,vr=1;;)if(xo=ui+(vr<<2)|0,ji=+s[xo>>2],Lo=ji*ji,os=vr+1|0,As=ui+(os<<2)|0,cn=+s[As>>2],Ro=cn*cn,as=Ro+Lo,$s=(s[B2>>2]=as,e[B2>>2]|0),Fo=$s&2147483647,ls=+(Fo>>>0),cs=ls*35885571492144663e-23,Mo=Zn+cs,Br=Mo,F=Br+.345,M=F,T=os>>1,N=ui+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[$n>>2]=M,Cr=M):Cr=O,z=vr+2|0,Y=(z|0)<(Xr|0),Y)O=Cr,vr=z;else{J=Cr;break}else J=pr;if(t0=J>0,t0?(s[$n>>2]=0,q=0):q=J,e0=q>wr,hs=e0?q:wr,X=Yi+1|0,U=e[n0>>2]|0,l0=(X|0)<(U|0),l0)wr=hs,Yi=X;else{B=S8,S=v8,Hi=hs;break}}else b=(W|0)/2&-1,w=b<<2,B=w,S=b,Hi=_5;Z=qt(t,B)|0,K=qt(t,B)|0,$0=e[n0>>2]|0,s0=($0|0)>0;e:do if(s0){if(i0=(W|0)>1,V=fi+48|0,i0)ki=0;else{for(vi=0;;){t6=(n6+4|0)+(vi<<2)|0,f6=e[t6>>2]|0,H3=l1+(vi<<2)|0,D3=e[H3>>2]|0,Z3=e[t>>2]|0,b6=Z3+(vi<<2)|0,A6=e[b6>>2]|0,t3=A6+(S<<2)|0,e[U4>>2]=c6,O6=qt(t,60)|0,s3=O2+(vi<<2)|0,e[s3>>2]=O6,l7=O6,un=l7+60|0;do e[l7>>2]=0,l7=l7+4|0;while((l7|0)<(un|0));if($Q(a4,t3,Z),a6=F5+(vi<<2)|0,d6=+s[a6>>2],lQ(a4,A6,K,Hi,d6),W$(a4,Z,K,1,A6,D3,t3),_3=(n6+1028|0)+(f6<<2)|0,N6=e[_3>>2]|0,Q6=(H4+800|0)+(N6<<2)|0,L6=e[Q6>>2]|0,K6=(L6|0)==1,!K6){A=-1;break}if(I6=e[V>>2]|0,J6=I6+(N6<<2)|0,F3=e[J6>>2]|0,j6=Z$(t,F3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=j6,s9=Lh(t)|0,U6=(s9|0)==0,U6||(D6=e[s3>>2]|0,z6=D6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(W$(a4,Z,K,2,A6,D3,t3),M3=e[_3>>2]|0,M6=e[V>>2]|0,t9=M6+(M3<<2)|0,A9=e[t9>>2]|0,X6=Z$(t,A9,t3,A6)|0,f9=e[s3>>2]|0,d9=f9+56|0,e[d9>>2]=X6,W$(a4,Z,K,0,A6,D3,t3),a9=e[_3>>2]|0,$9=e[V>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=Z$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[_3>>2]|0,I9=e[V>>2]|0,o4=I9+(N9<<2)|0,h4=e[o4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,b9=G9+28|0,E9=e[b9>>2]|0,q6=R8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=q6,S4=e[_3>>2]|0,y9=e[V>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,x4=e[s3>>2]|0,M4=e[x4>>2]|0,j4=x4+28|0,C4=e[j4>>2]|0,T4=R8(t,D4,M4,C4,18724)|0,U9=e[s3>>2]|0,N4=U9+8|0,e[N4>>2]=T4,L4=e[_3>>2]|0,u4=e[V>>2]|0,Ce=u4+(L4<<2)|0,q9=e[Ce>>2]|0,m9=e[s3>>2]|0,pe=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,G4=R8(t,q9,pe,Xe,28086)|0,Ge=e[s3>>2]|0,X4=Ge+12|0,e[X4>>2]=G4,be=e[_3>>2]|0,e8=e[V>>2]|0,Z9=e8+(be<<2)|0,ae=e[Z9>>2]|0,f4=e[s3>>2]|0,_6=e[f4>>2]|0,P4=f4+28|0,R9=e[P4>>2]|0,$4=R8(t,ae,_6,R9,37449)|0,W9=e[s3>>2]|0,le=W9+16|0,e[le>>2]=$4,ce=e[_3>>2]|0,p4=e[V>>2]|0,ee=p4+(ce<<2)|0,R4=e[ee>>2]|0,ge=e[s3>>2]|0,C9=e[ge>>2]|0,g6=ge+28|0,Ue=e[g6>>2]|0,Be=R8(t,R4,C9,Ue,46811)|0,B4=e[s3>>2]|0,c4=B4+20|0,e[c4>>2]=Be,P6=e[_3>>2]|0,De=e[V>>2]|0,_e=De+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,v4=e[g4>>2]|0,u8=g4+28|0,w9=e[u8>>2]|0,p9=R8(t,t8,v4,w9,56173)|0,F4=e[s3>>2]|0,te=F4+24|0,e[te>>2]=p9,lt=e[_3>>2]|0,xe=e[V>>2]|0,ct=xe+(lt<<2)|0,wt=e[ct>>2]|0,z8=e[s3>>2]|0,gt=z8+28|0,F8=e[gt>>2]|0,M8=z8+56|0,T8=e[M8>>2]|0,N8=R8(t,wt,F8,T8,9362)|0,Z8=e[s3>>2]|0,W8=Z8+32|0,e[W8>>2]=N8,vt=e[_3>>2]|0,G8=e[V>>2]|0,U8=G8+(vt<<2)|0,P8=e[U8>>2]|0,k8=e[s3>>2]|0,f8=k8+28|0,O8=e[f8>>2]|0,q8=k8+56|0,j8=e[q8>>2]|0,X8=R8(t,P8,O8,j8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=X8,Le=e[_3>>2]|0,i8=e[V>>2]|0,v9=i8+(Le<<2)|0,ut=e[v9>>2]|0,Qe=e[s3>>2]|0,ft=Qe+28|0,kt=e[ft>>2]|0,et=Qe+56|0,St=e[et>>2]|0,ie=R8(t,ut,kt,St,28086)|0,tt=e[s3>>2]|0,H8=tt+40|0,e[H8>>2]=ie,r8=e[_3>>2]|0,O4=e[V>>2]|0,Re=O4+(r8<<2)|0,n8=e[Re>>2]|0,I8=e[s3>>2]|0,D8=I8+28|0,he=e[D8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=R8(t,n8,he,s8,37449)|0,m8=e[s3>>2]|0,ue=m8+44|0,e[ue>>2]=E8,ye=e[_3>>2]|0,Oe=e[V>>2]|0,qe=Oe+(ye<<2)|0,X9=e[qe>>2]|0,Fe=e[s3>>2]|0,fe=Fe+28|0,A8=e[fe>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,it=R8(t,X9,A8,C8,46811)|0,q4=e[s3>>2]|0,I3=q4+48|0,e[I3>>2]=it,He=e[_3>>2]|0,p8=e[V>>2]|0,re=p8+(He<<2)|0,H9=e[re>>2]|0,ne=e[s3>>2]|0,D9=ne+28|0,Y8=e[D9>>2]|0,dt=ne+56|0,rt=e[dt>>2]|0,nt=R8(t,H9,Y8,rt,56173)|0,J8=e[s3>>2]|0,st=J8+52|0,e[st>>2]=nt)),V8=vi+1|0,a8=e[n0>>2]|0,$8=(V8|0)<(a8|0),$8)vi=V8;else{p=V,x8=a8;break e}}return C=hn,A|0}for(;;){x6=(n6+4|0)+(ki<<2)|0,I0=e[x6>>2]|0,Y6=l1+(ki<<2)|0,c0=e[Y6>>2]|0,C6=e[t>>2]|0,b3=C6+(ki<<2)|0,j=e[b3>>2]|0,h0=j+(S<<2)|0,e[U4>>2]=c6,e6=qt(t,60)|0,Q0=O2+(ki<<2)|0,e[Q0>>2]=e6,l7=e6,un=l7+60|0;do e[l7>>2]=0,l7=l7+4|0;while((l7|0)<(un|0));for(er=0;j3=c0+(er<<2)|0,S3=e[j3>>2]|0,g3=S3&2147483647,q3=+(g3>>>0),l6=q3*7177114298428933e-22,d3=l6+-764.6162109375,v6=d3,k6=v6+.345,S6=k6,Q=er+S|0,p6=j+(Q<<2)|0,s[p6>>2]=S6,X3=er+1|0,B6=(X3|0)<(S|0),B6;)er=X3;if($Q(a4,h0,Z),o0=F5+(ki<<2)|0,g0=+s[o0>>2],lQ(a4,j,K,Hi,g0),W$(a4,Z,K,1,j,c0,h0),u0=(n6+1028|0)+(I0<<2)|0,w0=e[u0>>2]|0,C0=(H4+800|0)+(w0<<2)|0,d0=e[C0>>2]|0,p0=(d0|0)==1,!p0){A=-1;break}if(B0=e[V>>2]|0,E0=B0+(w0<<2)|0,b0=e[E0>>2]|0,K0=Z$(t,b0,h0,j)|0,x0=e[Q0>>2]|0,M0=x0+28|0,e[M0>>2]=K0,T0=Lh(t)|0,P0=(T0|0)==0,P0||(y0=e[Q0>>2]|0,Y0=y0+28|0,F0=e[Y0>>2]|0,_0=(F0|0)==0,_0||(W$(a4,Z,K,2,j,c0,h0),N0=e[u0>>2]|0,V0=e[V>>2]|0,J0=V0+(N0<<2)|0,O0=e[J0>>2]|0,z0=Z$(t,O0,h0,j)|0,q0=e[Q0>>2]|0,r1=q0+56|0,e[r1>>2]=z0,W$(a4,Z,K,0,j,c0,h0),H0=e[u0>>2]|0,e1=e[V>>2]|0,D0=e1+(H0<<2)|0,i1=e[D0>>2]|0,c1=Z$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,u1=e[u0>>2]|0,g1=e[V>>2]|0,s1=g1+(u1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,o1=e[n1>>2]|0,Z0=n1+28|0,I1=e[Z0>>2]|0,h1=R8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[u0>>2]|0,B1=e[V>>2]|0,Q1=B1+(E1<<2)|0,x1=e[Q1>>2]|0,L1=e[Q0>>2]|0,w1=e[L1>>2]|0,b1=L1+28|0,R1=e[b1>>2]|0,F1=R8(t,x1,w1,R1,18724)|0,G1=e[Q0>>2]|0,v1=G1+8|0,e[v1>>2]=F1,Z1=e[u0>>2]|0,N1=e[V>>2]|0,_1=N1+(Z1<<2)|0,V1=e[_1>>2]|0,O1=e[Q0>>2]|0,q1=e[O1>>2]|0,H1=O1+28|0,Y1=e[H1>>2]|0,j1=R8(t,V1,q1,Y1,28086)|0,n2=e[Q0>>2]|0,P1=n2+12|0,e[P1>>2]=j1,c2=e[u0>>2]|0,z1=e[V>>2]|0,u2=z1+(c2<<2)|0,o2=e[u2>>2]|0,E2=e[Q0>>2]|0,A2=e[E2>>2]|0,K1=E2+28|0,h2=e[K1>>2]|0,$2=R8(t,o2,A2,h2,37449)|0,r2=e[Q0>>2]|0,a2=r2+16|0,e[a2>>2]=$2,X1=e[u0>>2]|0,s2=e[V>>2]|0,f2=s2+(X1<<2)|0,t2=e[f2>>2]|0,y2=e[Q0>>2]|0,k2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=R8(t,t2,k2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,K2=e[u0>>2]|0,G2=e[V>>2]|0,H2=G2+(K2<<2)|0,M2=e[H2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=R8(t,M2,z2,T1,56173)|0,L5=e[Q0>>2]|0,e5=L5+24|0,e[e5>>2]=X2,b5=e[u0>>2]|0,Z2=e[V>>2]|0,f5=Z2+(b5<<2)|0,k5=e[f5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,x2=e[n5>>2]|0,_2=R8(t,k5,m5,x2,9362)|0,p2=e[Q0>>2]|0,C5=p2+32|0,e[C5>>2]=_2,R5=e[u0>>2]|0,d5=e[V>>2]|0,D5=d5+(R5<<2)|0,G5=e[D5>>2]|0,q2=e[Q0>>2]|0,I5=q2+28|0,A5=e[I5>>2]|0,c5=q2+56|0,p5=e[c5>>2]|0,M1=R8(t,G5,A5,p5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[u0>>2]|0,W2=e[V>>2]|0,B5=W2+(a5<<2)|0,t5=e[B5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,u5=s5+56|0,i5=e[u5>>2]|0,x5=R8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=x5,Q5=e[u0>>2]|0,q5=e[V>>2]|0,j5=q5+(Q5<<2)|0,E5=e[j5>>2]|0,f3=e[Q0>>2]|0,h3=f3+28|0,Y5=e[h3>>2]|0,X5=f3+56|0,n3=e[X5>>2]|0,m3=R8(t,E5,Y5,n3,37449)|0,J5=e[Q0>>2]|0,v3=J5+44|0,e[v3>>2]=m3,u3=e[u0>>2]|0,B3=e[V>>2]|0,z3=B3+(u3<<2)|0,G3=e[z3>>2]|0,z5=e[Q0>>2]|0,w3=z5+28|0,W5=e[w3>>2]|0,i6=z5+56|0,U3=e[i6>>2]|0,a3=R8(t,G3,W5,U3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[u0>>2]|0,H5=e[V>>2]|0,U5=H5+(C3<<2)|0,O5=e[U5>>2]|0,v5=e[Q0>>2]|0,P3=v5+28|0,o6=e[P3>>2]|0,e3=v5+56|0,A3=e[e3>>2]|0,R3=R8(t,O5,o6,A3,56173)|0,u6=e[Q0>>2]|0,Q3=u6+52|0,e[Q3>>2]=R3)),k3=ki+1|0,y3=e[n0>>2]|0,r6=(k3|0)<(y3|0),r6)ki=k3;else{p=V,x8=y3;break e}}return C=hn,A|0}else y=fi+48|0,p=y,x8=$0;while(!1);for(s[v2>>2]=Hi,_8=x8<<2,u=_8,Je=C,C=C+((1*u|0)+15&-16)|0,E=_8,B9=C,C=C+((1*E|0)+15&-16)|0,At=Lh(t)|0,Ve=(At|0)!=0,Nt=Ve?0:7,Ht=fi+44|0,bt=t+24|0,at=t+32|0,Dt=H4+2868|0,Gt=fi+52|0,Ii=Nt;;){if(Yt=(ln+12|0)+(Ii<<2)|0,l8=e[Yt>>2]|0,U2(l8,0,1),L8=e[Ht>>2]|0,U2(l8,c6,L8),_t=e[V5>>2]|0,K8=(_t|0)==0,K8||(Me=e[bt>>2]|0,U2(l8,Me,1),de=e[at>>2]|0,U2(l8,de,1)),e4=e[n0>>2]|0,xt=(e4|0)>0,xt)for(j7=0;;)if(G7=(n6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Jt=(n6+1028|0)+(U7<<2)|0,I7=e[Jt>>2]|0,Vt=e[p>>2]|0,E7=Vt+(I7<<2)|0,Kt=e[E7>>2]|0,m7=O2+(j7<<2)|0,$i=e[m7>>2]|0,O7=$i+(Ii<<2)|0,C7=e[O7>>2]|0,p7=uS(l8,t,Kt,C7,d7)|0,li=U0+(j7<<2)|0,e[li>>2]=p7,B7=j7+1|0,s7=e[n0>>2]|0,ci=(B7|0)<(s7|0),ci)j7=B7;else{I=s7;break}else I=e4;if(q7=e[V5>>2]|0,H7=((H4+3240|0)+(q7*60|0)|0)+(Ii<<2)|0,J7=e[H7>>2]|0,US(Ii,Dt,a4,n6,l1,W1,U0,J7,I),o7=e[n6>>2]|0,Q7=(o7|0)>0,Q7)for(Si=0;;){if(V7=(n6+1092|0)+(Si<<2)|0,zt=e[V7>>2]|0,A7=e[n0>>2]|0,Ut=(A7|0)>0,Ut)for(sn=A7,di=0,tr=0;;)if(Zt=(n6+4|0)+(tr<<2)|0,gi=e[Zt>>2]|0,K7=(gi|0)==(Si|0),K7?(y7=B9+(di<<2)|0,z7=U0+(tr<<2)|0,w7=e[z7>>2]|0,To=(w7|0)!=0,n=To&1,e[y7>>2]=n,v7=W1+(tr<<2)|0,Z7=e[v7>>2]|0,k7=di+1|0,Wt=Je+(di<<2)|0,e[Wt>>2]=Z7,m=e[n0>>2]|0,a7=m,gn=k7):(a7=sn,gn=di),S7=tr+1|0,W7=(S7|0)<(a7|0),W7)sn=a7,di=gn,tr=S7;else{gs=gn;break}else gs=0;if(b7=(H4+1312|0)+(zt<<2)|0,ve=e[b7>>2]|0,D7=25648+(ve<<2)|0,Lt=e[D7>>2]|0,$7=Lt+20|0,n9=e[$7>>2]|0,It=e[Gt>>2]|0,B8=It+(zt<<2)|0,Et=e[B8>>2]|0,Rt=pp[n9&7](t,Et,Je,B9,gs)|0,mr=e[n0>>2]|0,io=(mr|0)>0,io)for(Xi=0,kr=0;;)if(qn=(n6+4|0)+(kr<<2)|0,ro=e[qn>>2]|0,Hn=(ro|0)==(Si|0),Hn?(no=W1+(kr<<2)|0,so=e[no>>2]|0,Yn=Xi+1|0,oo=Je+(Xi<<2)|0,e[oo>>2]=so,yr=Yn):yr=Xi,en=kr+1|0,ao=(en|0)<(mr|0),ao)Xi=yr,kr=en;else{Qr=yr;break}else Qr=0;if($o=e[b7>>2]|0,Jn=25648+($o<<2)|0,lo=e[Jn>>2]|0,Vn=lo+24|0,Kn=e[Vn>>2]|0,co=e[Gt>>2]|0,tn=co+(zt<<2)|0,zn=e[tn>>2]|0,_Q[Kn&3](l8,t,zn,Je,B9,Qr,Rt,Si)|0,rn=Si+1|0,Wn=e[n6>>2]|0,go=(rn|0)<(Wn|0),go)Si=rn;else break}if(ho=Ii+1|0,uo=Lh(t)|0,nn=(uo|0)!=0,jn=nn?14:7,fo=(Ii|0)<(jn|0),fo)Ii=ho;else{A=0;break}}return C=hn,A|0}function LS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0;if(L2=C,b=t+64|0,w=e[b>>2]|0,m1=w+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,y2=w+104|0,M2=e[y2>>2]|0,f5=t+28|0,R5=e[f5>>2]|0,y=K1+(R5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,c0=F1+4|0,K0=e[c0>>2]|0,N0=K0<<2,g=N0,i1=C,C=C+((1*g|0)+15&-16)|0,u=N0,Z0=C,C=C+((1*u|0)+15&-16)|0,E=N0,I1=C,C=C+((1*E|0)+15&-16)|0,I=N0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[c0>>2]|0,E1=(d1|0)>0,E1)for(p1=n+4|0,B1=n+1028|0,Q1=M2+48|0,x1=O<<1,L1=x1&2147483646,W2=0;;)if(U1=p1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=B1+(Z1<<2)|0,_1=e[N1>>2]|0,V1=(K1+800|0)+(_1<<2)|0,O1=e[V1>>2]|0,q1=25640+(O1<<2)|0,H1=e[q1>>2]|0,j1=H1+20|0,n2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(_1<<2)|0,c2=e[P1>>2]|0,z1=f7[n2&15](t,c2)|0,u2=h1+(W2<<2)|0,e[u2>>2]=z1,o2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[o2>>2]=A,E2=e[t>>2]|0,A2=E2+(W2<<2)|0,h2=e[A2>>2]|0,Ae(h2|0,0,L1|0)|0,$2=W2+1|0,i2=e[c0>>2]|0,l2=($2|0)<(i2|0),l2)W2=$2;else{n1=i2;break}else n1=d1;if(w1=n+1156|0,b1=e[w1>>2]|0,R1=(b1|0)>0,R1)for(G1=n+1160|0,v1=n+2184|0,g2=0;t2=G1+(g2<<2)|0,k2=e[t2>>2]|0,w2=I1+(k2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=v1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,K2=e[d2>>2]|0,G2=(K2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,H2=I1+(N2<<2)|0,e[H2>>2]=1),P2=g2+1|0,z2=(P2|0)<(b1|0),z2;)g2=P2;if(r2=e[n>>2]|0,a2=(r2|0)>0,a2){for(X1=n+1092|0,s2=M2+52|0,f2=n+4|0,o5=n1,B5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,u5=0;;)if(T1=f2+(u5<<2)|0,X2=e[T1>>2]|0,L5=(X2|0)==(B5|0),L5?(e5=I1+(u5<<2)|0,b5=e[e5>>2]|0,Z2=Z0+(g5<<2)|0,x5=(b5|0)!=0,a=x5&1,e[Z2>>2]=a,k5=e[t>>2]|0,P5=k5+(u5<<2)|0,l5=e[P5>>2]|0,v2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,p=e[c0>>2]|0,_2=p,a5=v2):(_2=o1,a5=g5),n5=u5+1|0,x2=(n5|0)<(_2|0),x2)o1=_2,g5=a5,u5=n5;else{S5=a5;break}else S5=0;if(p2=X1+(B5<<2)|0,C5=e[p2>>2]|0,d5=(K1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,q2=_5+28|0,I5=e[q2>>2]|0,A5=e[s2>>2]|0,c5=A5+(C5<<2)|0,p5=e[c5>>2]|0,pp[I5&7](t,p5,i1,Z0,S5)|0,M1=B5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;B=e[c0>>2]|0,o5=B,B5=M1}S=e[w1>>2]|0,_=S}else _=b1;if(L=(_|0)>0,L)for(x=n+1160|0,F=e[t>>2]|0,M=n+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=x+(t5<<2)|0,q=e[e0>>2]|0,X=F+(q<<2)|0,U=e[X>>2]|0,l0=M+(t5<<2)|0,K=e[l0>>2]|0,$0=F+(K<<2)|0,s0=e[$0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,n0=+s[i0>>2],V=s0+(i5<<2)|0,h0=+s[V>>2],o0=n0>0,g0=h0>0;do if(o0)if(g0){s[i0>>2]=n0,j=n0-h0,s[V>>2]=j;break}else{s[V>>2]=n0,u0=h0+n0,s[i0>>2]=u0;break}else if(g0){s[i0>>2]=n0,I0=h0+n0,s[V>>2]=I0;break}else{s[V>>2]=n0,w0=n0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,v0=(C0|0)<(T|0),v0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[c0>>2]|0,Y=(z|0)>0,!Y)return C=L2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(p0=e[t>>2]|0,B0=p0+(h5<<2)|0,E0=e[B0>>2]|0,b0=t0+(h5<<2)|0,x0=e[b0>>2]|0,Q0=J+(x0<<2)|0,M0=e[Q0>>2]|0,T0=(K1+800|0)+(M0<<2)|0,G0=e[T0>>2]|0,P0=25640+(G0<<2)|0,y0=e[P0>>2]|0,Y0=y0+24|0,F0=e[Y0>>2]|0,_0=e[W>>2]|0,V0=_0+(M0<<2)|0,J0=e[V0>>2]|0,O0=h1+(h5<<2)|0,z0=e[O0>>2]|0,mp[F0&3](t,J0,z0,E0)|0,U0=h5+1|0,q0=e[c0>>2]|0,r1=(U0|0)<(q0|0),r1)h5=U0;else{m=q0;break}if(d0=(m|0)>0,!d0)return C=L2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,D0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,u1=e[$1>>2]|0,g1=e[u1>>2]|0,RS(g1,D0,D0),l1=J2+1|0,s1=e[c0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=L2,0}function hp(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0;if(w1=C,A=(n|0)/4&-1,a=A<<2,y=S9(a)|0,O=A+n|0,Z=O<<2,c0=S9(Z)|0,K0=n>>1,N0=+(n|0),i1=N0,I1=+Wr(+i1),g=I1*1.4426950408889634,u=+Oi(g),E=~~u,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=c0,B=t+12|0,e[B>>2]=y,p=(n|0)>3,!p){Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0;return}for(S=+(n|0),b=3.141592653589793/S,w=n<<1,D=+(w|0),Q=3.141592653589793/D,p1=0;M=p1<<2,T=+(M|0),N=b*T,G=+WA(+N),z=G,Y=p1<<1,t0=c0+(Y<<2)|0,s[t0>>2]=z,J=+Pn(+N),W=J,e0=-W,q=Y|1,X=c0+(q<<2)|0,s[X>>2]=e0,U=+(q|0),l0=Q*U,K=+WA(+l0),$0=K,s0=Y+K0|0,i0=c0+(s0<<2)|0,s[i0>>2]=$0,n0=+Pn(+l0),V=n0,h0=s0+1|0,o0=c0+(h0<<2)|0,s[o0>>2]=V,g0=p1+1|0,j=(g0|0)<(A|0),j;)p1=g0;if(_=(n|0)/8&-1,L=(n|0)>7,!L){Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0;return}for(x=+(n|0),F=3.141592653589793/x,B1=0;u0=B1<<2,I0=u0|2,w0=+(I0|0),C0=F*w0,v0=+WA(+C0),d0=v0*.5,p0=d0,B0=B1<<1,E0=B0+n|0,b0=c0+(E0<<2)|0,s[b0>>2]=p0,x0=+Pn(+C0),Q0=x0*-.5,M0=Q0,T0=E0+1|0,G0=c0+(T0<<2)|0,s[G0>>2]=M0,P0=B1+1|0,y0=(P0|0)<(_|0),y0;)B1=P0;if(Y0=E+-1|0,F0=1<>2]=Z0;return}for(;;){for(z0=J0,m1=0,x1=0;;)if(O0=z0&Q1,U0=(O0|0)==0,q0=1<>H0,D0=(e1|0)==0,D0){E1=d1;break}else z0=e1,m1=d1,x1=H0;if(c1=E1^-1,$1=_0&c1,u1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=u1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,o1=(n1|0)<(_|0),o1)Q1=n1;else break}Z0=4/N0,h1=t+16|0,s[h1>>2]=Z0}function up(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;B=C,n=(t|0)==0,!n&&(A=t+8|0,a=e[A>>2]|0,g=(a|0)==0,g||I2(a),u=t+12|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function RS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0;for(q3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,K2=n+(a<<2)|0,g=I+W1|0,e5=A+(g<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=K2,k3=e5;E5=k3+-16|0,B3=U5+8|0,m=+s[B3>>2],x=c3+12|0,W=+s[x>>2],n0=m*W,v0=-n0,G0=+s[U5>>2],U0=c3+8|0,l1=+s[U0>>2],p1=l1*G0,U1=v0-p1,s[E5>>2]=U1,P1=+s[U5>>2],l2=+s[x>>2],y2=l2*P1,k2=+s[B3>>2],w2=+s[U0>>2],C2=w2*k2,F2=y2-C2,D2=k3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,H2=+s[G2>>2],M2=d2*H2,P2=-M2,z2=U5+16|0,o5=+s[z2>>2],O2=+s[c3>>2],T1=O2*o5,X2=P2-T1,L5=k3+-8|0,s[L5>>2]=X2,b5=+s[z2>>2],Z2=+s[G2>>2],f5=Z2*b5,k5=+s[N2>>2],P5=+s[c3>>2],l5=P5*k5,v2=f5-l5,m5=k3+-4|0,s[m5>>2]=v2,n5=U5+-32|0,x2=c3+16|0,p2=n5>>>0>>0,!p2;)c3=x2,U5=n5,k3=E5;for(C5=A+(I<<2)|0,u=I+-8|0,R5=n+(u<<2)|0,C3=h5,O5=R5,y3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,q2=+s[_5>>2],I5=q2*G5,A5=O5+24|0,p5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*p5,a5=g5+I5,s[y3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],B5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,u5=B5-J2,i5=y3+4|0,s[i5>>2]=u5,x5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],L2=$5*x5,Q5=O5+8|0,q5=+s[Q5>>2],j5=+s[d5>>2],f3=j5*q5,h3=f3+L2,Y5=y3+8|0,s[Y5>>2]=h3,X5=+s[O5>>2],n3=+s[d5>>2],m3=n3*X5,F5=+s[Q5>>2],J5=+s[j2>>2],v3=J5*F5,u3=m3-v3,z3=y3+12|0,s[z3>>2]=u3,G3=O5+-32|0,z5=y3+16|0,w3=G3>>>0>>0,!w3;)C3=d5,O5=G3,y3=z5;for(o6=t+4|0,e3=e[o6>>2]|0,oQ(e3,c5,C5,I),A3=e[t>>2]|0,R3=e[_2>>2]|0,u6=t+12|0,Q3=e[u6>>2]|0,AQ(A3,R3,Q3,A),W5=e[_2>>2]|0,i6=W5+(I<<2)|0,H5=i6,v5=A,r6=e5,V5=e5;L3=r6+-16|0,U3=+s[v5>>2],a3=H5+4|0,l3=+s[a3>>2],B=l3*U3,p=v5+4|0,S=+s[p>>2],b=+s[H5>>2],w=b*S,y=B-w,D=r6+-4|0,s[D>>2]=y,Q=+s[v5>>2],_=+s[H5>>2],L=_*Q,F=+s[p>>2],M=+s[a3>>2],T=M*F,N=L+T,G=-N,s[V5>>2]=G,O=v5+8|0,z=+s[O>>2],Y=H5+12|0,t0=+s[Y>>2],J=t0*z,e0=v5+12|0,q=+s[e0>>2],X=H5+8|0,U=+s[X>>2],l0=U*q,Z=J-l0,K=r6+-8|0,s[K>>2]=Z,$0=+s[O>>2],s0=+s[X>>2],i0=s0*$0,V=+s[e0>>2],h0=+s[Y>>2],o0=h0*V,g0=i0+o0,j=-g0,c0=V5+4|0,s[c0>>2]=j,u0=v5+16|0,I0=+s[u0>>2],w0=H5+20|0,C0=+s[w0>>2],d0=C0*I0,p0=v5+20|0,B0=+s[p0>>2],E0=H5+16|0,b0=+s[E0>>2],K0=b0*B0,x0=d0-K0,Q0=r6+-12|0,s[Q0>>2]=x0,M0=+s[u0>>2],T0=+s[E0>>2],P0=T0*M0,y0=+s[p0>>2],Y0=+s[w0>>2],F0=Y0*y0,_0=P0+F0,N0=-_0,V0=V5+8|0,s[V0>>2]=N0,J0=v5+24|0,O0=+s[J0>>2],z0=H5+28|0,q0=+s[z0>>2],r1=q0*O0,H0=v5+28|0,e1=+s[H0>>2],D0=H5+24|0,i1=+s[D0>>2],c1=i1*e1,$1=r1-c1,s[L3>>2]=$1,u1=+s[J0>>2],g1=+s[D0>>2],s1=g1*u1,a1=+s[H0>>2],n1=+s[z0>>2],o1=n1*a1,Z0=s1+o1,I1=-Z0,h1=V5+12|0,s[h1>>2]=I1,m1=V5+16|0,d1=v5+32|0,E1=H5+32|0,B1=d1>>>0>>0,B1;)H5=E1,v5=d1,r6=L3,V5=m1;for(Q1=A+(W1<<2)|0,P3=e5,j3=Q1,S3=Q1;;)if(x1=j3+-16|0,L1=P3+-16|0,w1=P3+-4|0,b1=+s[w1>>2],R1=j3+-4|0,s[R1>>2]=b1,F1=-b1,s[S3>>2]=F1,G1=P3+-8|0,v1=+s[G1>>2],Z1=j3+-8|0,s[Z1>>2]=v1,N1=-v1,_1=S3+4|0,s[_1>>2]=N1,V1=P3+-12|0,O1=+s[V1>>2],q1=j3+-12|0,s[q1>>2]=O1,H1=-O1,Y1=S3+8|0,s[Y1>>2]=H1,j1=+s[L1>>2],s[x1>>2]=j1,n2=-j1,c2=S3+12|0,s[c2>>2]=n2,z1=S3+16|0,u2=z1>>>0>>0,u2)P3=L1,j3=x1,S3=z1;else{M5=e5,O3=e5;break}for(;o2=O3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[o2>>2]=A2,K1=M5+8|0,h2=e[K1>>2]|0,$2=O3+-12|0,e[$2>>2]=h2,i2=M5+4|0,r2=e[i2>>2]|0,a2=O3+-8|0,e[a2>>2]=r2,X1=e[M5>>2]|0,s2=O3+-4|0,e[s2>>2]=X1,f2=M5+16|0,t2=o2>>>0>C5>>>0,t2;)M5=f2,O3=o2}function sQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0;if(q5=C,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,g=y+r1|0,r2=n+(g<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(u=g+1|0,K=n+(u<<2)|0,u0=a1+-1|0,x0=u0>>>1,V0=x0<<1,O0=y+-2|0,z0=O0-V0|0,U0=g+-4|0,q0=x0<<2,H0=U0-q0|0,n5=D,D5=0,h5=r2,x5=K;e1=h5+-16|0,D0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[x5>>2],u1=$1+c1,g1=+s[e1>>2],l1=x5+8|0,s1=+s[l1>>2],n1=s1+g1,o1=n5+-4|0,Z0=+s[o1>>2],I1=n1*Z0,h1=+s[D0>>2],m1=h1*u1,d1=m1+I1,S=D5+y|0,E1=N1+(S<<2)|0,s[E1>>2]=d1,p1=+s[D0>>2],B1=p1*n1,x1=+s[o1>>2],L1=x1*u1,w1=B1-L1,b1=D5|1,b=b1+y|0,R1=N1+(b<<2)|0,s[R1>>2]=w1,F1=x5+16|0,G1=D5+2|0,v1=(G1|0)<(a1|0),v1;)n5=D0,D5=G1,h5=e1,x5=F1;U1=V0+2|0,g2=T1+(z0<<2)|0,B5=n+(H0<<2)|0,O2=z0,m5=g2,d5=U1,s5=B5}else O2=y,m5=D,d5=0,s5=r2;if(Z1=n+4|0,_1=y-a1|0,V1=(d5|0)<(_1|0),V1){for(O1=y+-1|0,q1=O1-d5|0,H1=q1-a1|0,Y1=H1>>>1,j1=Y1<<1,n2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;u2=_2+-8|0,o2=J2+-16|0,E2=J2+-8|0,A2=+s[E2>>2],K1=+s[$5>>2],h2=A2-K1,$2=+s[o2>>2],i2=$5+8|0,l2=+s[i2>>2],a2=$2-l2,X1=_2+-4|0,s2=+s[X1>>2],f2=a2*s2,t2=+s[u2>>2],y2=t2*h2,k2=y2+f2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=k2,C2=+s[u2>>2],F2=C2*a2,N2=+s[X1>>2],d2=N2*h2,K2=F2-d2,G2=_5|1,B=G2+y|0,H2=N1+(B<<2)|0,s[H2>>2]=K2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(_1|0),z2;)_2=u2,_5=P2,J2=o2,$5=M2;o5=n2+2|0,a5=n+(P1<<2)|0,p=O2+z1|0,W2=T1+(p<<2)|0,x2=W2,G5=o5,j2=a5}else x2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(L5=n+(w<<2)|0,p2=x2,q2=G5,u5=L5,L2=j2;e5=p2+-8|0,b5=u5+-16|0,Z2=u5+-8|0,f5=+s[Z2>>2],k5=-f5,P5=+s[L2>>2],l5=k5-P5,v2=+s[b5>>2],Q=-v2,_=L2+8|0,L=+s[_>>2],x=Q-L,F=p2+-4|0,M=+s[F>>2],T=x*M,N=+s[e5>>2],G=N*l5,O=G+T,E=q2+y|0,Y=N1+(E<<2)|0,s[Y>>2]=O,t0=+s[e5>>2],J=t0*x,W=+s[F>>2],e0=W*l5,q=J-e0,X=q2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=q,l0=L2+16|0,Z=q2+2|0,$0=(Z|0)<(y|0),$0;)p2=e5,q2=Z,u5=b5,L2=l0;if(A5=t+4|0,c5=e[A5>>2]|0,oQ(c5,T1,c2,y),g5=e[t>>2]|0,p5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,AQ(g5,p5,S5,N1),s0=(r1|0)>0,!s0){C=q5;return}for(i0=A+(y<<2)|0,n0=e[D2>>2]|0,V=n0+(y<<2)|0,h0=t+16|0,C5=V,I5=0,t5=N1,i5=i0;o0=i5+-4|0,g0=+s[t5>>2],j=+s[C5>>2],c0=j*g0,I0=t5+4|0,w0=+s[I0>>2],C0=C5+4|0,v0=+s[C0>>2],d0=v0*w0,p0=d0+c0,B0=+s[h0>>2],E0=p0*B0,b0=A+(I5<<2)|0,s[b0>>2]=E0,K0=+s[t5>>2],Q0=+s[C0>>2],M0=Q0*K0,T0=+s[I0>>2],G0=+s[C5>>2],P0=G0*T0,y0=M0-P0,Y0=+s[h0>>2],F0=y0*Y0,s[o0>>2]=F0,_0=t5+8|0,N0=C5+8|0,J0=I5+1|0,R5=(J0|0)==(r1|0),!R5;)C5=N0,I5=J0,t5=_0,i5=o0;C=q5}function oQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,z8=0,gt=0,ht=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,vt=0,G8=0,U8=0,P8=0,v8=0,k8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,dt=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,B9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0,Et=0,Rt=0,Xr=0,mr=0;if(mr=C,I0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,_3=a>>1,p=_3+-8|0,z8=A+(p<<2)|0,g=n,It=P5,Et=z8;l8=It+24|0,P7=+s[l8>>2],C7=Et+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=It+28|0,T0=+s[C0>>2],z0=Et+28|0,g1=+s[z0>>2],E1=T0-g1,v1=Q7+P7,s[l8>>2]=v1,n2=+s[z0>>2],$2=n2+T0,s[C0>>2]=$2,w2=g+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[g>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[g>>2],i6=m3*E1,P3=+s[w2>>2],j3=P3*w7,p6=i6-j3,s[z0>>2]=p6,H3=It+16|0,N6=+s[H3>>2],s9=Et+16|0,X6=+s[s9>>2],I9=N6-X6,S4=It+20|0,N4=+s[S4>>2],Ge=Et+20|0,$4=+s[Ge>>2],g6=N4-$4,v4=X6+N6,s[H3>>2]=v4,gt=+s[Ge>>2],P8=gt+N4,s[S4>>2]=P8,i8=g+20|0,H8=+s[i8>>2],E8=H8*g6,we=g+16|0,D9=+s[we>>2],_8=D9*I9,at=_8+E8,s[s9>>2]=at,Yt=+s[we>>2],L8=Yt*g6,_t=+s[i8>>2],K8=_t*I9,Me=L8-K8,s[Ge>>2]=Me,de=It+8|0,e4=+s[de>>2],xt=Et+8|0,r7=+s[xt>>2],G7=e4-r7,U7=It+12|0,d7=+s[U7>>2],Jt=Et+12|0,I7=+s[Jt>>2],Vt=d7-I7,E7=r7+e4,s[de>>2]=E7,Kt=+s[Jt>>2],m7=Kt+d7,s[U7>>2]=m7,n7=g+36|0,$i=+s[n7>>2],O7=$i*Vt,p7=g+32|0,li=+s[p7>>2],B7=li*G7,s7=B7+O7,s[xt>>2]=s7,ci=+s[p7>>2],q7=ci*Vt,H7=+s[n7>>2],Y7=H7*G7,J7=q7-Y7,s[Jt>>2]=J7,o7=+s[It>>2],V7=+s[Et>>2],zt=o7-V7,A7=It+4|0,Ut=+s[A7>>2],Zt=Et+4|0,gi=+s[Zt>>2],K7=Ut-gi,hi=V7+o7,s[It>>2]=hi,y7=+s[Zt>>2],z7=y7+Ut,s[A7>>2]=z7,v7=g+52|0,Z7=+s[v7>>2],k7=Z7*K7,Wt=g+48|0,S7=+s[Wt>>2],W7=S7*zt,a7=W7+k7,s[Et>>2]=a7,Pt=+s[Wt>>2],b7=Pt*K7,ve=+s[v7>>2],v0=ve*zt,d0=b7-v0,s[Zt>>2]=d0,p0=It+-32|0,B0=Et+-32|0,E0=g+64|0,b0=B0>>>0>>0,!b0;)g=E0,It=p0,Et=B0;if(K0=(I0|0)>1,K0)for(Lt=1;;){if(x0=1<>Lt,G0=4<>1,S=P0+-8|0,N=G0+1|0,l0=G0<<1,i0=l0|1,h0=G0*3|0,g0=h0+1|0,c0=G0<<2,$7=0;;){for(Y0=r5($7,M0)|0,F0=A+(Y0<<2)|0,E=m+Y0|0,_0=A+(E<<2)|0,$0=S+Y0|0,N0=A+($0<<2)|0,u=n,B8=_0,Rt=N0;V0=B8+24|0,J0=+s[V0>>2],O0=Rt+24|0,U0=+s[O0>>2],q0=J0-U0,r1=B8+28|0,H0=+s[r1>>2],e1=Rt+28|0,D0=+s[e1>>2],i1=H0-D0,c1=U0+J0,s[V0>>2]=c1,$1=+s[e1>>2],u1=$1+H0,s[r1>>2]=u1,l1=u+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[u>>2],o1=n1*q0,Z0=o1+a1,s[O0>>2]=Z0,I1=+s[u>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*q0,p1=h1-d1,s[e1>>2]=p1,B1=u+(G0<<2)|0,Q1=B8+16|0,x1=+s[Q1>>2],L1=Rt+16|0,w1=+s[L1>>2],b1=x1-w1,R1=B8+20|0,F1=+s[R1>>2],G1=Rt+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+x1,s[Q1>>2]=N1,_1=+s[G1>>2],V1=_1+F1,s[R1>>2]=V1,O1=u+(N<<2)|0,q1=+s[O1>>2],H1=q1*Z1,Y1=+s[B1>>2],j1=Y1*b1,W1=j1+H1,s[L1>>2]=W1,P1=+s[B1>>2],c2=P1*Z1,z1=+s[O1>>2],u2=z1*b1,o2=c2-u2,s[G1>>2]=o2,E2=u+(l0<<2)|0,A2=B8+8|0,K1=+s[A2>>2],h2=Rt+8|0,i2=+s[h2>>2],l2=K1-i2,r2=B8+12|0,a2=+s[r2>>2],X1=Rt+12|0,s2=+s[X1>>2],f2=a2-s2,t2=i2+K1,s[A2>>2]=t2,y2=+s[X1>>2],k2=y2+a2,s[r2>>2]=k2,C2=u+(i0<<2)|0,F2=+s[C2>>2],D2=F2*f2,N2=+s[E2>>2],d2=N2*l2,K2=d2+D2,s[h2>>2]=K2,G2=+s[E2>>2],H2=G2*f2,M2=+s[C2>>2],P2=M2*l2,o5=H2-P2,s[X1>>2]=o5,O2=u+(h0<<2)|0,T1=+s[B8>>2],X2=+s[Rt>>2],L5=T1-X2,e5=B8+4|0,b5=+s[e5>>2],Z2=Rt+4|0,f5=+s[Z2>>2],k5=b5-f5,v2=X2+T1,s[B8>>2]=v2,m5=+s[Z2>>2],n5=m5+b5,s[e5>>2]=n5,x2=u+(g0<<2)|0,_2=+s[x2>>2],p2=_2*k5,C5=+s[O2>>2],R5=C5*L5,d5=R5+p2,s[Rt>>2]=d5,D5=+s[O2>>2],_5=D5*k5,q2=+s[x2>>2],I5=q2*L5,A5=_5-I5,s[Z2>>2]=A5,c5=u+(c0<<2)|0,p5=B8+-32|0,M1=Rt+-32|0,S5=M1>>>0>>0,!S5;)u=c5,B8=p5,Rt=M1;if(g5=$7+1|0,a5=(g5|0)<(x0|0),a5)$7=g5;else break}if(g2=Lt+1|0,D7=(g2|0)==(I0|0),D7)break;Lt=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;B5=A+(n9<<2)|0,B=n9|30,t5=A+(B<<2)|0,s5=+s[t5>>2],T=n9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],u5=s5-J2,U=n9|31,i5=A+(U<<2)|0,x5=+s[i5>>2],s0=n9|15,j2=A+(s0<<2)|0,L2=+s[j2>>2],Q5=x5-L2,q5=J2+s5,s[t5>>2]=q5,j5=L2+x5,s[i5>>2]=j5,s[h5>>2]=u5,s[j2>>2]=Q5,n0=n9|28,E5=A+(n0<<2)|0,f3=+s[E5>>2],V=n9|12,h3=A+(V<<2)|0,Y5=+s[h3>>2],X5=f3-Y5,o0=n9|29,n3=A+(o0<<2)|0,F5=+s[n3>>2],j=n9|13,J5=A+(j<<2)|0,v3=+s[J5>>2],u3=F5-v3,B3=Y5+f3,s[E5>>2]=B3,z3=v3+F5,s[n3>>2]=z3,G3=X5*.9238795042037964,z5=u3*.3826834261417389,w3=G3-z5,s[h3>>2]=w3,W5=X5*.3826834261417389,L3=u3*.9238795042037964,U3=L3+W5,s[J5>>2]=U3,u0=n9|26,a3=A+(u0<<2)|0,l3=+s[a3>>2],b=n9|10,c3=A+(b<<2)|0,C3=+s[c3>>2],H5=l3-C3,w=n9|27,U5=A+(w<<2)|0,O5=+s[U5>>2],y=n9|11,v5=A+(y<<2)|0,M5=+s[v5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,R3=H5-o6,u6=R3*.7071067690849304,s[c3>>2]=u6,Q3=o6+H5,k3=Q3*.7071067690849304,s[v5>>2]=k3,D=n9|24,y3=A+(D<<2)|0,r6=+s[y3>>2],Q=n9|8,O3=A+(Q<<2)|0,V5=+s[O3>>2],S3=r6-V5,_=n9|25,g3=A+(_<<2)|0,q3=+s[g3>>2],L=n9|9,l6=A+(L<<2)|0,d3=+s[l6>>2],v6=q3-d3,k6=V5+r6,s[y3>>2]=k6,S6=d3+q3,s[g3>>2]=S6,X3=S3*.3826834261417389,c6=v6*.9238795042037964,B6=X3-c6,x6=v6*.3826834261417389,Y6=S3*.9238795042037964,C6=x6+Y6,x=n9|22,b3=A+(x<<2)|0,e6=+s[b3>>2],F=n9|6,t6=A+(F<<2)|0,f6=+s[t6>>2],D3=e6-f6,M=n9|7,Y3=A+(M<<2)|0,Z3=+s[Y3>>2],G=n9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=Z3-A6,O6=f6+e6,s[b3>>2]=O6,s3=A6+Z3,s[b6>>2]=s3,s[t6>>2]=t3,s[Y3>>2]=D3,O=n9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=A+(z<<2)|0,Q6=+s[n6>>2],L6=d6-Q6,Y=n9|5,K6=A+(Y<<2)|0,I6=+s[K6>>2],t0=n9|21,J6=A+(t0<<2)|0,F3=+s[J6>>2],j6=I6-F3,G6=Q6+d6,s[n6>>2]=G6,e9=F3+I6,s[J6>>2]=e9,R6=j6*.9238795042037964,U6=L6*.3826834261417389,D6=R6+U6,z6=j6*.3826834261417389,y6=L6*.9238795042037964,F6=z6-y6,J=n9|2,M3=A+(J<<2)|0,M6=+s[M3>>2],W=n9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],u9=M6-A9,e0=n9|3,f9=A+(e0<<2)|0,d9=+s[f9>>2],q=n9|19,a9=A+(q<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=A9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+u9,N9=i9*.7071067690849304,E4=T9-u9,o4=E4*.7071067690849304,h4=+s[B5>>2],X=n9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=n9|1,E9=A+(Z<<2)|0,q6=+s[E9>>2],K=n9|17,r9=A+(K<<2)|0,m4=+s[r9>>2],A4=q6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+q6,s[r9>>2]=b4,D4=A4*.3826834261417389,x4=b9*.9238795042037964,M4=D4+x4,j4=A4*.9238795042037964,C4=b9*.3826834261417389,T4=j4-C4,U9=T4-C6,a4=M4-B6,L4=M4+B6,u4=T4+C6,Ce=a4+U9,q9=U9-a4,m9=+s[v5>>2],pe=o4-m9,Ne=+s[c3>>2],Xe=Ne-N9,G4=Ne+N9,U4=m9+o4,X4=+s[h3>>2],be=X4-D6,e8=+s[J5>>2],Z9=e8-F6,ae=X4+D6,f4=e8+F6,_6=be-Z9,P4=Z9+be,R9=+s[h5>>2],_4=R9-t3,$e=+s[j2>>2],W9=$e-D3,le=t3+R9,ce=D3+$e,p4=_4+pe,ee=_4-pe,R4=_6+Ce,ge=R4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=ge+p4,s[t6>>2]=l4,Be=p4-ge,s[a6>>2]=Be,B4=P4-q9,c4=B4*.7071067690849304,P6=W9-Xe,De=c4+ee,s[B5>>2]=De,_e=ee-c4,s[M3>>2]=_e,t8=P4+q9,g4=t8*.7071067690849304,u8=W9+Xe,J3=P6+Ue,s[f9>>2]=J3,w9=P6-Ue,s[E9>>2]=w9,p9=u8+g4,s[Y3>>2]=p9,F4=u8-g4,s[K6>>2]=F4,te=le+G4,lt=le-G4,xe=L4+ae,ct=ae-L4,wt=te+xe,s[h5>>2]=wt,ht=te-xe,s[h3>>2]=ht,F8=f4-u4,M8=ce-U4,T8=lt+F8,s[O3>>2]=T8,N8=lt-F8,s[c3>>2]=N8,Z8=f4+u4,W8=ce+U4,vt=M8+ct,s[v5>>2]=vt,G8=M8-ct,s[l6>>2]=G8,U8=W8+Z8,s[j2>>2]=U8,v8=W8-Z8,s[J5>>2]=v8,k8=+s[g3>>2],f8=b4-k8,O8=+s[y3>>2],q8=y9-O8,j8=O8+y9,X8=k8+b4,d8=q8+f8,Pe=f8-q8,Le=+s[a9>>2],S8=+s[U5>>2],v9=Le-S8,ut=+s[a3>>2],Qe=+s[t9>>2],ft=ut-Qe,kt=Qe+ut,et=S8+Le,St=+s[E5>>2],ie=+s[n6>>2],tt=St-ie,b8=+s[n3>>2],r8=+s[J6>>2],O4=b8-r8,Re=ie+St,n8=r8+b8,I8=tt-O4,D8=O4+tt,he=+s[t5>>2],j9=+s[b3>>2],s8=he-j9,o8=+s[i5>>2],m8=+s[b6>>2],ue=o8-m8,ye=j9+he,Oe=m8+o8,qe=s8+v9,X9=s8-v9,Fe=I8+d8,fe=Fe*.7071067690849304,A8=I8-d8,Q4=A8*.7071067690849304,C8=fe+qe,s[b3>>2]=C8,it=qe-fe,s[n6>>2]=it,q4=D8-Pe,I3=q4*.7071067690849304,He=ue-ft,p8=I3+X9,s[G9>>2]=p8,re=X9-I3,s[t9>>2]=re,H9=D8+Pe,ne=H9*.7071067690849304,Ye=ue+ft,Y8=He+Q4,s[a9>>2]=Y8,dt=He-Q4,s[r9>>2]=dt,rt=Ye+ne,s[b6>>2]=rt,nt=Ye-ne,s[J6>>2]=nt,J8=ye+kt,st=ye-kt,V8=Re+j8,a8=Re-j8,$8=J8+V8,s[t5>>2]=$8,H4=J8-V8,s[E5>>2]=H4,ot=n8-X8,x8=Oe-et,Je=st+ot,s[y3>>2]=Je,B9=st-ot,s[a3>>2]=B9,At=n8+X8,Ve=Oe+et,Nt=x8+a8,s[U5>>2]=Nt,Ht=x8-a8,s[g3>>2]=Ht,bt=Ve+At,s[i5>>2]=bt,Dt=Ve-At,s[n3>>2]=Dt,se=n9+32|0,Gt=(se|0)<(a|0),Gt;)n9=se}function AQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0;for(m1=C,b=t>>1,w=a+(b<<2)|0,G=n+(t<<2)|0,n1=G,o1=A,Z0=a,I1=w;l0=e[o1>>2]|0,g=l0+b|0,j=a+(g<<2)|0,b0=o1+4|0,_0=e[b0>>2]|0,u=_0+b|0,D0=a+(u<<2)|0,E=g+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=u+1|0,y=a+(I<<2)|0,D=+s[y>>2],Q=a1-D,_=+s[j>>2],L=+s[D0>>2],x=L+_,F=+s[n1>>2],M=x*F,T=n1+4|0,N=+s[T>>2],O=N*Q,z=O+M,Y=N*x,t0=F*Q,J=Y-t0,W=I1+-16|0,e0=D+a1,q=e0*.5,X=_-L,U=X*.5,Z=z+q,s[Z0>>2]=Z,K=q-z,$0=I1+-8|0,s[$0>>2]=K,s0=J+U,i0=Z0+4|0,s[i0>>2]=s0,n0=J-U,V=I1+-4|0,s[V>>2]=n0,h0=o1+8|0,o0=e[h0>>2]|0,m=o0+b|0,g0=a+(m<<2)|0,c0=o1+12|0,u0=e[c0>>2]|0,B=u0+b|0,I0=a+(B<<2)|0,p=m+1|0,w0=a+(p<<2)|0,C0=+s[w0>>2],S=B+1|0,v0=a+(S<<2)|0,d0=+s[v0>>2],p0=C0-d0,B0=+s[g0>>2],E0=+s[I0>>2],K0=E0+B0,x0=n1+8|0,Q0=+s[x0>>2],M0=K0*Q0,T0=n1+12|0,G0=+s[T0>>2],P0=G0*p0,y0=P0+M0,Y0=G0*K0,F0=Q0*p0,N0=Y0-F0,V0=d0+C0,J0=V0*.5,O0=B0-E0,z0=O0*.5,U0=y0+J0,q0=Z0+8|0,s[q0>>2]=U0,r1=J0-y0,s[W>>2]=r1,H0=N0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=N0-z0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,u1=o1+16|0,g1=Z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,o1=u1,Z0=g1,I1=W}function FS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0;return p=C,n=t+28|0,A=e[n>>2]|0,a=A+2868|0,g=n4(1,36)|0,u=t+4|0,E=e[u>>2]|0,I=g+4|0,e[I>>2]=E,s[g>>2]=-9999,m=g+8|0,e[m>>2]=a,g|0}function MS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function TS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function NS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,L=t+36|0,e[L>>2]=_,i2=+(_|0),j5=i2*8,u3=j5,l3=+Wr(+u3),A3=l3*1.4426950408889634,g3=+Oi(A3),x6=g3+-1,b6=~~x6,x=t+32|0,e[x>>2]=b6,W=+(g|0),n0=W*.25,v0=n0,G0=v0*.5,U0=+(a|0),l1=G0/U0,p1=+Wr(+l1),U1=p1*1.4426950216293335,W1=U1+-5.965784072875977,l2=b6+1|0,F2=1<>2]=$5,Q5=+(a|0),q5=Q5+.25,E5=q5*W,f3=E5,h3=f3*.5,Y5=h3/U0,X5=+Wr(+Y5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,J5=F5+.5,v3=~~J5,B3=1-$5|0,z3=B3+v3|0,G3=t+40|0,e[G3>>2]=z3,z5=a<<2,w3=S9(z5)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(z5)|0,L3=t+20|0,e[L3>>2]=i6,U3=S9(z5)|0,a3=t+24|0,e[a3>>2]=U3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=g,H5=t+48|0,s[H5>>2]=1,U5=(g|0)<26e3;do if(U5)s[H5>>2]=0;else{if(O5=(g|0)<38e3,O5){s[H5>>2]=.9399999976158142;break}v5=(g|0)>46e3,v5&&(s[H5>>2]=1.274999976158142)}while(!1);P3=U0*2,M5=+(g|0),o6=(a|0)>0,Q3=o6,z6=0,X6=0;e:for(;;){for(B=Q3^1,y6=z6;;){if(y3=y6+1|0,r6=+(y3|0),j3=r6*.08664337545633316,O3=j3+2.7488713472395148,V5=+On(+O3),S3=P3*V5,q3=S3/M5,l6=+Oi(q3),d3=~~l6,m=(d3|0)<=(X6|0),K6=m|B,!K6){E=y3,I=d3,F6=y6;break}if(v6=(y3|0)<87,v6)y6=y3;else{A9=X6;break e}}for(k6=1272+(F6<<2)|0,S6=+s[k6>>2],p6=1272+(E<<2)|0,X3=+s[p6>>2],c6=X3-S6,B6=I-X6|0,Y6=+(B6|0),C6=c6/Y6,b3=X6-I|0,e6=X6-a|0,t6=b3>>>0>e6>>>0,T9=t6?b3:e6,e3=X6-T9|0,L6=S6,u9=X6;f6=L6+100,H3=w3+(u9<<2)|0,s[H3>>2]=f6,D3=L6+C6,Y3=u9+1|0,G6=(Y3|0)==(e3|0),!G6;)L6=D3,u9=Y3;if(R3=(e3|0)<(a|0),u6=(E|0)<87,u6)Q3=R3,z6=E,X6=e3;else{A9=e3;break}}if(k3=(A9|0)<(a|0),k3)for(f9=A9;N6=f9+-1|0,n6=w3+(N6<<2)|0,Q6=e[n6>>2]|0,F=w3+(f9<<2)|0,e[F>>2]=Q6,M=f9+1|0,j6=(M|0)==(a|0),!j6;)f9=M;if(Z3=(a|0)>0,Z3){for(A6=a<<1,t3=(g|0)/(A6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,_3=n+112|0,R6=1,M3=0,d9=-99;;){Y=r5(t3,M3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,q=+Zs(+e0),X=q*13.100000381469727,U=r5(Y,Y)|0,l0=+(U|0),Z=l0*18499999754340024e-24,K=Z,$0=+Zs(+K),s0=$0*2.240000009536743,i0=s0+X,V=t0*9999999747378752e-20,h0=V,o0=i0+h0,g0=o0,j=s3+d9|0,c0=(j|0)<(M3|0);e:do if(c0)for(u0=+s[_3>>2],I0=g0-u0,w0=I0,$9=d9;;){if(C0=r5($9,t3)|0,d0=+(C0|0),p0=d0*.0007399999885819852,B0=p0,E0=+Zs(+B0),b0=E0*13.100000381469727,K0=r5(C0,C0)|0,x0=+(K0|0),Q0=x0*18499999754340024e-24,M0=Q0,T0=+Zs(+M0),P0=T0*2.240000009536743,y0=d0*9999999747378752e-20,Y0=y0,F0=b0+Y0,_0=F0+P0,N0=_0(a|0);e:do if(V0)U6=R6;else for(J0=e[a6>>2]|0,O0=J0+M3|0,D6=R6;;){if(H0=(D6|0)<(O0|0),!H0&&(e1=r5(D6,t3)|0,D0=+(e1|0),i1=D0*.0007399999885819852,c1=i1,$1=+Zs(+c1),u1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,o1=+Zs(+n1),Z0=o1*2.240000009536743,I1=D0*9999999747378752e-20,h1=I1,m1=u1+h1,d1=m1+Z0,E1=+s[d6>>2],B1=E1+g0,Q1=B1,x1=d1>2]=F1,v1=M3+1|0,F3=(v1|0)==(a|0),F3)break;R6=U6,M3=v1,d9=a9}if(Z3)for(T=M5*.5,N=e[x>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){w=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,w=Q),u2=n+36|0,o2=w/U0,E2=o2,A2=n+24|0,K1=+s[A2>>2],h2=n+28|0,$2=+s[h2>>2],r2=PS(u2,E2,a,K1,$2)|0,a2=t+8|0,e[a2>>2]=r2,X1=S9(12)|0,s2=t+12|0,e[s2>>2]=X1,f2=S9(z5)|0,e[X1>>2]=f2,t2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=t2,k2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=k2,!!Z3)for(C2=e[c3>>2]|0,b=e[X1>>2]|0,p=X1+4|0,y=e[p>>2]|0,S=X1+8|0,D=e[S>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,K2=d2/P3,G2=+Wr(+K2),H2=G2*2.885390043258667,M2=H2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,u=e9>=16,s9=u?16:e9,o5=~~s9,T1=+(o5|0),X2=s9-T1,L5=X2,e5=1-L5,b5=o5+1|0,Z2=(C2+132|0)+(o5<<2)|0,f5=+s[Z2>>2],k5=f5,P5=k5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],n5=m5*X2,x2=n5,_2=x2+P5,p2=_2,C5=b+(t9<<2)|0,s[C5>>2]=p2,R5=(C2+200|0)+(o5<<2)|0,d5=+s[R5>>2],D5=d5,G5=D5*e5,q2=(C2+200|0)+(b5<<2)|0,I5=+s[q2>>2],A5=I5*X2,c5=A5,p5=c5+G5,M1=p5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,B5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,u5=J2+B5,i5=u5,x5=D+(t9<<2)|0,s[x5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function aQ(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;if(U0=C,A=(t|0)==0,!A){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,c0=e[Z>>2]|0,K0=(c0|0)==0,K0||I2(c0),F0=t+24|0,_0=e[F0>>2]|0,N0=(_0|0)==0,N0||I2(_0),g=t+8|0,u=e[g>>2]|0,E=(u|0)==0,!E){for(m=u,J0=0;I=m+(J0<<2)|0,B=e[I>>2]|0,p=e[B>>2]|0,I2(p),S=e[g>>2]|0,b=S+(J0<<2)|0,w=e[b>>2]|0,D=w+4|0,Q=e[D>>2]|0,I2(Q),_=e[g>>2]|0,L=_+(J0<<2)|0,x=e[L>>2]|0,F=x+8|0,M=e[F>>2]|0,I2(M),T=e[g>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[g>>2]|0,J=t0+(J0<<2)|0,W=e[J>>2]|0,e0=W+16|0,q=e[e0>>2]|0,I2(q),X=e[g>>2]|0,U=X+(J0<<2)|0,l0=e[U>>2]|0,K=l0+20|0,$0=e[K>>2]|0,I2($0),s0=e[g>>2]|0,i0=s0+(J0<<2)|0,n0=e[i0>>2]|0,V=n0+24|0,h0=e[V>>2]|0,I2(h0),o0=e[g>>2]|0,g0=o0+(J0<<2)|0,j=e[g0>>2]|0,u0=j+28|0,I0=e[u0>>2]|0,I2(I0),w0=e[g>>2]|0,C0=w0+(J0<<2)|0,v0=e[C0>>2]|0,I2(v0),d0=J0+1|0,V0=(d0|0)==17,!V0;)n=e[g>>2]|0,m=n,J0=d0;p0=e[g>>2]|0,I2(p0)}B0=t+12|0,E0=e[B0>>2]|0,b0=(E0|0)==0,b0||(x0=e[E0>>2]|0,I2(x0),Q0=e[B0>>2]|0,M0=Q0+4|0,T0=e[M0>>2]|0,I2(T0),G0=e[B0>>2]|0,P0=G0+8|0,y0=e[P0>>2]|0,I2(y0),Y0=e[B0>>2]|0,I2(Y0)),O0=t,q0=O0+52|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(q0|0))}}function $Q(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,u=I,L=C,C=C+((1*u|0)+15&-16)|0,J=t+24|0,$0=e[J>>2]|0,cQ(E,$0,n,A,140,-1),s0=(E|0)>0,s0)for(c0=0;i0=n+(c0<<2)|0,n0=+s[i0>>2],V=A+(c0<<2)|0,h0=+s[V>>2],m=n0-h0,B=L+(c0<<2)|0,s[B>>2]=m,p=c0+1|0,g0=(p|0)==(E|0),!g0;)c0=p;if(S=e[J>>2]|0,b=t+4|0,w=e[b>>2]|0,y=w+128|0,D=e[y>>2]|0,cQ(E,S,L,A,0,D),s0)u0=0;else{C=C0;return}for(;_=n+(u0<<2)|0,x=+s[_>>2],F=L+(u0<<2)|0,M=+s[F>>2],T=x-M,s[F>>2]=T,N=u0+1|0,j=(N|0)==(E|0),!j;)u0=N;if(!s0){C=C0;return}for(Q=e[b>>2]|0,I0=0;G=A+(I0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,g=e0?0:a,q=L+(I0<<2)|0,X=+s[q>>2],U=(Q+336|0)+(g<<2)|0,l0=+s[U>>2],Z=l0+X,s[G>>2]=Z,K=I0+1|0,o0=(K|0)==(E|0),!o0;)I0=K;C=C0}function lQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=+a,g=+g;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,p1=l1<<2,I=p1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,i2=e[W1>>2]|0,C2=i2+4|0,o5=+s[C2>>2],l5=o5+g,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,g0=A5+1|0,E0=(g0|0)<(l1|0),E0;)A5=g0;if(F0=i2+8|0,e1=+s[F0>>2],c1=l50,$1){for(u1=t+16|0,g1=e[u1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=n1,Z0=g5+1|0,q2=(Z0|0)==(M|0),!q2;)g5=Z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=i2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(B1=t+20|0,Q1=e[B1>>2]|0,x1=t+32|0,L1=t+36|0,w1=t+28|0,c5=0;;){b1=n+(c5<<2)|0,R1=+s[b1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=R1;e:for(;;)for(p5=S5;;){if(v1=p5+1|0,Z1=(v1|0)<(M|0),!Z1){S=0,w=v1,M1=p5,h5=s5;break e}if(N1=Q1+(v1<<2)|0,_1=e[N1>>2]|0,V1=(_1|0)==(G1|0),!V1){S=1,w=v1,M1=p5,h5=s5;break e}if(O1=n+(v1<<2)|0,q1=+s[O1>>2],H1=q1>s5,H1){S5=v1,s5=q1;continue e}else p5=v1}if(Y1=h5+6,j1=A+(M1<<2)|0,n2=+s[j1>>2],P1=Y1>n2,P1&&(c2=e[x1>>2]|0,z1=G1>>c2,u2=(z1|0)>16,E=u2?16:z1,o2=(E|0)<0,u=o2?0:E,E2=h1+(u<<2)|0,A2=e[E2>>2]|0,K1=e[L1>>2]|0,h2=E1+h5,$2=h2,l2=$2+-30,r2=l2*.10000000149011612,a2=~~r2,X1=(a2|0)<0,s2=X1?0:a2,f2=(s2|0)>7,t2=f2?7:s2,y2=A2+(t2<<2)|0,k2=e[y2>>2]|0,w2=k2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[k2>>2],d2=~~N2,K2=(d2|0)<(D2|0),K2))for(G2=Q1+(M1<<2)|0,H2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=H2-M2|0,z2=+(P2|0),O2=K1>>1,T1=+(O2|0),X2=N2+-16,L5=+(K1|0),e5=X2*L5,b5=e5-T1,Z2=b5+z2,f5=~~Z2,I5=d2,q5=f5;k5=(q5|0)>0,k5&&(F=I5+2|0,P5=k2+(F<<2)|0,v2=+s[P5>>2],m5=v2+h5,n5=U1+(q5<<2)|0,x2=+s[n5>>2],_2=x2>2]=m5)),p2=q5+K1|0,C5=(p2|0)<(l1|0),R5=I5+1|0,d5=(R5|0)<(D2|0),$5=d5&C5,$5;)I5=R5,q5=p2;if(S)c5=w;else{L=L1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,L=Q),D5=e[L>>2]|0,OS(U1,D5,l1),G=e[t>>2]|0,O=(G|0)>1;e:do if(O)for(z=t+20|0,Y=t+28|0,t0=e[z>>2]|0,J=e[t0>>2]|0,W=D5>>1,e0=J-W|0,q=e[Y>>2]|0,X=e0-q|0,l0=e[W1>>2]|0,Z=l0+32|0,V=1,j=J,W2=0,L2=X;;){s0=U1+(L2<<2)|0,i0=+s[s0>>2],n0=t0+(V<<2)|0,h0=e[n0>>2]|0,o0=h0+j|0,c0=o0>>1,u0=c0-q|0,I0=+s[Z>>2],w0=i0>I0,J2=w0?I0:i0,C0=(L2|0)<(u0|0);t:do if(C0)for(m=L2,i5=J2;;){for(v0=i5==-9999,B=m;;){if(d0=B+1|0,p0=U1+(d0<<2)|0,B0=+s[p0>>2],b0=B0>-9999,b0){if(K0=B0=(G|0),G0=(j|0)>(M0|0),x5=T0|G0;t:do if(x5)g2=W2;else for(B5=W2;;){if(P0=A+(B5<<2)|0,y0=+s[P0>>2],Y0=y0>2]=u5),_0=B5+1|0,N0=(_0|0)<(G|0),!N0){g2=_0;break t}if(D=t0+(_0<<2)|0,x=e[D>>2]|0,V0=(x|0)>(M0|0),V0){g2=_0;break}else B5=_0}while(!1);if(K=g2+1|0,$0=(K|0)<(G|0),!$0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,V=K,j=_,W2=g2,L2=Q5}else a5=0;while(!1);if(J0=e[T>>2]|0,O0=J0+-1|0,z0=U1+(O0<<2)|0,U0=+s[z0>>2],q0=(a5|0)<(G|0),q0)t5=a5;else{C=E5;return}for(;r1=A+(t5<<2)|0,H0=+s[r1>>2],D0=H0>2]=U0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function W$(t,n,A,a,g,u,E){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0;var I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0;if(x0=C,m=e[t>>2]|0,B=t+4|0,F=e[B>>2]|0,e0=(F+12|0)+(a<<2)|0,V=+s[e0>>2],I0=(m|0)>0,!!I0)for(w0=t+48|0,C0=+s[w0>>2],v0=t+12|0,d0=e[v0>>2]|0,p=d0+(a<<2)|0,S=e[p>>2]|0,b=F+108|0,w=(a|0)==1,y=C0,D=y*.005,Q=y*3e-4,E0=0;_=n+(E0<<2)|0,L=+s[_>>2],x=S+(E0<<2)|0,M=+s[x>>2],T=M+L,N=+s[b>>2],G=T>N,b0=G?N:T,O=A+(E0<<2)|0,z=+s[O>>2],Y=z+V,t0=b0>2]=I,w&&(W=E+(E0<<2)|0,q=+s[W>>2],X=b0-q,U=X>-17.200000762939453,l0=X+17.200000762939453,Z=l0,U?(K=D*Z,$0=1-K,s0=$0,i0=s0<0,i0?p0=9999999747378752e-20:p0=s0):(n0=Q*Z,h0=1-n0,o0=h0,p0=o0),g0=u+(E0<<2)|0,j=+s[g0>>2],c0=j*p0,s[g0>>2]=c0),u0=E0+1|0,B0=(u0|0)==(m|0),!B0;)E0=u0}function GS(t,n){t=+t,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0;return N=C,a=n+4|0,g=e[a>>2]|0,y=g+28|0,D=e[y>>2]|0,Q=n+40|0,_=e[Q>>2]|0,L=D+(_<<2)|0,x=e[L>>2]|0,F=(x|0)/2&-1,M=+(F|0),u=g+8|0,E=e[u>>2]|0,I=+(E|0),m=M/I,B=D+2936|0,p=+s[B>>2],S=p*m,b=S+t,w=b<-9999,A=w?-9999:b,+A}function US(t,n,A,a,g,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0;var B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0;if(N4=C,s0=e[A>>2]|0,i0=A+4|0,o5=e[i0>>2]|0,z3=o5+500|0,C3=e[z3>>2]|0,u6=(C3|0)==0,u6?J5=16:(l6=o5+508|0,C6=e[l6>>2]|0,J5=C6),t3=e[o5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,n0=e[I6>>2]|0,v0=(n+252|0)+(t<<2)|0,G0=e[v0>>2]|0,U0=1624+(G0<<3)|0,l1=+A1[U0>>3],p1=(n+312|0)+(t<<2)|0,U1=e[p1>>2]|0,W1=m<<2,S=W1,i2=C,C=C+((1*S|0)+15&-16)|0,b=W1,C2=C,C=C+((1*b|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,v2=C,C=C+((1*_|0)+15&-16)|0,L=W1,_5=C,C=C+((1*L|0)+15&-16)|0,g2=a+1156|0,L2=(s0|0)>1e3,T4=L2?1696:1624,M4=T4+(U1<<3)|0,x4=+A1[M4>>3],F5=r5(W1,J5)|0,x=F5,v3=C,C=C+((1*x|0)+15&-16)|0,e[i2>>2]=v3,w=F5,u3=C,C=C+((1*w|0)+15&-16)|0,e[C2>>2]=u3,y=F5,B3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=B3,D=F5,G3=C,C=C+((1*D|0)+15&-16)|0,e[v2>>2]=G3,z5=(m|0)>1,z5&&(w3=v3+(J5<<2)|0,W5=i2+4|0,e[W5>>2]=w3,i6=u3+(J5<<2)|0,L3=C2+4|0,e[L3>>2]=i6,U3=B3+(J5<<2)|0,a3=O2+4|0,e[a3>>2]=U3,l3=G3+(J5<<2)|0,c3=v2+4|0,e[c3>>2]=l3,u9=(m|0)==2,!u9))for(v5=2;M=e[i2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[v2>>2]|0,O5=r5(v5,J5)|0,P3=M+(O5<<2)|0,M5=i2+(v5<<2)|0,e[M5>>2]=P3,o6=G+(O5<<2)|0,e3=C2+(v5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,R3=O2+(v5<<2)|0,e[R3>>2]=A3,Q3=z+(O5<<2)|0,k3=v2+(v5<<2)|0,e[k3>>2]=Q3,y3=v5+1|0,X6=(y3|0)==(m|0),!X6;)v5=y3;if(H5=e[g2>>2]|0,U5=(s0|0)>0,U5)for(r6=e[v2>>2]|0,j3=(m|0)>0,O3=s0^-1,V5=J5^-1,T6=0,I9=O3;;){if(q3=(I9|0)>(V5|0),j4=q3?I9:V5,d3=j4^-1,v6=s0-T6|0,k6=(J5|0)>(v6|0),B=k6?v6:J5,s4(_5|0,E|0,W1|0)|0,Ae(r6|0,0,F5|0)|0,j3)for(S6=(B|0)>0,p6=n0-T6|0,r9=0;;){if(b3=u+(r9<<2)|0,e6=e[b3>>2]|0,t6=e6+(T6<<2)|0,f6=_5+(r9<<2)|0,H3=e[f6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(b6=O2+(r9<<2)|0,A6=e[b6>>2]|0,O6=i2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,_3=v2+(r9<<2)|0,N6=e[_3>>2]|0,E9=0;N0=A6+(E9<<2)|0,s[N0>>2]=1000000013351432e-25,V0=s3+(E9<<2)|0,s[V0>>2]=0,J0=d6+(E9<<2)|0,s[J0>>2]=0,O0=N6+(E9<<2)|0,e[O0>>2]=0,U=E9+T6|0,z0=e6+(U<<2)|0,e[z0>>2]=0,q0=E9+1|0,M6=(q0|0)==(d3|0),!M6;)E9=q0}else{if(Y3=O2+(r9<<2)|0,Z3=e[Y3>>2]|0,S6){for(z9=0;l0=z9+T6|0,n6=e6+(l0<<2)|0,Q6=e[n6>>2]|0,L6=1768+(Q6<<2)|0,K6=e[L6>>2]|0,J6=Z3+(z9<<2)|0,e[J6>>2]=K6,F3=z9+1|0,y6=(F3|0)==(d3|0),!y6;)z9=F3;if(j6=g+(r9<<2)|0,G6=e[j6>>2]|0,e9=v2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;R6=(G9|0)>=(p6|0),$0=R6?x4:l1,U6=$0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+Zi(+z6),V=Z3+(G9<<2)|0,h0=+s[V>>2],o0=d9/h0,g0=s9+(G9<<2)|0,y9=!(o0>2]=p,j=G9+1|0,F6=(j|0)==(B|0),!F6;)G9=j;if(S6)for(c0=i2+(r9<<2)|0,u0=e[c0>>2]|0,I0=C2+(r9<<2)|0,w0=e[I0>>2]|0,b9=0;;)if(C0=b9+T6|0,d0=G6+(C0<<2)|0,p0=+s[d0>>2],B0=p0*p0,E0=u0+(b9<<2)|0,s[E0>>2]=B0,b0=w0+(b9<<2)|0,s[b0>>2]=B0,K0=+s[d0>>2],x0=K0<0,x0&&(Q0=+s[E0>>2],M0=-Q0,s[E0>>2]=M0),T0=Z3+(b9<<2)|0,P0=+s[T0>>2],y0=P0*P0,s[T0>>2]=y0,Y0=b9+1|0,M3=(Y0|0)==(d3|0),M3){T=I0,_0=u0;break}else b9=Y0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=i2+(r9<<2)|0,Y=e[F>>2]|0,q=C2+(r9<<2)|0,T=q,_0=Y),F0=e[T>>2]|0,b4=e[i0>>2]|0,+gQ(b4,n0,_0,F0,Z3,0,T6,B,t6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(X3=e[g2>>2]|0,c6=(X3|0)>0,c6)for(B6=(B|0)>0,x6=I-T6|0,Y6=n0-T6|0,m3=X3,C4=0;;){if(H0=(a+1160|0)+(C4<<2)|0,e1=e[H0>>2]|0,D0=(a+2184|0)+(C4<<2)|0,i1=e[D0>>2]|0,c1=u+(e1<<2)|0,$1=e[c1>>2]|0,u1=$1+(T6<<2)|0,g1=u+(i1<<2)|0,s1=e[g1>>2]|0,a1=i2+(e1<<2)|0,n1=e[a1>>2]|0,o1=i2+(i1<<2)|0,Z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,B1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,x1=e[Q1>>2]|0,L1=v2+(e1<<2)|0,w1=e[L1>>2]|0,b1=v2+(i1<<2)|0,R1=e[b1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,v1=(G1|0)==0,Z1=_5+(i1<<2)|0,v1?(N1=e[Z1>>2]|0,_1=(N1|0)==0,_1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,B6)for(q6=0;;){V1=(q6|0)<(x6|0);do if(V1){if(O1=w1+(q6<<2)|0,q1=e[O1>>2]|0,H1=(q1|0)==0,Y1=R1+(q6<<2)|0,H1&&(j1=e[Y1>>2]|0,n2=(j1|0)==0,n2)){e5=(q6|0)<(Y6|0);do if(e5)b5=Z0+(q6<<2)|0,Z2=+s[b5>>2],f5=n1+(q6<<2)|0,k5=+s[f5>>2],P5=k5+Z2,s[f5>>2]=P5,$9=+Zi(+P5),l5=h1+(q6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=n1+(q6<<2)|0,n5=+s[m5>>2],x2=Z0+(q6<<2)|0,_2=+s[x2>>2],p2=_2+n5,C5=p2<0,f9=+Zi(+n5),a9=+Zi(+_2),R5=a9+f9,d5=h1+(q6<<2)|0,s[d5>>2]=R5,C5){D5=-R5,s[m5>>2]=D5,N=x2;break}else{s[m5>>2]=R5,N=x2;break}while(!1);G5=d1+(q6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=q6+T6|0,q2=s1+(X<<2)|0,e[q2>>2]=0;break}P1=n1+(q6<<2)|0,c2=+s[P1>>2],T9=+Zi(+c2),z1=Z0+(q6<<2)|0,u2=+s[z1>>2],E6=+Zi(+u2),o2=E6+T9,s[P1>>2]=o2,E2=h1+(q6<<2)|0,A2=+s[E2>>2],K1=d1+(q6<<2)|0,h2=+s[K1>>2],$2=h2+A2,s[E2>>2]=$2,e[Y1>>2]=1,e[O1>>2]=1,K=q6+T6|0,l2=$1+(K<<2)|0,r2=e[l2>>2]|0,a2=s1+(K<<2)|0,X1=e[a2>>2]|0,E4=(r2|0)>-1,m4=0-r2|0,s2=E4?r2:m4,o4=(X1|0)>-1,A4=0-X1|0,f2=o4?X1:A4,t2=(s2|0)>(f2|0),t2?(y2=(r2|0)>0,k2=r2-X1|0,w2=X1-r2|0,F2=y2?k2:w2,e[a2>>2]=F2,J=e[l2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=r2-X1|0,d2=X1-r2|0,K2=D2?N2:d2,e[a2>>2]=K2,e[l2>>2]=X1,t0=e[a2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,H2=h4?G2:S4,M2=H2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[a2>>2]=T1,X2=e[l2>>2]|0,L5=0-X2|0,e[l2>>2]=L5)}while(!1);if(I5=B1+(q6<<2)|0,A5=+s[I5>>2],c5=x1+(q6<<2)|0,p5=+s[c5>>2],M1=p5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=q6+1|0,A9=(S5|0)==(d3|0),A9)break;q6=S5}D4=e[i0>>2]|0,+gQ(D4,n0,n1,h1,B1,w1,T6,B,u1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=X3;if(B5=T6+J5|0,t5=(s0|0)>(B5|0),N9=I9+J5|0,t5)T6=B5,I9=N9;else{S3=n3;break}}else S3=H5;if(g3=(S3|0)>0,g3)X5=S3,i9=0;else{C=N4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,u5=e[J2>>2]|0,i5=(u5|0)==0,x5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[x5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,q5=(Q5|0)==0,q5?Y5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[x5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,Y5=e0),f3=i9+1|0,h3=(f3|0)<(Y5|0),h3;)X5=Y5,i9=f3;C=N4}function PS(t,n,A,a,g){t=t|0,n=+n,A=A|0,a=+a,g=+g;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,z8=0,gt=0,ht=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,vt=0,G8=0,U8=0,P8=0,v8=0,k8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,dt=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,B9=0,At=0,Ve=0;for(Ve=C,C=C+32480|0,J3=Ve+32256|0,B9=Ve+1792|0,w9=Ve,x=A<<2,b=x,F=C,C=C+((1*b|0)+15&-16)|0,r2=S9(68)|0,Ae(B9|0,0,30464)|0,S3=a>0,o4=a<0,v9=0;;){for($e=v9<<2,ie=0;n5=ie+$e|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,q5=+s[t5>>2],H9=q5):H9=-30,v3=n5+1|0,a3=(v3|0)<88,a3?(R6=1272+(v3<<2)|0,U6=+s[R6>>2],z6=H9>U6,z6?ne=U6:ne=H9):(s9=H9>-30,s9?ne=-30:ne=H9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=ne>t9,A9?D9=t9:D9=ne):(M3=ne>-30,M3?D9=-30:D9=ne),X6=n5+3|0,u9=(X6|0)<88,u9?(a9=1272+(X6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(f9=D9>-30,f9?Ye=-30:Ye=D9),E6=J3+(ie<<2)|0,s[E6>>2]=Ye,T6=ie+1|0,T8=(T6|0)==56,!T8;)ie=T6;if(l4=(B9+(v9*1792|0)|0)+448|0,M=2792+(v9*1344|0)|0,s4(l4|0,M|0,224)|0,q=(B9+(v9*1792|0)|0)+672|0,h0=(2792+(v9*1344|0)|0)+224|0,s4(q|0,h0|0,224)|0,p0=(B9+(v9*1792|0)|0)+896|0,y0=(2792+(v9*1344|0)|0)+448|0,s4(p0|0,y0|0,224)|0,r1=(B9+(v9*1792|0)|0)+1120|0,a1=(2792+(v9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(B9+(v9*1792|0)|0)+1344|0,N1=(2792+(v9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(B9+(v9*1792|0)|0)+1568|0,a2=(2792+(v9*1344|0)|0)+1120|0,s4(c2|0,a2|0,224)|0,N2=B9+(v9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(B9+(v9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,S3)for(r8=0;;){if(o4)for(E8=0;h4=16-E8|0,kt=(h4|0)>-1,nt=0-h4|0,G9=kt?h4:nt,z9=+(G9|0),b9=z9*g,E9=b9+a,q6=E9<0,I=q6?0:E9,r9=I>0,u=r9?0:I,m4=((B9+(v9*1792|0)|0)+(r8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],A4=S4+u,s[m4>>2]=A4,b4=E8+1|0,P8=(b4|0)==56,!P8;)E8=b4;else for(o8=0;g3=16-o8|0,et=(g3|0)>-1,J8=0-g3|0,x6=et?g3:J8,b6=+(x6|0),L6=b6*g,D6=L6+a,d9=D6<0,m=d9?0:D6,i9=((B9+(v9*1792|0)|0)+(r8*224|0)|0)+(o8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=o8+1|0,U8=(E4|0)==56,!U8;)o8=E4;if(e3=r8+1|0,v8=(e3|0)==8,v8)break;r8=e3}else for(b8=0;;){if(o4)for(m8=0;j4=16-m8|0,St=(j4|0)>-1,st=0-j4|0,C4=St?j4:st,T4=+(C4|0),U9=T4*g,N4=U9+a,a4=N4>0,E=a4?0:N4,u4=((B9+(v9*1792|0)|0)+(b8*224|0)|0)+(m8<<2)|0,Ce=+s[u4>>2],q9=Ce+E,s[u4>>2]=q9,m9=m8+1|0,Z8=(m9|0)==56,!Z8;)m8=m9;else for(s8=0;pe=16-s8|0,ft=(pe|0)>-1,rt=0-pe|0,Ne=ft?pe:rt,Xe=+(Ne|0),G4=Xe*g,Ge=G4+a,U4=((B9+(v9*1792|0)|0)+(b8*224|0)|0)+(s8<<2)|0,be=+s[U4>>2],e8=be+Ge,s[U4>>2]=e8,Z9=s8+1|0,N8=(Z9|0)==56,!N8;)s8=Z9;if(ae=b8+1|0,W8=(ae|0)==8,W8)break;b8=ae}for(D4=t+(v9<<2)|0,x4=+s[D4>>2],M4=x4,O4=0;;){for(f4=(O4|0)<2,_6=+(O4|0),w=_6*10,y=70-w,P4=f4?50:y,R9=P4+M4,$4=R9,d8=0;_4=((B9+(v9*1792|0)|0)+(O4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],le=W9+$4,s[_4>>2]=le,ce=d8+1|0,F4=(ce|0)==56,!F4;)d8=ce;for(p4=w9+(O4*224|0)|0,s4(p4|0,J3|0,224)|0,ee=+(O4|0),R4=ee*10,ge=70-R4,S8=0;;)if(C9=(w9+(O4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=ge+g6,s[C9>>2]=Ue,Be=S8+1|0,ct=(Be|0)==56,ct){i8=0;break}else S8=Be;for(;B4=((B9+(v9*1792|0)|0)+(O4*224|0)|0)+(i8<<2)|0,c4=+s[B4>>2],P6=(w9+(O4*224|0)|0)+(i8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),t8=i8+1|0,xe=(t8|0)==56,!xe;)i8=t8;if(g4=O4+1|0,vt=(g4|0)==8,vt){Re=1;break}else O4=g4}for(;;){for(v4=Re+-1|0,Le=0;;)if(u8=(w9+(v4*224|0)|0)+(Le<<2)|0,T=+s[u8>>2],N=(w9+(Re*224|0)|0)+(Le<<2)|0,G=+s[N>>2],O=T>2]=T),z=Le+1|0,lt=(z|0)==56,lt){Pe=0;break}else Le=z;for(;Y=(w9+(Re*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((B9+(v9*1792|0)|0)+(Re*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,te=(X|0)==56,!te;)Pe=X;if(U=Re+1|0,G8=(U|0)==8,G8)break;Re=U}if(l0=v9+1|0,k8=(l0|0)==17,k8)break;v9=l0}for(y9=n,L4=(A|0)>0,X4=A^-1,Qe=0;;){for(Z=S9(32)|0,K=r2+(Qe<<2)|0,e[K>>2]=Z,$0=+(Qe|0),s0=$0*.5,i0=$0*.34657350182533264,n0=i0+4.135165354540845,V=+On(+n0),o0=V/y9,g0=+ZA(+o0),j=~~g0,c0=+(j|0),u0=c0*n,I0=u0+1,w0=I0,C0=+Wr(+w0),v0=C0*2.885390043258667,d0=v0+-11.931568145751953,B0=+op(+d0),E0=~~B0,b0=j+1|0,K0=+(b0|0),x0=K0*n,Q0=x0,M0=+Wr(+Q0),T0=M0*2.885390043258667,G0=T0+-11.931568145751953,P0=+ZA(+G0),Y0=~~P0,F0=(E0|0)>(Qe|0),ut=F0?Qe:E0,_0=(ut|0)<0,p8=_0?0:ut,N0=(Y0|0)>16,B=N0?16:Y0,V0=(p8|0)>(B|0),J0=Qe+1|0,O0=(J0|0)<17,z0=s0+3.9657840728759766,re=0;;){if(U0=S9(232)|0,q0=Z+(re<<2)|0,e[q0>>2]=U0,L4)for(n8=0;H0=F+(n8<<2)|0,s[H0>>2]=999,e1=n8+1|0,p9=(e1|0)==(A|0),!p9;)n8=e1;if(!V0)for(ue=p8;;){for(D0=+(ue|0),i1=D0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,o1=n1*.6931470036506653,Z0=+On(+o1),I1=Z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+On(+d1),p1=E1/y9,B1=p1+1,x1=~~B1,L1=(h1|0)<0,p=L1?0:h1,w1=(p|0)>(A|0),it=w1?A:p,b1=(it|0)<(ye|0),q4=b1?it:ye,R1=(x1|0)<0,j8=R1?0:x1,F1=(j8|0)>(A|0),Y8=F1?A:j8,G1=(q4|0)<(Y8|0),v1=(q4|0)<(A|0),V8=G1&v1,V8)for(U1=((B9+(ue*1792|0)|0)+(re*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],_1=(ye|0)<(A|0),V1=_1?ye:A,O1=V1^-1,q1=(h1|0)>0,_=h1^-1,H1=q1?_:-1,Y1=(H1|0)<(O1|0),H4=Y1?O1:H1,j1=H4^-1,n2=(x1|0)>0,L=x1^-1,W1=n2?L:-1,P1=(W1|0)<(X4|0),ot=P1?X4:W1,z1=ot-H4|0,u2=H4+A|0,o2=u2^-1,E2=z1>>>0>o2>>>0,x8=E2?z1:o2,A2=j1-x8|0,X9=q4;;)if(K1=F+(X9<<2)|0,h2=+s[K1>>2],$2=h2>Z1,$2&&(s[K1>>2]=Z1),i2=X9+1|0,f8=(i2|0)==(A2|0),f8){Oe=A2;break}else X9=i2;else Oe=q4;if(l2=I8+1|0,O8=(l2|0)==56,O8){qe=Oe;break}else I8=l2,ye=Oe}if(c1=(qe|0)<(A|0),c1)for($1=((B9+(ue*1792|0)|0)+(re*224|0)|0)+220|0,u1=+s[$1>>2],Fe=qe;X1=F+(Fe<<2)|0,s2=+s[X1>>2],f2=s2>u1,f2&&(s[X1>>2]=u1),t2=Fe+1|0,q8=(t2|0)==(A|0),!q8;)Fe=t2;if(y2=ue+1|0,k2=(ue|0)<(B|0),k2)ue=y2;else break}if(O0){for(D8=0,fe=0;;){if(G2=+(D8|0),H2=G2*.125,M2=H2+s0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+On(+z2),O2=o5/y9,T1=~~O2,L5=M2+4.028284072875977,e5=L5*.6931470036506653,b5=+On(+e5),Z2=b5/y9,f5=Z2+1,k5=~~f5,P5=(T1|0)<0,S=P5?0:T1,l5=(S|0)>(A|0),I3=l5?A:S,v2=(I3|0)<(fe|0),He=v2?I3:fe,m5=(k5|0)<0,X8=m5?0:k5,x2=(X8|0)>(A|0),dt=x2?A:X8,_2=(He|0)<(dt|0),p2=(He|0)<(A|0),a8=_2&p2,a8)for(C5=((B9+(J0*1792|0)|0)+(re*224|0)|0)+(D8<<2)|0,R5=+s[C5>>2],d5=(fe|0)<(A|0),D5=d5?fe:A,G5=D5^-1,_5=(T1|0)>0,D=T1^-1,q2=_5?D:-1,A5=(q2|0)<(G5|0),$8=A5?G5:q2,c5=$8^-1,p5=(k5|0)>0,Q=k5^-1,M1=p5?Q:-1,S5=(M1|0)<(X4|0),_8=S5?X4:M1,g5=_8-$8|0,a5=$8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,B5=c5-Je|0,Q4=He;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>R5,J2&&(s[s5>>2]=R5),u5=Q4+1|0,wt=(u5|0)==(B5|0),wt){A8=B5;break}else Q4=u5;else A8=He;if(i5=D8+1|0,z8=(i5|0)==56,z8){we=A8;break}else D8=i5,fe=A8}if(D2=(we|0)<(A|0),D2)for(d2=((B9+(J0*1792|0)|0)+(re*224|0)|0)+220|0,K2=+s[d2>>2],C8=we;x5=F+(C8<<2)|0,j2=+s[x5>>2],$5=j2>K2,$5&&(s[x5>>2]=K2),L2=C8+1|0,gt=(L2|0)==(A|0),!gt;)C8=L2}for(w2=Z+(re<<2)|0,C2=Z+(re<<2)|0,F2=Z+(re<<2)|0,he=0;;){f3=+(he|0),h3=f3*.125,Y5=z0+h3,X5=Y5*.6931470036506653,n3=+On(+X5),m3=n3/y9,F5=~~m3,J5=(F5|0)<0;do if(J5)u3=he+2|0,B3=e[w2>>2]|0,z3=B3+(u3<<2)|0,s[z3>>2]=-999;else if(G3=(F5|0)<(A|0),G3){i6=F+(F5<<2)|0,L3=e[i6>>2]|0,U3=he+2|0,l3=e[C2>>2]|0,c3=l3+(U3<<2)|0,e[c3>>2]=L3;break}else{z5=he+2|0,w3=e[F2>>2]|0,W5=w3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(C3=he+1|0,ht=(C3|0)==56,ht)break;he=C3}Q5=U0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(H5=U0+12|0,U5=+s[H5>>2],O5=U5>-200,O5)j9=1;else if(y3=U0+16|0,r6=+s[y3>>2],j3=r6>-200,j3)j9=2;else if(O3=U0+20|0,V5=+s[O3>>2],q3=V5>-200,q3)j9=3;else if(l6=U0+24|0,d3=+s[l6>>2],v6=d3>-200,v6)j9=4;else if(k6=U0+28|0,S6=+s[k6>>2],p6=S6>-200,p6)j9=5;else if(X3=U0+32|0,c6=+s[X3>>2],B6=c6>-200,B6)j9=6;else if(Y6=U0+36|0,C6=+s[Y6>>2],b3=C6>-200,b3)j9=7;else if(e6=U0+40|0,t6=+s[e6>>2],f6=t6>-200,f6)j9=8;else if(H3=U0+44|0,D3=+s[H3>>2],Y3=D3>-200,Y3)j9=9;else if(Z3=U0+48|0,A6=+s[Z3>>2],t3=A6>-200,t3)j9=10;else if(O6=U0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=U0+56|0,_3=+s[d6>>2],N6=_3>-200,N6)j9=12;else if(n6=U0+60|0,Q6=+s[n6>>2],K6=Q6>-200,K6)j9=13;else{if(I6=U0+64|0,J6=+s[I6>>2],F3=J6>-200,F3){j9=14;break}if(j6=U0+68|0,G6=+s[j6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[U0>>2]=j9,H8=55;;){if(v5=H8+2|0,P3=U0+(v5<<2)|0,M5=+s[P3>>2],o6=M5>-200,o6){tt=H8;break}if(A3=H8+-1|0,R3=(A3|0)>17,R3)H8=A3;else{tt=A3;break}}if(u6=+(tt|0),Q3=U0+4|0,s[Q3>>2]=u6,k3=re+1|0,F8=(k3|0)==8,F8)break;re=k3}if(M8=(J0|0)==17,M8)break;Qe=J0}return C=Ve,r2|0}function cQ(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=+g,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,w=t<<2,E=w,y=C,C=C+((1*E|0)+15&-16)|0,I=w,A2=C,C=C+((1*I|0)+15&-16)|0,m=w,j2=C,C=C+((1*m|0)+15&-16)|0,B=w,n3=C,C=C+((1*B|0)+15&-16)|0,p=w,W5=C,C=C+((1*p|0)+15&-16)|0,v5=+s[A>>2],r6=v5+g,S6=r6<1,A4=S6?1:r6,f6=A4*A4,D=f6*.5,z=D*A4,s[y>>2]=D,s[A2>>2]=D,s[j2>>2]=0,s[n3>>2]=z,s[W5>>2]=0,K=(t|0)>1,K)for(M3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=A+(M3<<2)|0,h1=+s[c1>>2],R1=h1+g,H1=R1<1,y9=H1?1:R1,K1=y9*y9,y2=K1+E6,M2=K1*E4,f5=M2+T6,R5=M2*E4,S5=R5+i9,J2=K1*y9,u5=J2+I9,i5=M2*y9,x5=i5+N9,$5=y+(M3<<2)|0,s[$5>>2]=y2,L2=A2+(M3<<2)|0,s[L2>>2]=f5,Q5=j2+(M3<<2)|0,s[Q5>>2]=S5,q5=n3+(M3<<2)|0,s[q5>>2]=u5,j5=W5+(M3<<2)|0,s[j5>>2]=x5,E5=M3+1|0,f3=E4+1,F6=(E5|0)==(t|0),!F6;)M3=E5,E6=y2,T6=f5,i9=S5,N9=x5,I9=u5,E4=f3;if(u0=e[n>>2]|0,x0=u0>>16,V0=(x0|0)>-1,V0)Y5=u0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=u0,B3=x0,t9=0,h4=0;;)if(m3=F5&65535,J5=y+(m3<<2)|0,v3=+s[J5>>2],u3=0-B3|0,z3=y+(u3<<2)|0,G3=+s[z3>>2],z5=G3+v3,w3=A2+(m3<<2)|0,i6=+s[w3>>2],L3=A2+(u3<<2)|0,U3=+s[L3>>2],a3=i6-U3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(u3<<2)|0,H5=+s[C3>>2],U5=H5+c3,O5=n3+(m3<<2)|0,P3=+s[O5>>2],M5=n3+(u3<<2)|0,o6=+s[M5>>2],e3=o6+P3,A3=W5+(m3<<2)|0,R3=+s[A3>>2],u6=W5+(u3<<2)|0,Q3=+s[u6>>2],k3=R3-Q3,y3=e3*U5,j3=k3*a3,O3=y3-j3,V5=k3*z5,S3=e3*a3,g3=V5-S3,q3=U5*z5,l6=a3*a3,d3=q3-l6,v6=g3*h4,k6=v6+O3,p6=k6/d3,X3=p6<0,e9=X3?0:p6,c6=e9-g,B6=a+(t9<<2)|0,s[B6>>2]=c6,x6=t9+1|0,Y6=h4+1,C6=n+(x6<<2)|0,b3=e[C6>>2]|0,e6=b3>>16,t6=(e6|0)>-1,t6){Y5=b3,d6=O3,Q6=g3,J6=d3,M6=x6,o4=Y6;break}else F5=b3,B3=e6,t9=x6,h4=Y6;if(h3=Y5&65535,X5=(h3|0)<(t|0),X5)for(S=Y5,Z3=h3,X6=M6,z9=o4;;)if(D3=S>>16,Y3=y+(Z3<<2)|0,b6=+s[Y3>>2],A6=y+(D3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=A2+(Z3<<2)|0,a6=+s[s3>>2],Q=A2+(D3<<2)|0,_=+s[Q>>2],L=a6-_,x=j2+(Z3<<2)|0,F=+s[x>>2],M=j2+(D3<<2)|0,T=+s[M>>2],N=F-T,G=n3+(Z3<<2)|0,O=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=O-t0,W=W5+(Z3<<2)|0,e0=+s[W>>2],q=W5+(D3<<2)|0,X=+s[q>>2],U=e0-X,l0=J*N,Z=U*L,$0=l0-Z,s0=U*O6,i0=J*L,n0=s0-i0,V=N*O6,h0=L*L,o0=V-h0,g0=n0*z9,j=g0+$0,c0=j/o0,I0=c0<0,s9=I0?0:c0,w0=s9-g,C0=a+(X6<<2)|0,s[C0>>2]=w0,v0=X6+1|0,d0=z9+1,p0=n+(v0<<2)|0,B0=e[p0>>2]|0,E0=B0&65535,b0=(E0|0)<(t|0),b0)S=B0,Z3=E0,X6=v0,z9=d0;else{_3=$0,L6=n0,F3=o0,A9=v0,G9=d0;break}else _3=d6,L6=Q6,F3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(u9=A9,b9=G9;K0=b9*L6,Q0=K0+_3,M0=Q0/F3,T0=M0<0,R6=T0?0:M0,G0=R6-g,P0=a+(u9<<2)|0,s[P0>>2]=G0,y0=u9+1|0,Y0=b9+1,y6=(y0|0)==(t|0),!y6;)u9=y0,b9=Y0;if(F0=(u|0)<1,F0){C=D4;return}if(_0=(u|0)/2&-1,N0=_0-u|0,J0=(N0|0)>-1,J0)N6=_3,K6=L6,j6=F3,f9=0,E9=0;else for(O0=u-_0|0,H0=_0,i1=N0,d9=0,q6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],D0=0-i1|0,$1=y+(D0<<2)|0,u1=+s[$1>>2],g1=u1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(D0<<2)|0,n1=+s[a1>>2],o1=s1-n1,Z0=j2+(H0<<2)|0,I1=+s[Z0>>2],m1=j2+(D0<<2)|0,d1=+s[m1>>2],E1=d1+I1,p1=n3+(H0<<2)|0,B1=+s[p1>>2],Q1=n3+(D0<<2)|0,x1=+s[Q1>>2],L1=x1+B1,w1=W5+(H0<<2)|0,b1=+s[w1>>2],F1=W5+(D0<<2)|0,G1=+s[F1>>2],v1=b1-G1,U1=L1*E1,Z1=v1*o1,N1=U1-Z1,_1=v1*g1,V1=L1*o1,O1=_1-V1,q1=E1*g1,Y1=o1*o1,j1=q1-Y1,n2=O1*q6,W1=n2+N1,P1=W1/j1,c2=P1-g,z1=a+(d9<<2)|0,u2=+s[z1>>2],o2=c2>2]=c2),E2=d9+1|0,h2=q6+1,$2=_0+E2|0,i2=$2-u|0,z6=(E2|0)==(O0|0),z6){N6=N1,K6=O1,j6=j1,f9=O0,E9=h2;break}else H0=$2,i1=i2,d9=E2,q6=h2;if(z0=f9+_0|0,U0=(z0|0)<(t|0),U0)for(q0=t-_0|0,b=z0,$9=f9,m4=E9;;)if(r2=b-u|0,a2=y+(b<<2)|0,X1=+s[a2>>2],s2=y+(r2<<2)|0,f2=+s[s2>>2],t2=X1-f2,k2=A2+(b<<2)|0,w2=+s[k2>>2],C2=A2+(r2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(b<<2)|0,d2=+s[N2>>2],K2=j2+(r2<<2)|0,G2=+s[K2>>2],H2=d2-G2,P2=n3+(b<<2)|0,z2=+s[P2>>2],o5=n3+(r2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=W5+(b<<2)|0,L5=+s[X2>>2],e5=W5+(r2<<2)|0,b5=+s[e5>>2],Z2=L5-b5,k5=T1*H2,P5=Z2*D2,l5=k5-P5,v2=Z2*t2,m5=T1*D2,n5=v2-m5,x2=H2*t2,_2=D2*D2,p2=x2-_2,C5=n5*m4,d5=C5+l5,D5=d5/p2,G5=D5-g,_5=a+($9<<2)|0,q2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,p5=A5+_0|0,D6=(A5|0)==(q0|0),D6){n6=l5,I6=n5,G6=p2,a9=q0,r9=c5;break}else b=p5,$9=A5,m4=c5;else n6=N6,I6=K6,G6=j6,a9=f9,r9=E9;if(l2=(a9|0)<(t|0),l2)T9=a9,S4=r9;else{C=D4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-g,g2=a+(T9<<2)|0,B5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function OS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0;if(c1=C,u=A<<2,a=u,E=C,C=C+((1*a|0)+15&-16)|0,g=u,_=C,C=C+((1*g|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,O0=0;else{C=c1;return}for(;;){b0=(O0|0)<2;do if(b0)Q0=E+(O0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,B=_+(O0<<2)|0,e[B>>2]=m,H0=O0;else{for(K0=t+(y0<<2)|0,x0=+s[K0>>2],z0=O0;;){if(p=z0+-1|0,S=_+(p<<2)|0,b=+s[S>>2],w=x0>2]|0,x=L+n|0,F=(y0|0)<(x|0),M=(z0|0)>1,_0=M&F,!_0){q0=z0,i1=12;break}if(T=z0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(b<=G),O){q0=z0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)z0=p;else{q0=z0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(U0<<2)|0,e[y>>2]=y0,D=_+(U0<<2)|0,s[D>>2]=x0,H0=U0;break}else if((i1|0)==12){i1=0,e0=E+(q0<<2)|0,e[e0>>2]=y0,q=_+(q0<<2)|0,s[q>>2]=x0,H0=q0;break}}while(!1);if(r1=H0+1|0,X=y0+1|0,P0=(X|0)==(A|0),P0){e1=H0,D0=r1;break}else y0=X,O0=r1}if(s0=(e1|0)>-1,!s0){C=c1;return}for(w0=n+1|0,Y0=0,N0=0;;){if(U=(Y0|0)<(e1|0),U?(l0=Y0+1|0,Z=_+(l0<<2)|0,K=+s[Z>>2],$0=_+(Y0<<2)|0,i0=+s[$0>>2],n0=K>i0,n0?(V=E+(l0<<2)|0,h0=e[V>>2]|0,M0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,o0=E+(Y0<<2)|0,g0=e[o0>>2]|0,j=w0+g0|0,M0=j),c0=(M0|0)>(A|0),F0=c0?A:M0,u0=(N0|0)<(F0|0),u0)for(I0=_+(Y0<<2)|0,C0=e[I0>>2]|0,v0=(M0|0)<(A|0),d0=v0?M0:A,J0=N0;;)if(p0=t+(J0<<2)|0,e[p0>>2]=C0,B0=J0+1|0,T0=(B0|0)==(d0|0),T0){V0=d0;break}else J0=B0;else V0=N0;if(E0=Y0+1|0,G0=(E0|0)==(D0|0),G0)break;Y0=E0,N0=V0}C=c1}function gQ(t,n,A,a,g,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0;var B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0;if(c2=C,x=I<<2,D=x,F=C,C=C+((1*D|0)+15&-16)|0,e0=t+500|0,V=e[e0>>2]|0,d0=(V|0)==0,d0?B1=I:(P0=t+504|0,q0=e[P0>>2]|0,s1=q0-E|0,B1=s1),F1=(B1|0)>(I|0),Y1=F1?I:B1,M=(Y1|0)>0,M)for(T=(u|0)==0,N=(B1|0)<(I|0),G=N?B1:I,O1=0;;){T?P1=9:(t0=u+(O1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(P1=9));do if((P1|0)==9)if(P1=0,q=a+(O1<<2)|0,X=+s[q>>2],U=g+(O1<<2)|0,l0=+s[U>>2],Z=X/l0,K=A+(O1<<2)|0,$0=+s[K>>2],s0=$0<0,i0=Z,n0=+Un(+i0),h0=+Oi(n0),s0){o0=-h0,g0=~~o0,j=m+(O1<<2)|0,e[j>>2]=g0;break}else{c0=~~h0,u0=m+(O1<<2)|0,e[u0>>2]=c0;break}while(!1);if(I0=O1+1|0,_1=(I0|0)==(G|0),_1){V1=G;break}else O1=I0}else V1=0;if(O=(V1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(u|0)!=0,Y=n-E|0,B=0,G1=0,q1=V1;;){z?(w0=u+(q1<<2)|0,C0=e[w0>>2]|0,v0=(C0|0)==0,v0?P1=15:(p=B,v1=G1)):P1=15;do if((P1|0)==15)if(P1=0,p0=a+(q1<<2)|0,B0=+s[p0>>2],E0=g+(q1<<2)|0,b0=+s[E0>>2],K0=B0/b0,x0=!(K0<.25),Q0=(q1|0)<(Y|0),j1=z&Q0,n2=x0|j1,n2){y0=A+(q1<<2)|0,Y0=+s[y0>>2],F0=Y0<0,_0=K0,N0=+Un(+_0),V0=+Oi(N0),J0=-V0,_=F0?J0:V0,Q=~~_,O0=m+(q1<<2)|0,e[O0>>2]=Q,z0=r5(Q,Q)|0,U0=+(z0|0),r1=+s[E0>>2],H0=U0*r1,s[p0>>2]=H0,p=B,v1=G1;break}else{M0=K0+B,T0=G1+1|0,G0=F+(G1<<2)|0,e[G0>>2]=p0,p=M0,v1=T0;break}while(!1);if(e1=q1+1|0,N1=(e1|0)==(I|0),N1){S=p,U1=v1;break}else B=p,G1=v1,q1=e1}if(D0=(U1|0)==0,D0||(Mh(F,U1,4,9),i1=(U1|0)>0,!i1))return y=S,C=c2,+y;for(c1=a,$1=t+512|0,u1=+A1[$1>>3],b=S,H1=0;;)if(g1=F+(H1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,o1=n1>>2,Z0=b,I1=!(Z0>=u1),I1?(w=b,L=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,p1=(e[B2>>2]=E1,+s[B2>>2]),Q1=~~p1,x1=b+-1,L1=g+(o1<<2)|0,w1=+s[L1>>2],w=x1,L=Q1,W1=w1),b1=m+(o1<<2)|0,e[b1>>2]=L,s[l1>>2]=W1,R1=H1+1|0,Z1=(R1|0)==(U1|0),Z1){y=w;break}else b=w,H1=R1;return C=c2,+y}function qS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=+s[A>>2],g=e[n>>2]|0,u=+s[g>>2],E=au,B=m&1,p=I-B|0,p|0}function HS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function YS(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0;if(W=C,A=(t|0)==0,!A){if(a=t+4|0,y=e[a>>2]|0,F=(y|0)>0,M=t+20|0,F)for(x=y,Y=0;T=e[M>>2]|0,N=T+(Y<<2)|0,G=e[N>>2]|0,O=(G|0)==0,O?u=x:(I2(G),n=e[a>>2]|0,u=n),z=Y+1|0,g=(z|0)<(u|0),g;)x=u,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,B=(m|0)>0,p=t+28|0,B)for(t0=0;S=e[p>>2]|0,b=S+(t0<<2)|0,w=e[b>>2]|0,I2(w),D=t0+1|0,Q=e[I>>2]|0,_=(D|0)<(Q|0),_;)t0=D;L=e[p>>2]|0,I2(L),I2(t)}}function JS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0;if(c0=C,g=e[t>>2]|0,U2(n,g,24),u=t+4|0,Q=e[u>>2]|0,U2(n,Q,24),Y=t+8|0,U=e[Y>>2]|0,l0=U+-1|0,U2(n,l0,24),Z=t+12|0,K=e[Z>>2]|0,$0=K+-1|0,U2(n,$0,6),s0=t+20|0,E=e[s0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(B=t+24|0,i0=0,V=0;;){if(b=B+(V<<2)|0,w=e[b>>2]|0,y=Tt(w)|0,D=(y|0)>3,_=e[b>>2]|0,D?(U2(n,_,3),U2(n,1,1),L=e[b>>2]|0,x=L>>3,U2(n,x,5)):U2(n,_,4),F=e[b>>2]|0,M=(F|0)==0,M)o0=0;else for(A=F,g0=0;;)if(T=A&1,N=T+g0|0,G=A>>>1,O=(G|0)==0,O){o0=N;break}else A=G,g0=N;if(z=o0+i0|0,t0=V+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,V=t0;else{a=z;break}}if(p=(a|0)>0,!!p)for(S=t+280|0,h0=0;e0=S+(h0<<2)|0,q=e[e0>>2]|0,U2(n,q,8),X=h0+1|0,n0=(X|0)==(a|0),!n0;)h0=X}}function VS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,L=e[I>>2]|0,J=W4(n,24)|0,e[E>>2]=J,i0=W4(n,24)|0,C0=E+4|0,e[C0>>2]=i0,T0=W4(n,24)|0,z0=T0+1|0,q0=E+8|0,e[q0>>2]=z0,r1=W4(n,6)|0,m=r1+1|0,B=E+12|0,e[B>>2]=m,p=W4(n,8)|0,S=E+20|0,e[S>>2]=p,b=(p|0)<0;e:do if(b)a1=26;else{if(w=(r1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=W4(n,3)|0,x=W4(n,1)|0,F=(x|0)<0,F){a1=26;break e}if(M=(x|0)==0,M)D0=_;else{if(T=W4(n,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,D0=O}if(z=y+(c1<<2)|0,e[z>>2]=D0,Y=(D0|0)==0,Y)l1=0;else for(a=D0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,q=(e0|0)==0,q){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,l0=e[B>>2]|0,Z=(U|0)<(l0|0),Z)e1=X,c1=U;else{u=X;break}}if(D=(u|0)>0,D)for(Q=E+280|0,$1=0;;){if(K=W4(n,8)|0,$0=(K|0)<0,$0)break e;if(s0=Q+($1<<2)|0,e[s0>>2]=K,n0=$1+1|0,V=(n0|0)<(u|0),V)$1=n0;else{U0=D,H0=u;break}}else U0=0,H0=u}else U0=0,H0=0;if(h0=e[S>>2]|0,o0=L+24|0,g0=e[o0>>2]|0,j=(h0|0)<(g0|0),j){if(U0)for(c0=E+280|0,u1=0;;){if(w0=c0+(u1<<2)|0,v0=e[w0>>2]|0,d0=(v0|0)<(g0|0),!d0||(p0=(L+1824|0)+(v0<<2)|0,B0=e[p0>>2]|0,E0=B0+12|0,b0=e[E0>>2]|0,K0=(b0|0)==0,u0=u1+1|0,K0))break e;if(I0=(u0|0)<(H0|0),I0)u1=u0;else break}if(x0=(L+1824|0)+(h0<<2)|0,Q0=e[x0>>2]|0,M0=Q0+4|0,G0=e[M0>>2]|0,P0=e[Q0>>2]|0,y0=(P0|0)<1,!y0){for(Y0=e[B>>2]|0,i1=P0,g1=1;;){if(N0=r5(Y0,g1)|0,V0=(N0|0)>(G0|0),V0)break e;if(F0=i1+-1|0,_0=(i1|0)>1,_0)i1=F0,g1=N0;else{g=N0;break}}return J0=E+16|0,e[J0>>2]=g,A=E,A|0}}}while(!1);return(a1|0)==26&&(O0=(E|0)==0,O0)?(A=0,A|0):(I2(E),A=0,A|0)}function KS(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0;if(B1=C,u=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,s0=e[t0>>2]|0,e[u>>2]=n,w0=n+12|0,M0=e[w0>>2]|0,O0=u+4|0,e[O0>>2]=M0,r1=s0+2848|0,H0=e[r1>>2]|0,I=u+12|0,e[I>>2]=H0,m=H0,B=n+20|0,p=e[B>>2]|0,S=m+(p*56|0)|0,b=u+16|0,e[b>>2]=S,w=e[S>>2]|0,y=n4(M0,4)|0,D=u+20|0,e[D>>2]=y,Q=(M0|0)>0,Q)for(L=n+24|0,x=n+280|0,e1=0,l1=0,h1=0;;){if(F=L+(l1<<2)|0,M=e[F>>2]|0,T=Tt(M)|0,N=(T|0)==0,N)c1=e1,m1=h1;else if(G=(T|0)>(h1|0),a=G?T:h1,O=n4(T,4)|0,z=y+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[F>>2]|0,W=y+(l1<<2)|0,D0=e1,o1=0;;)if(e0=1<>2]|0,l0=D0+1|0,Z=x+(D0<<2)|0,K=e[Z>>2]|0,$0=U+(K*56|0)|0,i0=e[W>>2]|0,n0=i0+(o1<<2)|0,e[n0>>2]=$0,i1=l0),V=o1+1|0,u1=(V|0)==(T|0),u1){c1=i1,m1=a;break}else D0=i1,o1=V;else c1=e1,m1=a;if(h0=l1+1|0,o0=(h0|0)<(M0|0),o0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(g0=u+24|0,e[g0>>2]=1,j=(w|0)>0,j){for(u0=1,s1=0;;)if(c0=r5(u0,M0)|0,I0=s1+1|0,$1=(I0|0)==(w|0),$1){A=c0;break}else u0=c0,s1=I0;e[g0>>2]=A,d0=A}else d0=1;if(C0=u+8|0,e[C0>>2]=I1,v0=d0<<2,p0=S9(v0)|0,B0=u+28|0,e[B0>>2]=p0,E0=(d0|0)>0,!E0)return u|0;if(b0=w<<2,!j){for(a1=0;J0=S9(b0)|0,z0=p0+(a1<<2)|0,e[z0>>2]=J0,U0=a1+1|0,q0=(U0|0)<(d0|0),q0;)a1=U0;return u|0}for(K0=e[B0>>2]|0,n1=0;;){for(_0=S9(b0)|0,N0=p0+(n1<<2)|0,e[N0>>2]=_0,V0=K0+(n1<<2)|0,Y0=e[V0>>2]|0,g=d0,Z0=0,E1=n1;d1=(g|0)/(M0|0)&-1,T0=(E1|0)/(d1|0)&-1,G0=r5(T0,d1)|0,P0=E1-G0|0,y0=Y0+(Z0<<2)|0,e[y0>>2]=T0,F0=Z0+1|0,g1=(F0|0)==(w|0),!g1;)g=d1,Z0=F0,E1=P0;if(x0=n1+1|0,Q0=(x0|0)<(d0|0),Q0)n1=x0;else break}return u|0}function zS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,u=(g|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(B=A+(Q<<2)|0,p=e[B>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=p,L=S),w=Q+1|0,D=(w|0)==(g|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||hQ(t,n,A,x,2),0}function ZS(t,n,A,a,g,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0;if(G=C,m=(u|0)>0,m)x=0,F=0;else return 0;for(;;)if(B=g+(x<<2)|0,p=e[B>>2]|0,S=(p|0)==0,S?M=F:(b=a+(x<<2)|0,w=e[b>>2]|0,y=F+1|0,D=a+(F<<2)|0,e[D>>2]=w,M=y),Q=x+1|0,L=(Q|0)==(u|0),L){T=M;break}else x=Q,F=M;return _=(T|0)==0,_||uQ(t,A,a,T,E),0}function WS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;if(p1=C,I=(g|0)>0,I)i1=0,h1=0;else return u=0,u|0;for(;;)if(m=a+(i1<<2)|0,x=e[m>>2]|0,W=(x|0)==0,W?m1=h1:(n0=A+(i1<<2)|0,v0=e[n0>>2]|0,G0=h1+1|0,V0=A+(h1<<2)|0,e[V0>>2]=v0,m1=G0),J0=i1+1|0,q0=(J0|0)==(g|0),q0){d1=m1;break}else i1=J0,h1=m1;if(O0=(d1|0)==0,O0)return u=0,u|0;if(B=e[n>>2]|0,p=B+8|0,S=e[p>>2]|0,b=B+12|0,w=e[b>>2]|0,y=B+4|0,D=e[y>>2]|0,Q=e[B>>2]|0,_=D-Q|0,L=(_|0)/(S|0)&-1,F=d1<<2,M=qt(t,F)|0,T=+(S|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=L<<2,c1=0;q=qt(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=q,Ae(q|0,0,z|0)|0,U=c1+1|0,D0=(U|0)==(d1|0),!D0;)c1=U;if(Y=(L|0)>0,Y)for(t0=(S|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if(l0=r5($1,S)|0,Z=e[B>>2]|0,K=Z+l0|0,O)for(g1=0;;){if(t0)for($0=A+(g1<<2)|0,s0=e[$0>>2]|0,U0=0,l1=0,o1=0;;)if(i0=K+l1|0,V=s0+(i0<<2)|0,h0=e[V>>2]|0,u1=(h0|0)>-1,Z0=0-h0|0,o0=u1?h0:Z0,g0=(o0|0)>(o1|0),E=g0?o0:o1,j=o0+U0|0,c0=l1+1|0,r1=(c0|0)==(S|0),r1){z0=j,n1=E;break}else U0=j,l1=c0,o1=E;else z0=0,n1=0;u0=+(z0|0),I0=u0*G,w0=~~I0;e:do if(e0)for(a1=0;;){if(C0=(B+2328|0)+(a1<<2)|0,d0=e[C0>>2]|0,p0=(n1|0)>(d0|0),!p0&&(B0=(B+2584|0)+(a1<<2)|0,E0=e[B0>>2]|0,b0=(E0|0)<0,K0=(w0|0)<(E0|0),I1=b0|K0,I1)){s1=a1;break e}if(x0=a1+1|0,Q0=(x0|0)<(J|0),Q0)a1=x0;else{s1=x0;break}}else s1=0;while(!1);if(M0=M+(g1<<2)|0,T0=e[M0>>2]|0,P0=T0+($1<<2)|0,e[P0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(Y0=$1+1|0,e1=(Y0|0)==(L|0),e1)break;$1=Y0}return F0=n+40|0,_0=e[F0>>2]|0,N0=_0+1|0,e[F0>>2]=N0,u=M,u|0}function jS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0;if(M=C,u=(g|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(B=A+(Q<<2)|0,p=e[B>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=p,L=S),w=Q+1|0,D=(w|0)==(g|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||hQ(t,n,A,x,3),0}function XS(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0;if(Z0=C,m=(g|0)>0,m)N0=0,n1=0;else return u=0,u|0;for(;;)if(B=a+(N0<<2)|0,F=e[B>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+n1|0,V=N0+1|0,Y0=(V|0)==(g|0),Y0){a1=s1;break}else N0=V,n1=s1;if(l1=(a1|0)==0,l1)return u=0,u|0;if(d0=e[n>>2]|0,K0=d0+8|0,x0=e[K0>>2]|0,Q0=d0+12|0,M0=e[Q0>>2]|0,p=d0+4|0,S=e[p>>2]|0,b=e[d0>>2]|0,w=S-b|0,y=(w|0)/(x0|0)&-1,D=qt(t,4)|0,Q=y<<2,_=qt(t,Q)|0,e[D>>2]=_,Ae(_|0,0,Q|0)|0,L=(y|0)>0,L)for(x=e[d0>>2]|0,M=(x|0)/(g|0)&-1,T=(x0|0)>0,N=M0+-1|0,G=(M0|0)>1,O=e[D>>2]|0,z=(g|0)>1,V0=0,H0=M;;){if(T)for(Y=e[A>>2]|0,G0=0,z0=0,D0=H0,c1=0;;){if(t0=Y+(D0<<2)|0,J=e[t0>>2]|0,J0=(J|0)>-1,$1=0-J|0,W=J0?J:$1,q=(W|0)>(c1|0),I=q?W:c1,z)for(y0=G0,r1=1;;)if(X=A+(r1<<2)|0,U=e[X>>2]|0,l0=U+(D0<<2)|0,Z=e[l0>>2]|0,O0=(Z|0)>-1,u1=0-Z|0,K=O0?Z:u1,$0=(K|0)>(y0|0),E=$0?K:y0,s0=r1+1|0,F0=(s0|0)==(g|0),F0){P0=E;break}else y0=E,r1=s0;else P0=G0;if(i0=D0+1|0,n0=z0+g|0,h0=(n0|0)<(x0|0),h0)G0=P0,z0=n0,D0=i0,c1=I;else{T0=P0,e1=i0,i1=I;break}}else T0=0,e1=H0,i1=0;e:do if(G)for(q0=0;;){if(o0=(d0+2328|0)+(q0<<2)|0,g0=e[o0>>2]|0,j=(i1|0)>(g0|0),!j&&(c0=(d0+2584|0)+(q0<<2)|0,u0=e[c0>>2]|0,I0=(T0|0)>(u0|0),!I0)){U0=q0;break e}if(w0=q0+1|0,C0=(w0|0)<(N|0),C0)q0=w0;else{U0=w0;break}}else U0=0;while(!1);if(v0=O+(V0<<2)|0,e[v0>>2]=U0,p0=V0+1|0,_0=(p0|0)==(y|0),_0)break;V0=p0,H0=e1}return B0=n+40|0,E0=e[B0>>2]|0,b0=E0+1|0,e[B0>>2]=b0,u=D,u|0}function eb(t,n,A,a,g,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0;if(s0=C,C=C+16|0,K=s0,m=n+36|0,B=e[m>>2]|0,F=(B|0)/2&-1,M=u<<2,T=r5(M,F)|0,N=qt(n,T)|0,e[K>>2]=N,G=(u|0)>0,!G)return C=s0,0;for(O=(B|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,p=g+(J<<2)|0,S=e[p>>2]|0,q=(S|0)!=0,b=q&1,U=b+Z|0,O)for(W=0,e0=J;w=Y+(W<<2)|0,y=e[w>>2]|0,D=N+(e0<<2)|0,e[D>>2]=y,Q=W+1|0,_=e0+u|0,L=(Q|0)<(F|0),L;)W=Q,e0=_;if(x=J+1|0,t0=(x|0)==(u|0),t0){l0=U;break}else J=x,Z=U}return X=(l0|0)==0,X?(C=s0,0):(uQ(t,A,K,1,E),C=s0,0)}function tb(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,x=e[m>>2]|0,W=n+16|0,n0=e[W>>2]|0,v0=e[n0>>2]|0,G0=t+36|0,U0=e[G0>>2]|0,l1=r5(U0,g)|0,s1=l1>>1,B=I+4|0,p=e[B>>2]|0,S=(p|0)<(s1|0),u=S?p:s1,b=e[I>>2]|0,w=u-b|0,y=(w|0)>0,!y)return 0;D=(w|0)/(x|0)&-1,Q=v0+-1|0,_=Q+D|0,L=(_|0)/(v0|0)&-1,F=L<<2,M=qt(t,F)|0,T=(g|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(g|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(g|0),t0||(J=n+8|0,e0=e[J>>2]|0,q=(e0|0)>0,!q))return 0;X=(D|0)>0,U=t+4|0,l0=I+16|0,Z=n+28|0,K=(v0|0)>0,$0=n+20|0,g1=e0,p1=0;e:for(;;){if(X){for(s0=(p1|0)==0,i0=1<>2]|0,h0=jm(V,U)|0,o0=(h0|0)==-1,o0){B1=23;break e}if(g0=e[l0>>2]|0,j=(h0|0)<(g0|0),!j){B1=23;break e}if(c0=e[Z>>2]|0,u0=c0+(h0<<2)|0,I0=e[u0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=I0,C0=(I0|0)==0,C0){B1=23;break e}}if(d0=(o1|0)<(D|0),E1=K&d0,E1)for(p0=M+(m1<<2)|0,I1=o1,h1=0;;){if(B0=e[p0>>2]|0,E0=B0+(h1<<2)|0,b0=e[E0>>2]|0,K0=(I+24|0)+(b0<<2)|0,x0=e[K0>>2]|0,Q0=x0&i0,M0=(Q0|0)==0,!M0&&(T0=e[$0>>2]|0,P0=T0+(b0<<2)|0,y0=e[P0>>2]|0,Y0=y0+(p1<<2)|0,F0=e[Y0>>2]|0,_0=(F0|0)==0,!_0&&(N0=r5(I1,x)|0,V0=e[I>>2]|0,J0=V0+N0|0,O0=AS(F0,A,J0,g,U,x)|0,z0=(O0|0)==-1,z0))){B1=23;break e}if(q0=h1+1|0,r1=I1+1|0,H0=(q0|0)<(v0|0),e1=(r1|0)<(D|0),d1=H0&e1,d1)I1=r1,h1=q0;else{Z0=r1;break}}else Z0=o1;if(D0=m1+1|0,i1=(Z0|0)<(D|0),i1)o1=Z0,m1=D0;else break}E=e[J>>2]|0,u1=E}else u1=g1;if(c1=p1+1|0,$1=(c1|0)<(u1|0),$1)g1=u1,p1=c1;else{B1=23;break}}return(B1|0)==23,0}function hQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,B=e[n>>2]|0,p=B+8|0,M=e[p>>2]|0,q=n+16|0,h0=e[q>>2]|0,p0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=B+4|0,S=e[Q1>>2]|0,b=(S|0)<(a1|0),u=b?S:a1,w=e[B>>2]|0,y=u-w|0,D=(y|0)>0,!D){C=j1;return}if(Q=(y|0)/(M|0)&-1,_=a<<2,E=_,L=C,C=C+((1*E|0)+15&-16)|0,x=(a|0)>0,x)for(F=p0+-1|0,T=F+Q|0,N=(T|0)/(p0|0)&-1,G=N<<2,G1=0;l0=qt(t,G)|0,Z=L+(G1<<2)|0,e[Z>>2]=l0,K=G1+1|0,L1=(K|0)==(a|0),!L1;)G1=K;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=B+16|0,e0=n+28|0,X=(p0|0)>0,U=n+20|0,m=x^1,H1=0;e:for(;;){if(t0)for($0=1<>2]|0,H0=jm(q0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(D0=e[W>>2]|0,i1=(H0|0)<(D0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,u1=e[$1>>2]|0,g1=L+(v1<<2)|0,l1=e[g1>>2]|0,s1=l1+(_1<<2)|0,e[s1>>2]=u1,n1=(u1|0)==0,z0=v1+1|0,n1){Y1=25;break e}if(U0=(z0|0)<(a|0),U0)v1=z0;else break}s0=(w1|0)<(Q|0),q1=X&s0;t:do if(q1){if(x)F1=w1,N1=0;else for(R1=w1,Z1=0;;)if(o1=Z1+1|0,Z0=R1+1|0,I1=(o1|0)<(p0|0),h1=(Z0|0)<(Q|0),V1=I1&h1,V1)R1=Z0,Z1=o1;else{b1=Z0;break t}for(;;){for(c0=r5(F1,M)|0,U1=0;;){if(g0=e[B>>2]|0,j=g0+c0|0,u0=L+(U1<<2)|0,I0=e[u0>>2]|0,w0=I0+(_1<<2)|0,C0=e[w0>>2]|0,v0=C0+(N1<<2)|0,d0=e[v0>>2]|0,B0=(B+24|0)+(d0<<2)|0,E0=e[B0>>2]|0,b0=E0&$0,K0=(b0|0)==0,!K0&&(x0=e[U>>2]|0,Q0=x0+(d0<<2)|0,M0=e[Q0>>2]|0,T0=M0+(H1<<2)|0,G0=e[T0>>2]|0,P0=(G0|0)==0,!P0&&(Y0=A+(U1<<2)|0,F0=e[Y0>>2]|0,_0=F0+(j<<2)|0,N0=mp[g&3](G0,_0,J,M)|0,V0=(N0|0)==-1,V0))){Y1=25;break e}if(J0=U1+1|0,O0=(J0|0)<(a|0),O0)U1=J0;else break}if(i0=N1+1|0,n0=F1+1|0,V=(i0|0)<(p0|0),o0=(n0|0)<(Q|0),O1=V&o0,O1)F1=n0,N1=i0;else{b1=n0;break}}}else b1=w1;while(!1);if(m1=_1+1|0,d1=(b1|0)<(Q|0),d1)w1=b1,_1=m1;else break}if(E1=H1+1|0,p1=e[O>>2]|0,B1=(E1|0)<(p1|0),B1)H1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function uQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,_=Q+8|0,$2=e[_>>2]|0,H2=Q+12|0,Z2=e[H2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,u5=e[M1>>2]|0,h3=Q+4|0,G3=e[h3>>2]|0,L=e[Q>>2]|0,J=G3-L|0,i0=(J|0)/($2|0)&-1,Ae(O6|0,0,512)|0,Ae(s3|0,0,512)|0,C0=n+8|0,T0=e[C0>>2]|0,z0=(T0|0)>0,!z0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,v1=(u5|0)>1,n2=n+36|0,i2=(u5|0)>0,k2=n+20|0,w2=n+32|0,C2=0-u5|0,y2=T0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(V5<<2)|0,_5=e[G5>>2]|0,q2=e[C5>>2]|0,I5=q2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(p5=Rh(q2,_5,t)|0,S5=e[n2>>2]|0,g5=S5+p5|0,e[n2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(v2=g+(b3<<2)|0,f5=e[v2>>2]|0,m5=f5+(V5<<2)|0,n5=e[m5>>2]|0,f6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,L5=f6+V5|0,e5=(L5|0)<(i0|0),e5?(b5=f5+(L5<<2)|0,k5=e[b5>>2]|0,P5=k5+X2|0,Q6=P5):Q6=X2,l5=f6+1|0,k3=(l5|0)==(u5|0),k3){L6=Q6;break}else f6=l5,n6=Q6;if(K2=e[C5>>2]|0,G2=K2+4|0,M2=e[G2>>2]|0,P2=(L6|0)<(M2|0),P2&&(z2=Rh(K2,L6,t)|0,o5=e[n2>>2]|0,O2=o5+z2|0,e[n2>>2]=O2),T1=b3+1|0,y3=(T1|0)==(a|0),y3)break;b3=T1}}while(!1);if(x2=(V5|0)<(i0|0),b6=i2&x2,b6){for(_2=V5-i0|0,p2=_2>>>0>>0,N6=p2?C2:_2,R5=0-N6|0,l6=V5,H3=0;;){if(W2=r5(l6,$2)|0,g2=e[Q>>2]|0,B5=g2+W2|0,E1)for(t6=0;;){if(t5=g+(t6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,x5=e[i5>>2]|0,j2=x5+$2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,L2=e[$5>>2]|0,Q5=L2&D2,q5=(Q5|0)==0,!q5&&(j5=e[k2>>2]|0,E5=j5+(J2<<2)|0,f3=e[E5>>2]|0,Y5=f3+(a6<<2)|0,X5=e[Y5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=A+(t6<<2)|0,F5=e[m3>>2]|0,J5=e[X5>>2]|0,v3=($2|0)/(J5|0)&-1,u3=(v3|0)>0,u3){for(B3=X5+48|0,z3=X5+52|0,z5=X5+44|0,w3=X5+12|0,W5=X5+4|0,x=J5,v5=0,g3=0;;){i6=r5(g3,J5)|0,b=i6+B5|0,L3=F5+(b<<2)|0,U3=e[B3>>2]|0,a3=e[z3>>2]|0,l3=e[z5>>2]|0,c3=l3>>1,e[t3>>2]=0,e[t3+4>>2]=0,e[t3+8>>2]=0,e[t3+12>>2]=0,e[t3+16>>2]=0,e[t3+20>>2]=0,e[t3+24>>2]=0,e[t3+28>>2]=0,C3=(a3|0)==1,F=(x|0)>0;do if(C3){if(!F){X3=0;break}for(G=l3+-1|0,d3=0,p6=0,Y3=x;;)if(I0=Y3+-1|0,D=b+I0|0,w0=F5+(D<<2)|0,v0=e[w0>>2]|0,d0=v0-U3|0,p0=(d0|0)<(c3|0),p0?(B0=c3-d0|0,E0=B0<<1,b0=E0+-1|0,M0=b0):(K0=d0-c3|0,x0=K0<<1,M0=x0),Q0=r5(p6,l3)|0,G0=(M0|0)<0,P0=(M0|0)>=(l3|0),y0=P0?G:M0,Y0=G0?0:y0,F0=Y0+Q0|0,_0=t3+(I0<<2)|0,e[_0>>2]=v0,N0=d3+1|0,j3=(N0|0)==(x|0),j3){X3=F0;break}else d3=N0,p6=F0,Y3=I0}else{if(!F){X3=0;break}for(M=a3>>1,T=M-U3|0,N=l3+-1|0,S3=0,S6=0,D3=x;;)if(O=D3+-1|0,y=b+O|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(q=c3-W|0,X=q<<1,U=X+-1|0,$0=U):(l0=W-c3|0,Z=l0<<1,$0=Z),K=r5(S6,l3)|0,s0=($0|0)<0,n0=($0|0)>=(l3|0),V=n0?N:$0,h0=s0?0:V,o0=h0+K|0,g0=r5(W,a3)|0,j=g0+U3|0,c0=t3+(O<<2)|0,e[c0>>2]=j,u0=S3+1|0,O3=(u0|0)==(x|0),O3){X3=o0;break}else S3=u0,S6=o0,D3=O}while(!1);V0=e[w3>>2]|0,J0=V0+8|0,O0=e[J0>>2]|0,U0=O0+X3|0,q0=d[U0>>0]|0,r1=q0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,H0=l3+-1|0,e1=r5(H0,a3)|0,D0=e1+U3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)H5=-1,v6=0,c6=X3;else{x6=X3;break}for(;;){$1=O0+v6|0,u1=d[$1>>0]|0,l1=u1<<24>>24>0;do if(l1){if(F)for(Y6=0,_3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,w=b+Y6|0,n1=F5+(w<<2)|0,o1=e[n1>>2]|0,Z0=a1-o1|0,I1=r5(Z0,Z0)|0,h1=I1+_3|0,m1=Y6+1|0,r6=(m1|0)==(x|0),r6){d6=h1;break}else Y6=m1,_3=h1;else d6=0;if(d1=(H5|0)==-1,p1=(d6|0)<(H5|0),Z3=d1|p1,!Z3){U5=H5,B6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,B6=v6}else U5=H5,B6=c6;while(!1);if(B1=e[M5>>2]|0,Q1=(B1|0)<(D0|0),Q1)E=M5,I=B1;else for(L1=M5,e6=0;;)if(x1=e6+1|0,e[L1>>2]=0,w1=M5+(x1<<2)|0,b1=e[w1>>2]|0,R1=(b1|0)<(D0|0),R1){E=w1,I=b1;break}else L1=w1,e6=x1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=v6+1|0,e3=(N1|0)==(i1|0),e3){x6=B6;break}else H5=U5,v6=N1,c6=B6}}else x6=X3;while(!1);if(_1=(x6|0)>-1,A6=F&_1,A6)for(u=L3,k6=0;V1=t3+(k6<<2)|0,O1=e[V1>>2]|0,q1=u+4|0,H1=e[u>>2]|0,Y1=H1-O1|0,e[u>>2]=Y1,j1=k6+1|0,A3=(j1|0)==(x|0),!A3;)u=q1,k6=j1;if(W1=Rh(X5,x6,t)|0,P1=W1+v5|0,c2=g3+1|0,R3=(c2|0)==(v3|0),R3){m=P1;break}B=e[X5>>2]|0,x=B,v5=P1,g3=c2}p=e[t5>>2]|0,E2=p,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,u2=z1+O5|0,e[w2>>2]=u2,o2=E2+(l6<<2)|0,A2=e[o2>>2]|0,K1=O6+(A2<<2)|0,h2=e[K1>>2]|0,l2=h2+O5|0,e[K1>>2]=l2}if(r2=t6+1|0,u6=(r2|0)==(a|0),u6)break;t6=r2}if(a2=H3+1|0,X1=l6+1|0,Q3=(a2|0)==(R5|0),Q3)break;l6=X1,H3=a2}N2=V5-N6|0,q3=N2}else q3=V5;if(d2=(q3|0)<(i0|0),d2)V5=q3;else break}S=e[C0>>2]|0,t2=S}else t2=y2;if(s2=a6+1|0,f2=(s2|0)<(t2|0),f2)y2=t2,a6=s2;else break}C=I6}function Tt(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;if(B=C,A=(t|0)==0,A)E=0;else for(n=t,I=0;;)if(a=n>>>1,g=I+1|0,u=(a|0)==0,u){E=g;break}else n=a,I=g;return E|0}function fQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,B=m?A:n,F=B<<2,e0=S9(F)|0,Ae(P1|0,0,132)|0,V=(n|0)>0;do if(V){d0=P1+4|0,P0=(A|0)==0,q0=P0&1,B1=0,v1=0;e:for(;;){s1=t+v1|0,p1=d[s1>>0]|0,p=p1<<24>>24,S=p1<<24>>24>0;t:do if(S){if(b=P1+(p<<2)|0,w=e[b>>2]|0,y=p1<<24>>24>31,D=w>>>p,Q=(D|0)==0,c2=y|Q,!c2){K1=5;break e}_=e0+(B1<<2)|0,e[_>>2]=w,L=P1+(p<<2)|0,x=w&1,M=(x|0)==0;i:do if(M)for(q=w,X=L,V1=p;;){if(W=q+1|0,e[X>>2]=W,U=V1+-1|0,l0=(V1|0)>1,!l0)break i;if(u=P1+(U<<2)|0,I=e[u>>2]|0,Z=P1+(U<<2)|0,K=I&1,$0=(K|0)==0,$0)q=I,X=Z,V1=U;else{g=Z,_1=U,K1=8;break}}else g=L,_1=p,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(_1|0)==1,N){G=e[d0>>2]|0,O=G+1|0,e[d0>>2]=O;break}else{z=_1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[g>>2]=J;break}while(!1);if(Y1=p+1|0,T=(Y1|0)<33,T)for(R1=w,q1=p,j1=Y1;;){if(s0=P1+(j1<<2)|0,i0=e[s0>>2]|0,n0=i0>>>1,h0=(n0|0)==(R1|0),!h0){E=1;break t}if(o0=P1+(q1<<2)|0,g0=e[o0>>2]|0,j=g0<<1,e[s0>>2]=j,O1=j1+1|0,c0=(O1|0)<33,c0)H1=j1,R1=i0,j1=O1,q1=H1;else{E=1;break}}else E=1}else E=q0;while(!1);if(Q1=B1+E|0,u0=v1+1|0,I0=(u0|0)<(n|0),I0)B1=Q1,v1=u0;else{x1=Q1,K1=16;break}}if((K1|0)==5)return I2(e0),a=0,C=h2,a|0;if((K1|0)==16){if(z1=(x1|0)==1,!z1){U1=1,K1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,v0=(C0|0)==2,v0)break;U1=1,K1=27;break}}else U1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,z0=P1+(U1<<2)|0,U0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=U0&H0,D0=(e1|0)==0,J0=U1+1|0,!!D0;)if(O0=(J0|0)<33,O0)U1=J0,K1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!V)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(L1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(u1=e0+(L1<<2)|0,g1=e[u1>>2]|0,l1=c1<<24>>24,n2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>n2,o1=n1&1,Z0=o1|a1,I1=n2+1|0,h1=(I1|0)<(l1|0),h1)n2=I1,E2=Z0;else{u2=Z0;break}else u2=0;if(m1=L1+1|0,d1=e0+(L1<<2)|0,e[d1>>2]=u2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else L1=m1,Z1=E1}return C=h2,a|0}for(;;){if(p0=t+N1|0,B0=d[p0>>0]|0,E0=B0<<24>>24>0,E0)for(V0=e0+(w1<<2)|0,G0=e[V0>>2]|0,N0=B0<<24>>24,W1=0,A2=0;;)if(M0=A2<<1,T0=G0>>>W1,y0=T0&1,Y0=y0|M0,F0=W1+1|0,_0=(F0|0)<(N0|0),_0)W1=F0,A2=Y0;else{o2=Y0;break}else o2=0;if(b0=B0<<24>>24==0,b0?b1=w1:(K0=w1+1|0,x0=e0+(w1<<2)|0,e[x0>>2]=o2,b1=K0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=b1,N1=Q0}return C=h2,a|0}function ib(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0;if(q=C,a=t+4|0,g=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(g|0),L=_,x=+(D|0),F=1/x,M=F,T=+_h(+L,+M),u=+ZA(+T),E=~~u,Y=E;;){for(b=Y+1|0,N=1,G=1,O=0;;)if(p=r5(N,Y)|0,S=r5(G,b)|0,w=O+1|0,y=(w|0)<(D|0),y)N=p,G=S,O=w;else{n=p,A=S;break}if(I=(n|0)<=(g|0),m=(A|0)>(g|0),z=I&m,z){W=Y;break}B=(n|0)>(g|0),J=B?-1:1,t0=Y+J|0,Y=t0}return W|0}function rb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0;if(q5=C,B=t+12|0,p=e[B>>2]|0,m=p+-1|0,i5=m>>>0<2,!i5)return u=0,u|0;if(H0=t+16|0,n1=e[H0>>2]|0,x1=n1&2097151,_1=+(x1|0),z1=n1>>>21,a2=z1&1023,N2=(n1|0)<0,X2=-_1,a=N2?X2:_1,S=a2+-788|0,T=+tC(a,S),X=T,o0=t+20|0,B0=e[o0>>2]|0,Y0=B0&2097151,z0=+(Y0|0),U0=B0>>>21,q0=U0&1023,r1=(B0|0)<0,e1=-z0,g=r1?e1:z0,D0=q0+-788|0,i1=+tC(g,D0),c1=i1,$1=e[t>>2]|0,u1=r5($1,n)|0,g1=n4(u1,4)|0,(p|0)==1){if(p1=t+4|0,B1=e[p1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(L1=+(B1|0),w1=L1,b1=+($1|0),R1=1/b1,F1=R1,G1=+_h(+w1,+F1),v1=+ZA(+G1),U1=~~v1,$5=U1;;){for(u2=$5+1|0,n5=1,x2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(x2,u2)|0,o2=I5+1|0,d5=(o2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,x2=c2,I5=o2;if(Z1=(E|0)<=(B1|0),N1=(I|0)>(B1|0),u5=N1&Z1,u5){L2=$5;break}W1=(E|0)>(B1|0),j2=W1?-1:1,x5=j2+$5|0,$5=x5}if(V1=(B1|0)>0,!V1)return u=g1,u|0;for(O1=(A|0)==0,q1=t+8|0,H1=t+32|0,Y1=c1,j1=X,n2=t+28|0,_2=0,M1=0;;){if(O1)if($2=e[H1>>2]|0,i2=e[n2>>2]|0,l2=(i2|0)==0,r2=r5($1,_2)|0,l2)for(p5=1,W2=0;;)if(b5=(M1|0)/(p5|0)&-1,Z2=(b5|0)%(L2|0)&-1,f5=$2+(Z2<<2)|0,k5=e[f5>>2]|0,P5=+(k5|0),q2=+Zi(+P5),l5=q2,v2=l5*Y1,m5=j1+v2,b=m5,w=r2+W2|0,y=g1+(w<<2)|0,s[y>>2]=b,D=r5(p5,L2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)p5=D,W2=Q;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(L=(M1|0)/(A5|0)&-1,x=(L|0)%(L2|0)&-1,F=$2+(x<<2)|0,M=e[F>>2]|0,N=+(M|0),G5=+Zi(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=r2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,q=r5(A5,L2)|0,U=g5+1|0,l0=(U|0)<($1|0),l0)A5=q,g5=U,t5=J;else{Q5=21;break}else if(E2=e[q1>>2]|0,A2=E2+M1|0,K1=d[A2>>0]|0,h2=K1<<24>>24==0,h2)p2=_2;else for(X1=e[H1>>2]|0,s2=e[n2>>2]|0,f2=(s2|0)==0,t2=A+(_2<<2)|0,y2=e[t2>>2]|0,k2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(L2|0)&-1,F2=X1+(C2<<2)|0,D2=e[F2>>2]|0,d2=+(D2|0),_5=+Zi(+d2),K2=_5,G2=K2*Y1,H2=s5,M2=H2+j1,P2=M2+G2,z2=P2,B5=f2?s5:z2,o5=k2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=r5(c5,L2)|0,L5=a5+1|0,e5=(L5|0)<($1|0),e5)c5=T1,a5=L5,s5=B5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,p2=Z),K=M1+1|0,$0=(K|0)<(B1|0),$0)_2=p2,M1=K;else{u=g1;break}}return u|0}else if((p|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return u=g1,u|0;for(o1=(A|0)!=0,Z0=t+8|0,I1=t+32|0,h1=c1,m1=X,d1=t+28|0,E1=($1|0)>0,C5=0,S5=0;;){if(o1?(s0=e[Z0>>2]|0,i0=s0+S5|0,n0=d[i0>>0]|0,V=n0<<24>>24==0,V?R5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,g0=e[d1>>2]|0,j=(g0|0)==0,c0=A+(C5<<2)|0,u0=r5($1,S5)|0,I0=r5($1,C5)|0,g2=0,J2=0;w0=u0+g2|0,C0=h0+(w0<<2)|0,v0=e[C0>>2]|0,d0=+(v0|0),D5=+Zi(+d0),p0=D5,E0=p0*h1,b0=J2,K0=b0+m1,x0=K0+E0,Q0=x0,h5=j?J2:Q0,o1?(M0=e[c0>>2]|0,T0=r5(M0,$1)|0,G0=T0+g2|0,P0=g1+(G0<<2)|0,s[P0>>2]=Q0):(y0=I0+g2|0,F0=g1+(y0<<2)|0,s[F0>>2]=Q0),_0=g2+1|0,N0=(_0|0)<($1|0),N0;)g2=_0,J2=h5;V0=C5+1|0,R5=V0}if(J0=S5+1|0,O0=(J0|0)<(s1|0),O0)C5=R5,S5=J0;else{u=g1;break}}return u|0}else return u=g1,u|0;return 0}function fp(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0;S=C,n=t+36|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(g=t+32|0,u=e[g>>2]|0,E=(u|0)==0,E||I2(u),I=t+8|0,m=e[I>>2]|0,B=(m|0)==0,B||I2(m),I2(t))}function nb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;L=C,n=t+16|0,A=e[n>>2]|0,m=(A|0)==0,m||I2(A),B=t+20|0,p=e[B>>2]|0,S=(p|0)==0,S||I2(p),b=t+24|0,w=e[b>>2]|0,y=(w|0)==0,y||I2(w),D=t+28|0,a=e[D>>2]|0,g=(a|0)==0,g||I2(a),u=t+32|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),Q=t,x=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(x|0))}function dQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0;U0=C,O0=t,q0=O0+56|0;do e[O0>>2]=0,O0=O0+4|0;while((O0|0)<(q0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,L=e[I>>2]|0,J=t+4|0,e[J>>2]=L,i0=t+8|0,e[i0>>2]=L,C0=e[n>>2]|0,e[t>>2]=C0,b0=n+8|0,K0=e[b0>>2]|0,x0=fQ(K0,L,0)|0,Q0=t+20|0,e[Q0>>2]=x0,m=e[I>>2]|0,B=e[n>>2]|0,p=(B|0)>0,!p)for(;;);for(S=+(m|0),b=S,w=+(B|0),y=1/w,D=y,Q=+_h(+b,+D),_=+ZA(+Q),x=~~_,V0=x;;){for(O=V0+1|0,M0=1,T0=1,P0=0;;)if(N=r5(M0,V0)|0,G=r5(T0,O)|0,z=P0+1|0,G0=(z|0)==(B|0),G0){g=N,u=G;break}else M0=N,T0=G,P0=z;if(F=(g|0)<=(m|0),M=(u|0)>(m|0),y0=M&F,y0){J0=V0;break}T=(g|0)>(m|0),N0=T?-1:1,_0=N0+V0|0,V0=_0}return Y=t+44|0,e[Y>>2]=J0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,q=+(e0|0),X=W>>>21,U=X&1023,l0=(W|0)<0,Z=-q,A=l0?Z:q,K=U+-788|0,$0=+tC(A,K),s0=$0,Y0=+BQ(s0),n0=~~Y0,V=t+48|0,e[V>>2]=n0,h0=n+20|0,o0=e[h0>>2]|0,g0=o0&2097151,j=+(g0|0),c0=o0>>>21,u0=c0&1023,I0=(o0|0)<0,w0=-j,a=I0?w0:j,v0=u0+-788|0,d0=+tC(a,v0),p0=d0,F0=+BQ(p0),B0=~~F0,E0=t+52|0,e[E0>>2]=B0,0}function sb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;M3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(b=n+4|0,w=e[b>>2]|0,E2=(w|0)>0,E2)for(q2=n+8|0,B5=e[q2>>2]|0,H3=0,L6=0;;)if(Q5=B5+H3|0,J5=d[Q5>>0]|0,U3=J5<<24>>24>0,o6=U3&1,m=o6+L6|0,V5=H3+1|0,y=(V5|0)<(w|0),y)H3=V5,L6=m;else{c0=m;break}else c0=0;if(O=t+4|0,e[O>>2]=w,Z=t+8|0,e[Z>>2]=c0,K0=e[n>>2]|0,e[t>>2]=K0,N0=(c0|0)>0,!N0)return a=0,C=M3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,b1=fQ(I1,w,c0)|0,q1=c0<<2,u=q1,A2=C,C=C+((1*u|0)+15&-16)|0,t2=(b1|0)==0,t2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),L5=t+24|0,e5=e[L5>>2]|0,b5=(e5|0)==0,b5||I2(e5),f5=t+28|0,k5=e[f5>>2]|0,P5=(k5|0)==0,P5||I2(k5),l5=t+32|0,v2=e[l5>>2]|0,m5=(v2|0)==0,m5||I2(v2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=M3,a|0}else D3=0;for(;H2=b1+(D3<<2)|0,Z2=e[H2>>2]|0,C5=Z2>>>16,R5=Z2<<16,d5=C5|R5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,p5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=p5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,u5=s5<<1,i5=u5&-1431655766,x5=J2|i5,e[H2>>2]=x5,j2=A2+(D3<<2)|0,e[j2>>2]=H2,$5=D3+1|0,Y6=($5|0)==(c0|0),!Y6;)D3=$5;for(Mh(A2,c0,4,10),E=q1,L2=C,C=C+((1*E|0)+15&-16)|0,q5=S9(q1)|0,j5=t+20|0,e[j5>>2]=q5,E5=b1,Y3=0;;)if(f3=A2+(Y3<<2)|0,h3=e[f3>>2]|0,Y5=h3,X5=Y5-E5|0,n3=X5>>2,m3=L2+(n3<<2)|0,e[m3>>2]=Y3,F5=Y3+1|0,x6=(F5|0)==(c0|0),x6){Z3=0;break}else Y3=F5;for(;v3=b1+(Z3<<2)|0,u3=e[v3>>2]|0,B3=L2+(Z3<<2)|0,z3=e[B3>>2]|0,G3=q5+(z3<<2)|0,e[G3>>2]=u3,z5=Z3+1|0,B6=(z5|0)==(c0|0),!B6;)Z3=z5;if(I2(b1),w3=rb(n,c0,L2)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(q1)|0,L3=t+24|0,e[L3>>2]=i6,a3=e[b>>2]|0,l3=(a3|0)>0,l3)for(B=e[i1>>2]|0,b6=0,I6=0;;)if(c3=B+b6|0,C3=d[c3>>0]|0,H5=C3<<24>>24>0,H5?(U5=I6+1|0,O5=L2+(I6<<2)|0,v5=e[O5>>2]|0,P3=i6+(v5<<2)|0,e[P3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{K6=J6;break}else K6=0;if(A3=S9(K6)|0,R3=t+28|0,e[R3>>2]=A3,u6=t+40|0,e[u6>>2]=0,l3){for(p=e[i1>>2]|0,n5=0,k3=p,A6=0,j6=0;;)if(Q3=k3+A6|0,y3=d[Q3>>0]|0,r6=y3<<24>>24>0,r6?(j3=j6+1|0,O3=L2+(j6<<2)|0,S3=e[O3>>2]|0,g3=e[R3>>2]|0,q3=g3+S3|0,d[q3>>0]=y3,l6=e[i1>>2]|0,d3=l6+A6|0,v6=d[d3>>0]|0,k6=v6<<24>>24,S6=e[u6>>2]|0,p6=(k6|0)>(S6|0),p6?(e[u6>>2]=k6,x2=k6,_2=l6,G6=j3):(x2=S6,_2=l6,G6=j3)):(x2=n5,_2=k3,G6=j6),X3=A6+1|0,D=e[b>>2]|0,Q=(X3|0)<(D|0),Q)n5=x2,k3=_2,A6=X3,j6=G6;else{I=x2,e9=G6;break}if(_=(e9|0)==1,_){if(L=(I|0)==1,L)return x=t+36|0,e[x>>2]=1,F=n4(2,4)|0,M=t+32|0,e[M>>2]=F,T=F+4|0,e[T>>2]=1,e[F>>2]=1,a=0,C=M3,a|0;F3=1}else F3=e9}else F3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)R6=-4;else{for(g=N,U6=0;;)if(z=g>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else g=z,U6=Y;s9=D6+-3|0,R6=s9}if(J=t+36|0,W=(R6|0)<5,A=W?5:R6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,q=1<>2]=X,l0=(F3|0)>0,l0)for(n0=z6,t3=0;;){if(K=e[R3>>2]|0,$0=K+t3|0,s0=d[$0>>0]|0,i0=s0<<24>>24,V=(n0|0)<(i0|0),V)p2=n0;else if(h0=e[j5>>2]|0,o0=h0+(t3<<2)|0,g0=e[o0>>2]|0,j=g0>>>16,u0=g0<<16,I0=j|u0,w0=I0>>>8,C0=w0&16711935,v0=I0<<8,d0=v0&-16711936,p0=C0|d0,B0=p0>>>4,E0=B0&252645135,b0=p0<<4,x0=b0&-252645136,Q0=E0|x0,M0=Q0>>>2,T0=M0&858993459,G0=Q0<<2,P0=G0&-858993460,y0=T0|P0,Y0=y0>>>1,F0=Y0&1431655765,_0=y0<<1,V0=_0&-1431655766,J0=F0|V0,O0=n0-i0|0,z0=(O0|0)==31,z0)p2=n0;else for(U0=t3+1|0,r1=i0,s3=0;;)if(q0=s3<>2]=U0,D0=s3+1|0,c1=e[J>>2]|0,$1=d[$0>>0]|0,u1=$1<<24>>24,g1=c1-u1|0,l1=1<>>16,B1=E1<<16,Q1=p1|B1,x1=Q1>>>8,L1=x1&16711935,w1=Q1<<8,R1=w1&-16711936,F1=L1|R1,G1=F1>>>4,v1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=v1|Z1,_1=N1>>>2,V1=_1&858993459,O1=N1<<2,H1=O1&-858993460,Y1=V1|H1,j1=Y1>>>1,n2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=n2|P1,z1=X+(c2<<2)|0,u2=e[z1>>2]|0,o2=(u2|0)==0,o2){for(d6=a6;;){if(K1=d6+1|0,h2=(K1|0)<(F3|0),!h2){_3=d6;break}if($2=e[j5>>2]|0,i2=$2+(K1<<2)|0,l2=e[i2>>2]|0,r2=l2>>>0>E1>>>0,r2){_3=d6;break}else d6=K1}a2=(F3|0)>(C6|0);e:do if(a2)for(X1=e[j5>>2]|0,e6=C6;;){if(s2=X1+(e6<<2)|0,f2=e[s2>>2]|0,y2=f2&Z0,k2=E1>>>0>>0,k2){b3=e6;break e}if(w2=e6+1|0,C2=(F3|0)>(w2|0),C2)e6=w2;else{b3=w2;break}}else b3=C6;while(!1);F2=F3-b3|0,D2=_3>>>0>32767,N2=F2>>>0>32767,f6=N2?32767:F2,N6=_3<<15,n6=N6|-2147483648,d2=D2?-1073774592:n6,K2=d2|f6,e[z1>>2]=K2,t6=b3,Q6=_3}else t6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(q|0),!M2){a=0;break}S=e[J>>2]|0,d1=S,C6=t6,O6=G2,a6=Q6}return C=M3,a|0}function ob(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=e[A>>2]|0,g=e[n>>2]|0,u=e[g>>2]|0,E=a>>>0>u>>>0,I=E&1,m=a>>>0>>0,B=m&1,p=I-B|0,p|0}function Ab(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0;if(K0=C,B=e[t>>2]|0,p=(B|0)==1,!p&&(M=t+4|0,q=e[M>>2]|0,i0=t+8|0,n0=e[i0>>2]|0,V=n0+4|0,h0=e[V>>2]|0,o0=(h0|0)>0,!!o0)){for(g0=h0+1|0,m=B+-1|0,I0=B,w0=0,C0=B,d0=1;;){S=g0-w0|0,b=n0+(S<<2)|0,w=e[b>>2]|0,y=(C0|0)/(w|0)&-1,D=(B|0)/(C0|0)&-1,Q=r5(D,y)|0,_=w+-1|0,L=r5(D,_)|0,x=I0-L|0,F=1-d0|0;do if((w|0)==2)if(Y=(F|0)==0,A=m+x|0,t0=q+(A<<2)|0,Y){CQ(D,y,n,q,t0),p0=0;break}else{CQ(D,y,q,n,t0),p0=F;break}else if((w|0)==4)if(T=x+D|0,N=(F|0)==0,a=m+x|0,G=q+(a<<2)|0,g=m+T|0,O=q+(g<<2)|0,u=m+D|0,E=u+T|0,z=q+(E<<2)|0,N){mQ(D,y,n,q,G,O,z),p0=0;break}else{mQ(D,y,q,n,G,O,z),p0=F;break}else if(J=(D|0)==1,v0=J?d0:F,W=(v0|0)==0,I=m+x|0,e0=q+(I<<2)|0,W){pQ(D,w,y,Q,n,n,n,q,q,e0),p0=1;break}else{pQ(D,w,y,Q,q,q,q,n,n,e0),p0=0;break}while(!1);if(X=w0+1|0,c0=(X|0)==(h0|0),c0){B0=p0;break}else I0=x,w0=X,C0=y,d0=p0}if(U=(B0|0)!=1,l0=(B|0)>0,E0=l0&U,E0)u0=0;else return;for(;Z=q+(u0<<2)|0,K=e[Z>>2]|0,$0=n+(u0<<2)|0,e[$0>>2]=K,s0=u0+1|0,j=(s0|0)==(B|0),!j;)u0=s0}}function IQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,L=t+4|0,e[L>>2]=I,J=n4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(n|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,u1=n,l1=0;e:for(;;)for(x0=H0+1|0,Q0=(x0|0)<4,Q0?(M0=25768+(x0<<2)|0,m=e[M0>>2]|0,s1=m):(B=l1+2|0,s1=B),p=(s1|0)!=2,O0=$1,g1=u1;;){if(V0=O0+1|0,S=(g1|0)/(s1|0)&-1,b=r5(S,s1)|0,w=(g1|0)==(b|0),!w){H0=x0,$1=O0,u1=g1,l1=s1;continue e}if(y=O0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(O0|0)==0,a1=p|Q,!a1){if(_=(O0|0)<1,!_)for(F0=1;x=V0-F0|0,F=x+1|0,M=J+(F<<2)|0,T=e[M>>2]|0,N=x+2|0,G=J+(N<<2)|0,e[G>>2]=T,O=F0+1|0,y0=(O|0)==(V0|0),!y0;)F0=O;e[K0>>2]=2}if(z=(S|0)==1,z){A=Q,J0=V0,z0=O0;break e}else O0=V0,g1=S}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=J0,t0=+(n|0),W=6.2831854820251465/t0,a=A^1,e0=(z0|0)>0,n1=e0&a,!!n1)for(q=n+1|0,U0=0,D0=0,i1=1;;){if(X=D0+2|0,U=J+(X<<2)|0,l0=e[U>>2]|0,Z=r5(l0,i1)|0,K=(n|0)/(Z|0)&-1,$0=(l0|0)>1,$0){for(s0=(K|0)>2,n0=l0+-1|0,r1=U0,e1=0,c1=0;;){if(V=c1+i1|0,h0=+(V|0),o0=h0*W,s0)for(Y0=0,_0=r1,N0=2;g0=Y0+1,j=o0*g0,T0=+WA(+j),g=_0+n|0,c0=I+(g<<2)|0,s[c0>>2]=T0,o1=+Pn(+j),u0=_0+2|0,u=q+_0|0,I0=I+(u<<2)|0,s[I0>>2]=o1,w0=N0+2|0,v0=(w0|0)<(K|0),v0;)Y0=g0,_0=u0,N0=w0;if(d0=r1+K|0,p0=e1+1|0,G0=(p0|0)==(n0|0),G0)break;r1=d0,e1=p0,c1=V}B0=r5(K,n0)|0,E0=B0+U0|0,q0=E0}else q0=U0;if(b0=D0+1|0,P0=(b0|0)==(z0|0),P0)break;U0=q0,D0=b0,i1=Z}}}function EQ(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0;B=C,n=(t|0)==0,!n&&(A=t+4|0,a=e[A>>2]|0,g=(a|0)==0,g||I2(a),u=t+8|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function mQ(t,n,A,a,g,u,E){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0;var I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0;if(f3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,y2=t<<1,g2=0,s5=I,u5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,f5=+s[M2>>2],R5=A+(u5<<2)|0,B=+s[R5>>2],F=B+f5,e0=A+(j2<<2)|0,V=+s[e0>>2],d0=A+($5<<2)|0,P0=+s[d0>>2],q0=P0+V,s1=q0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=q0-F,E1=K1+I1|0,p1=a+(E1<<2)|0,s[p1>>2]=d1,B1=+s[e0>>2],Q1=+s[d0>>2],x1=B1-Q1,L1=I1+y2|0,w1=L1+-1|0,b1=a+(w1<<2)|0,s[b1>>2]=x1,R1=+s[R5>>2],G1=+s[M2>>2],v1=R1-G1,U1=a+(L1<<2)|0,s[U1>>2]=v1,Z1=s5+t|0,N1=u5+t|0,_1=j2+t|0,V1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,u5=N1,j2=_1,$5=V1;if(q1=(t|0)<2,!q1){if(H1=(t|0)==2,!H1){if(m1)for(j1=t<<1,B5=0,h5=0;;){for(j=h5<<2,c0=j+j1|0,W2=2,i5=h5,L2=j,q5=c0;P1=i5+2|0,c2=L2+2|0,z1=q5+-2|0,u2=P1+I|0,o2=W2+-2|0,E2=g+(o2<<2)|0,A2=+s[E2>>2],h2=u2+-1|0,$2=A+(h2<<2)|0,i2=+s[$2>>2],l2=i2*A2,r2=W2+-1|0,a2=g+(r2<<2)|0,X1=+s[a2>>2],s2=A+(u2<<2)|0,f2=+s[s2>>2],t2=f2*X1,k2=t2+l2,w2=f2*A2,C2=X1*i2,F2=w2-C2,D2=u2+I|0,N2=u+(o2<<2)|0,d2=+s[N2>>2],K2=D2+-1|0,G2=A+(K2<<2)|0,H2=+s[G2>>2],P2=H2*d2,z2=u+(r2<<2)|0,o5=+s[z2>>2],O2=A+(D2<<2)|0,T1=+s[O2>>2],X2=T1*o5,L5=X2+P2,e5=T1*d2,b5=o5*H2,Z2=e5-b5,k5=D2+I|0,P5=E+(o2<<2)|0,l5=+s[P5>>2],v2=k5+-1|0,m5=A+(v2<<2)|0,n5=+s[m5>>2],x2=n5*l5,_2=E+(r2<<2)|0,p2=+s[_2>>2],C5=A+(k5<<2)|0,d5=+s[C5>>2],D5=d5*p2,G5=D5+x2,_5=d5*l5,q2=p2*n5,I5=_5-q2,A5=G5+k2,c5=G5-k2,p5=I5+F2,M1=F2-I5,p=A+(P1<<2)|0,S=+s[p>>2],b=S+Z2,w=S-Z2,y=i5+1|0,D=A+(y<<2)|0,Q=+s[D>>2],_=Q+L5,L=Q-L5,x=A5+_,M=L2|1,T=a+(M<<2)|0,s[T>>2]=x,N=p5+b,G=a+(c2<<2)|0,s[G>>2]=N,O=L-M1,z=q5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=O,t0=c5-w,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+L,q=c2+j1|0,X=q+-1|0,U=a+(X<<2)|0,s[U>>2]=W,l0=c5+w,Z=a+(q<<2)|0,s[Z>>2]=l0,K=_-A5,$0=z1+j1|0,s0=$0+-1|0,i0=a+(s0<<2)|0,s[i0>>2]=K,n0=p5-b,h0=a+($0<<2)|0,s[h0>>2]=n0,o0=W2+2|0,g0=(o0|0)<(t|0),g0;)W2=o0,i5=P1,L2=c2,q5=z1;if(n2=h5+t|0,W1=B5+1|0,a5=(W1|0)==(n|0),a5)break;B5=W1,h5=n2}if(u0=t&1,I0=(u0|0)==0,!I0)return}if(w0=t+-1|0,C0=w0+I|0,v0=t<<2,p0=t<<1,!!m1)for(B0=C0+m|0,t5=0,J2=C0,x5=B0,Q5=t,j5=t;E0=A+(J2<<2)|0,b0=+s[E0>>2],K0=A+(x5<<2)|0,x0=+s[K0>>2],Q0=x0+b0,M0=Q0*-.7071067690849304,T0=b0-x0,G0=T0*.7071067690849304,y0=j5+-1|0,Y0=A+(y0<<2)|0,F0=+s[Y0>>2],_0=G0+F0,N0=Q5+-1|0,V0=a+(N0<<2)|0,s[V0>>2]=_0,J0=+s[Y0>>2],O0=J0-G0,z0=Q5+p0|0,U0=z0+-1|0,r1=a+(U0<<2)|0,s[r1>>2]=O0,H0=J2+I|0,e1=A+(H0<<2)|0,D0=+s[e1>>2],i1=M0-D0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],u1=$1+M0,g1=a+(z0<<2)|0,s[g1>>2]=u1,l1=J2+t|0,a1=x5+t|0,n1=Q5+v0|0,o1=j5+t|0,Z0=t5+1|0,S5=(Z0|0)==(n|0),!S5;)t5=Z0,J2=l1,x5=a1,Q5=n1,j5=o1}}function CQ(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0;if(v1=C,u=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,B1=u;s0=A+(d1<<2)|0,w0=+s[s0>>2],M0=A+(B1<<2)|0,O0=+s[M0>>2],u1=O0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=u1,m=+s[s0>>2],B=+s[M0>>2],p=m-B,S=t0+s1|0,b=a+(S<<2)|0,s[b>>2]=p,w=d1+t|0,y=B1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,d1=w,B1=y;if(Q=(t|0)<2,!Q){if(L=(t|0)==2,!L){if(_)for(h1=0,E1=0,Q1=u;;){for(Y0=E1<<1,F0=Y0+E|0,Z0=2,L1=Q1,b1=F0,R1=E1,F1=Y0;T=L1+2|0,N=b1+-2|0,G=R1+2|0,O=F1+2|0,z=Z0+-2|0,Y=g+(z<<2)|0,J=+s[Y>>2],W=L1+1|0,e0=A+(W<<2)|0,q=+s[e0>>2],X=q*J,U=Z0+-1|0,l0=g+(U<<2)|0,Z=+s[l0>>2],K=A+(T<<2)|0,$0=+s[K>>2],i0=$0*Z,n0=i0+X,V=$0*J,h0=Z*q,o0=V-h0,g0=A+(G<<2)|0,j=+s[g0>>2],c0=o0+j,u0=a+(O<<2)|0,s[u0>>2]=c0,I0=+s[g0>>2],C0=o0-I0,v0=a+(N<<2)|0,s[v0>>2]=C0,d0=R1+1|0,p0=A+(d0<<2)|0,B0=+s[p0>>2],E0=B0+n0,b0=F1|1,K0=a+(b0<<2)|0,s[K0>>2]=E0,x0=+s[p0>>2],Q0=x0-n0,T0=b1+-3|0,G0=a+(T0<<2)|0,s[G0>>2]=Q0,P0=Z0+2|0,y0=(P0|0)<(t|0),y0;)Z0=P0,L1=T,b1=N,R1=G,F1=O;if(x=E1+t|0,F=Q1+t|0,M=h1+1|0,o1=(M|0)==(n|0),o1)break;h1=M,E1=x,Q1=F}if(_0=(t|0)%2&-1,N0=(_0|0)==1,N0)return}if(V0=t+-1|0,!!_)for(J0=u+V0|0,m1=0,p1=t,x1=J0,w1=V0;z0=A+(x1<<2)|0,U0=+s[z0>>2],q0=-U0,r1=a+(p1<<2)|0,s[r1>>2]=q0,H0=A+(w1<<2)|0,e1=e[H0>>2]|0,D0=p1+-1|0,i1=a+(D0<<2)|0,e[i1>>2]=e1,c1=p1+E|0,$1=x1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,p1=c1,x1=$1,w1=g1}}function pQ(t,n,A,a,g,u,E,I,m,B){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0,B=B|0;var p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,z8=0,gt=0,ht=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,vt=0,G8=0,U8=0,P8=0,v8=0,k8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,dt=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,B9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0;B8=C,b=+(n|0),w=6.2831854820251465/b,f8=+WA(+w),Nt=+Pn(+w),E2=n+1|0,Q3=E2>>1,U9=t+-1|0,G4=U9>>1,R9=r5(A,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(wt=(a|0)>0,wt)for(we=0;c0=E+(we<<2)|0,K0=e[c0>>2]|0,N0=m+(we<<2)|0,e[N0>>2]=K0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(n|0)>1,O)for(Z=(A|0)>0,p8=1,Ht=0;;){if(I1=Ht+R9|0,Z)for(st=0,e4=I1;b1=u+(e4<<2)|0,q1=e[b1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=q1,t2=e4+t|0,H2=st+1|0,j9=(H2|0)==(A|0),!j9;)st=H2,e4=t2;if(Z2=p8+1|0,s8=(Z2|0)==(n|0),s8)break;p8=Z2,Ht=I1}if(C5=0-t|0,M1=(G4|0)>(A|0),M1){if(O)for(G3=(A|0)>0,H5=(t|0)>2,I3=C5,H9=1,Dt=0;;){if(k3=Dt+R9|0,v6=I3+t|0,G3)for(e6=k3-t|0,s3=v6+-1|0,a8=0,xt=e6;;){if(F3=xt+t|0,H5)for(o8=2,fe=s3,E7=F3;M3=fe+2|0,E6=E7+2|0,E9=fe+1|0,j4=B+(E9<<2)|0,T4=+s[j4>>2],N4=E7+1|0,a4=u+(N4<<2)|0,L4=+s[a4>>2],u4=L4*T4,Ce=B+(M3<<2)|0,q9=+s[Ce>>2],m9=u+(E6<<2)|0,pe=+s[m9>>2],Ne=pe*q9,Xe=Ne+u4,Ge=I+(N4<<2)|0,s[Ge>>2]=Xe,U4=+s[j4>>2],X4=+s[m9>>2],be=X4*U4,e8=+s[Ce>>2],Z9=+s[a4>>2],ae=Z9*e8,f4=be-ae,_6=I+(E6<<2)|0,s[_6>>2]=f4,P4=o8+2|0,$4=(P4|0)<(t|0),$4;)o8=P4,fe=M3,E7=E6;if(_4=a8+1|0,n8=(_4|0)==(A|0),n8)break;a8=_4,xt=F3}if($e=H9+1|0,I8=($e|0)==(n|0),I8)break;I3=v6,H9=$e,Dt=k3}}else if(O)for(u5=(t|0)>2,h3=(A|0)>0,He=C5,ne=1,Gt=0;;){if(W9=He+t|0,le=Gt+R9|0,u5)for(ce=W9+-1|0,m8=2,A8=ce,r7=le;;){if(p4=A8+2|0,ee=r7+2|0,h3)for(R4=A8+1|0,ge=B+(R4<<2)|0,g6=B+(p4<<2)|0,$8=0,Kt=ee;Ue=+s[ge>>2],l4=Kt+-1|0,Be=u+(l4<<2)|0,B4=+s[Be>>2],c4=B4*Ue,P6=+s[g6>>2],De=u+(Kt<<2)|0,_e=+s[De>>2],t8=_e*P6,v4=t8+c4,u8=I+(l4<<2)|0,s[u8>>2]=v4,J3=+s[ge>>2],w9=+s[De>>2],p9=w9*J3,F4=+s[g6>>2],te=+s[Be>>2],lt=te*F4,xe=p9-lt,ct=I+(Kt<<2)|0,s[ct>>2]=xe,z8=Kt+t|0,gt=$8+1|0,D8=(gt|0)==(A|0),!D8;)$8=gt,Kt=z8;if(ht=m8+2|0,F8=(ht|0)<(t|0),F8)m8=ht,A8=p4,r7=ee;else break}if(M8=ne+1|0,he=(M8|0)==(n|0),he)break;He=W9,ne=M8,Gt=le}if(T8=r5(R9,n)|0,N8=(G4|0)<(A|0),Z8=(Q3|0)>1,!N8){if(!Z8)break;for(W8=(A|0)>0,vt=(t|0)>2,Ye=1,l8=0,U7=T8;;){if(p0=l8+R9|0,B0=U7-R9|0,W8)for(H4=0,n7=p0,s7=B0;;){if(vt)for(ye=2,zt=n7,y7=s7;E0=zt+2|0,b0=y7+2|0,x0=zt+1|0,Q0=I+(x0<<2)|0,M0=+s[Q0>>2],T0=y7+1|0,G0=I+(T0<<2)|0,P0=+s[G0>>2],y0=P0+M0,Y0=u+(x0<<2)|0,s[Y0>>2]=y0,F0=I+(E0<<2)|0,_0=+s[F0>>2],V0=I+(b0<<2)|0,J0=+s[V0>>2],O0=_0-J0,z0=u+(T0<<2)|0,s[z0>>2]=O0,U0=+s[F0>>2],q0=+s[V0>>2],r1=q0+U0,H0=u+(E0<<2)|0,s[H0>>2]=r1,e1=+s[G0>>2],D0=+s[Q0>>2],c1=e1-D0,$1=u+(b0<<2)|0,s[$1>>2]=c1,u1=ye+2|0,g1=(u1|0)<(t|0),g1;)ye=u1,zt=E0,y7=b0;if(l1=n7+t|0,s1=s7+t|0,a1=H4+1|0,O4=(a1|0)==(A|0),O4)break;H4=a1,n7=l1,s7=s1}if(n1=Ye+1|0,Re=(n1|0)==(Q3|0),Re)break e;Ye=n1,l8=p0,U7=B0}}if(Z8)for(D=(t|0)>2,Q=(A|0)>0,D9=1,Yt=0,G7=T8;;){if(_=Yt+R9|0,L=G7-R9|0,D)for(ue=2,m7=_,B7=L;;){if(x=m7+2|0,F=B7+2|0,Q)for(M=F-t|0,T=x-t|0,_8=0,V7=T,hi=M;N=V7+t|0,G=hi+t|0,z=N+-1|0,Y=I+(z<<2)|0,t0=+s[Y>>2],J=G+-1|0,W=I+(J<<2)|0,e0=+s[W>>2],q=e0+t0,X=u+(z<<2)|0,s[X>>2]=q,U=I+(N<<2)|0,l0=+s[U>>2],K=I+(G<<2)|0,$0=+s[K>>2],s0=l0-$0,i0=u+(J<<2)|0,s[i0>>2]=s0,n0=+s[U>>2],V=+s[K>>2],h0=V+n0,o0=u+(N<<2)|0,s[o0>>2]=h0,g0=+s[W>>2],j=+s[Y>>2],u0=g0-j,I0=u+(G<<2)|0,s[I0>>2]=u0,w0=_8+1|0,b8=(w0|0)==(A|0),!b8;)_8=w0,V7=N,hi=G;if(C0=ue+2|0,v0=(C0|0)<(t|0),v0)ue=C0,m7=x,B7=F;else break}if(d0=D9+1|0,r8=(d0|0)==(Q3|0),r8)break;D9=d0,Yt=_,G7=L}}while(!1);if(y=(a|0)>0,y)for(Q4=0;o1=m+(Q4<<2)|0,Z0=e[o1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,m1=Q4+1|0,H8=(m1|0)==(a|0),!H8;)Q4=m1;if(d1=r5(a,n)|0,E1=(Q3|0)>1,E1){for(p1=(A|0)>0,Y8=1,L8=0,P7=d1;;){if(B1=L8+R9|0,Q1=P7-R9|0,p1)for(x1=Q1-t|0,L1=B1-t|0,ot=0,$i=L1,ci=x1;w1=$i+t|0,R1=ci+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],v1=I+(R1<<2)|0,U1=+s[v1>>2],Z1=U1+G1,N1=u+(w1<<2)|0,s[N1>>2]=Z1,_1=+s[v1>>2],V1=+s[F1>>2],O1=_1-V1,H1=u+(R1<<2)|0,s[H1>>2]=O1,Y1=ot+1|0,ie=(Y1|0)==(A|0),!ie;)ot=Y1,$i=w1,ci=R1;if(j1=Y8+1|0,tt=(j1|0)==(Q3|0),tt)break;Y8=j1,L8=B1,P7=Q1}if(n2=n+-1|0,W1=r5(n2,a)|0,E1){for(P1=(Q3|0)>2,G8=0,P8=1,Ve=1,_t=0,d7=d1;;){if(c2=_t+a|0,z1=d7-a|0,u2=P8*f8,o2=G8*Nt,K1=u2-o2,h2=G8*f8,$2=P8*Nt,i2=$2+h2,y)for(C8=0,q7=c2,A7=z1,z7=W1,Wt=a;l2=E+(C8<<2)|0,r2=+s[l2>>2],a2=Wt+1|0,X1=E+(Wt<<2)|0,s2=+s[X1>>2],f2=s2*K1,y2=f2+r2,k2=q7+1|0,w2=m+(q7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*i2,d2=A7+1|0,K2=m+(A7<<2)|0,s[K2>>2]=N2,G2=C8+1|0,ft=(G2|0)==(a|0),!ft;)C8=G2,q7=k2,A7=d2,z7=C2,Wt=a2;if(P1)for(U8=i2,v8=K1,dt=2,H7=a,Ut=W1;;){if(M2=H7+a|0,P2=Ut-a|0,z2=v8*K1,o5=U8*i2,O2=z2-o5,T1=U8*K1,X2=v8*i2,L5=X2+T1,y)for(it=0,w7=c2,S7=z1,b7=M2,Lt=P2;e5=b7+1|0,b5=E+(b7<<2)|0,f5=+s[b5>>2],k5=f5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,v2=+s[l5>>2],m5=v2+k5,s[l5>>2]=m5,n5=Lt+1|0,x2=E+(Lt<<2)|0,_2=+s[x2>>2],p2=_2*L5,R5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+p2,s[d5>>2]=G5,_5=it+1|0,kt=(_5|0)==(a|0),!kt;)it=_5,w7=P5,S7=R5,b7=e5,Lt=n5;if(q2=dt+1|0,et=(q2|0)==(Q3|0),et)break;U8=L5,v8=O2,dt=q2,H7=M2,Ut=P2}if(I5=Ve+1|0,St=(I5|0)==(Q3|0),St)break;G8=i2,P8=K1,Ve=I5,_t=c2,d7=z1}if(E1)for(rt=1,K8=0;;){if(A5=K8+a|0,y)for(q4=0,Jt=A5;c5=Jt+1|0,p5=E+(Jt<<2)|0,S5=+s[p5>>2],g5=m+(q4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=q4+1|0,ut=(g2|0)==(a|0),!ut;)q4=g2,Jt=c5;if(B5=rt+1|0,Qe=(B5|0)==(Q3|0),Qe)break;rt=B5,K8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,qe=0;;){if(i5)for(Je=0,de=qe,Vt=qe;Y5=I+(de<<2)|0,X5=e[Y5>>2]|0,n3=g+(Vt<<2)|0,e[n3>>2]=X5,m3=de+t|0,F5=Vt+C9|0,J5=Je+1|0,Le=(J5|0)==(A|0),!Le;)Je=J5,de=m3,Vt=F5;if(v3=qe+1|0,i8=(v3|0)==(t|0),i8)break;qe=v3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,x8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;x5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,L2=Y7+1|0,Q5=g+(Y7<<2)|0,e[Q5>>2]=$5,q5=Oe+1|0,S8=(q5|0)==(t|0),!S8;)Oe=q5,O7=x5,Y7=L2;if(j5=Me+t|0,E5=I7+C9|0,f3=x8+1|0,v9=(f3|0)==(A|0),v9)break;x8=f3,Me=j5,I7=E5}if(u3=t<<1,B3=r5(R9,n)|0,E1)for(z3=(A|0)>0,nt=1,bt=0,C7=0,J7=B3;;){if(z5=bt+u3|0,w3=C7+R9|0,W5=J7-R9|0,z3)for(B9=0,Zt=z5,v7=w3,W7=W5;i6=I+(v7<<2)|0,L3=e[i6>>2]|0,U3=Zt+-1|0,a3=g+(U3<<2)|0,e[a3>>2]=L3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=g+(Zt<<2)|0,e[C3>>2]=c3,U5=Zt+C9|0,O5=v7+t|0,v5=W7+t|0,P3=B9+1|0,d8=(P3|0)==(A|0),!d8;)B9=P3,Zt=U5,v7=O5,W7=v5;if(M5=nt+1|0,Pe=(M5|0)==(Q3|0),Pe)break;nt=M5,bt=z5,C7=w3,J7=W5}if(!g4){if(o6=(G4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(p=(A|0)<1,S=(t|0)<3,k8=p|S,J8=1,at=e3,p7=0,o7=0,gi=B3;;){if(u6=at+u3|0,y3=p7+u3|0,r6=o7+R9|0,j3=gi-R9|0,!k8)for(At=0,Z7=u6,a7=y3,ve=r6,$7=j3;;){for(X9=2;l6=t-X9|0,d3=X9+ve|0,k6=d3+-1|0,S6=I+(k6<<2)|0,p6=+s[S6>>2],X3=X9+$7|0,c6=X3+-1|0,B6=I+(c6<<2)|0,x6=+s[B6>>2],Y6=x6+p6,C6=X9+a7|0,b3=C6+-1|0,t6=g+(b3<<2)|0,s[t6>>2]=Y6,f6=+s[S6>>2],H3=+s[B6>>2],D3=f6-H3,Y3=l6+Z7|0,Z3=Y3+-1|0,b6=g+(Z3<<2)|0,s[b6>>2]=D3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(X3<<2)|0,a6=+s[O6>>2],d6=a6+t3,_3=g+(C6<<2)|0,s[_3>>2]=d6,N6=+s[O6>>2],n6=+s[A6>>2],Q6=N6-n6,L6=g+(Y3<<2)|0,s[L6>>2]=Q6,K6=X9+2|0,I6=(K6|0)<(t|0),I6;)X9=K6;if(O3=Z7+C9|0,V5=a7+C9|0,S3=ve+t|0,g3=$7+t|0,q3=At+1|0,j8=(q3|0)==(A|0),j8)break;At=q3,Z7=O3,a7=V5,ve=S3,$7=g3}if(J6=J8+1|0,X8=(J6|0)==(Q3|0),X8)break;J8=J6,at=u6,p7=y3,o7=r6,gi=j3}return}if(E1)for(A3=(t|0)>2,R3=(A|0)>0,re=1,se=e3,li=0,Q7=0,K7=B3;;){if(j6=se+u3|0,G6=li+u3|0,e9=Q7+R9|0,s9=K7-R9|0,A3&&(R6=j6+t|0,R3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,x4=Fe+G6|0,M4=R6-Fe|0,V8=0,k7=M4,Pt=x4,D7=D4,n9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],X6=A9+F6,u9=Pt+-1|0,f9=g+(u9<<2)|0,s[f9>>2]=X6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=k7+-1|0,T6=g+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=g+(Pt<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,q6=g+(k7<<2)|0,s[q6>>2]=b9,r9=k7+C9|0,m4=Pt+C9|0,S4=D7+t|0,A4=n9+t|0,y9=V8+1|0,O8=(y9|0)==(A|0),!O8;)V8=y9,k7=r9,Pt=m4,D7=S4,n9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=re+1|0,q8=(C4|0)==(Q3|0),q8)break;re=C4,se=j6,li=G6,Q7=e9,K7=s9}}}function ab(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,z8=0,gt=0,ht=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,vt=0,G8=0,U8=0,P8=0,v8=0,k8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,dt=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,B9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0,Et=0,Rt=0,Xr=0,mr=0,io=0,qn=0,ro=0,Hn=0,no=0,so=0,Yn=0,oo=0,en=0,Ao=0,ao=0,$o=0,Jn=0,lo=0,Vn=0,Kn=0,co=0,tn=0,zn=0,rn=0,Zn=0,Wn=0,go=0,ho=0,uo=0,nn=0,jn=0,fo=0,Cr=0,sn=0,Io=0,Eo=0,on=0,ui=0,Xn=0,mo=0,Co=0,es=0,ts=0,is=0,po=0,fi=0,An=0,Bo=0,rs=0,Qo=0,yo=0,wo=0,ns=0,vo=0,ko=0,So=0,bo=0,ss=0,Do=0,_o=0,an=0,pr=0,$n=0,xo=0,ji=0,Lo=0,os=0,ln=0,As=0,cn=0,Ro=0,as=0,$s=0,Fo=0,ls=0,cs=0,Mo=0,Br=0,gs=0,di=0,gn=0,Qr=0,Xi=0,yr=0,Hi=0,wr=0,hs=0,Yi=0,vi=0,ki=0,j7=0,Si=0,vr=0,er=0,tr=0,kr=0,Ii=0,To=0,l7=0,el=0,hn=0,un=0,Th=0,tl=0,No=0,Nh=0,ea=0,il=0,Gh=0,Uh=0,Ph=0,ta=0,rl=0,nl=0,ia=0,fn=0,sl=0,Oh=0,Go=0,ir=0,qh=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,ol=0,Sr=0,Xh=0,eu=0,Al=0,tu=0,ra=0,Uo=0,na=0,iu=0,ru=0,sa=0,al=0,$l=0,ll=0,oa=0,cl=0,Po=0,nu=0,su=0,gl=0,ou=0,Au=0,hl=0,au=0,$u=0,ul=0,fl=0,dl=0,Il=0,El=0,dn=0,lu=0,ml=0,cu=0,Cl=0,pl=0,gu=0,hu=0,uu=0,Aa=0,Bl=0,Ql=0,us=0,yl=0,aa=0,fu=0,wl=0,du=0,vl=0,Iu=0,Eu=0,kl=0,Sl=0,mu=0,Oo=0,Cu=0,$a=0,bl=0,Dl=0,pu=0,Bu=0,Qu=0,yu=0,wu=0,vu=0,qo=0,_l=0,xl=0,Ll=0,Ho=0,ku=0,Rl=0,Su=0,Fl=0,bu=0,Du=0,Ml=0,la=0,_u=0,xu=0,Yo=0,Lu=0,Jo=0,Ru=0,ca=0,Fu=0,Mu=0,Tu=0,Tl=0,Nu=0,Gu=0,Uu=0,Pu=0,Nl=0,Gl=0,rr=0,Ul=0,Vo=0,ga=0,ha=0,In=0,Pl=0,En=0,Ou=0,Ol=0,qu=0,Hu=0,Yu=0,Ju=0,Ko=0,ua=0,br=0,Vu=0,Ku=0,ql=0,fa=0,Hl=0,Yl=0,zu=0,Jl=0,Zu=0,da=0,Wu=0,ju=0,P9=0,Xu=0,Vl=0,ef=0,tf=0,Ia=0,rf=0,Ea=0,Kl=0,nf=0,sf=0,zl=0,Zl=0,of=0,ma=0,Ca=0,Wl=0,jl=0,Af=0,Xl=0,pa=0,af=0,ec=0,$f=0,lf=0,cf=0,gf=0,tc=0,ic=0,Ba=0,zo=0,rc=0,hf=0,nc=0,sc=0,uf=0,ff=0,df=0,oc=0,If=0,Ef=0,mf=0,Cf=0,pf=0,Bf=0,Ac=0,Qf=0,ac=0,yf=0,mn=0,wf=0,$c=0,vf=0,fs=0,lc=0,Qa=0,kf=0,Zo=0,ya=0,Sf=0,wa=0,cc=0,bf=0,Df=0,_f=0,xf=0,Lf=0,gc=0,Rf=0,Ff=0,Mf=0,Wo=0,ds=0,va=0,Tf=0,ka=0,Nf=0,Gf=0,Uf=0,hc=0,Pf=0,Of=0,qf=0,Hf=0,Yf=0,jo=0,Jf=0,Vf=0,uc=0,Kf=0,zf=0,Zf=0,Wf=0,Ei=0,fc=0,mi=0,dc=0,Sa=0,jf=0,X7=0,Is=0,Xf=0,ed=0,td=0,id=0,rd=0,Ic=0,nd=0,sd=0,Ec=0,od=0,Ad=0,Es=0,ba=0,ad=0,mc=0,$d=0,ld=0,Xo=0,cd=0,gd=0,Cc=0,pc=0,hd=0,ud=0,Cn=0,fd=0,dd=0,pn=0,Id=0,Bc=0,Ed=0,md=0,ms=0,Qc=0,Cd=0,yc=0,pd=0,nr=0,Da=0,Bd=0,wc=0,vc=0,Qd=0,yd=0,kc=0,wd=0,vd=0,kd=0,Sc=0,Sd=0,Cs=0,bd=0,Bn=0,Dd=0,_d=0,_a=0,xd=0,xa=0,La=0,Ld=0,bc=0,Dc=0,Rd=0,_c=0,xc=0,Lc=0,Fd=0,Rc=0,Fc=0,Md=0,Td=0,Mc=0,Tc=0,Nd=0,Nc=0,Gc=0,Gd=0,Ud=0,Uc=0,Ra=0,Pc=0,Oc=0,qc=0,Hc=0,Pd=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,Yc=0,Fa=0,zd=0,Zd=0,Wd=0,Jc=0,Vc=0,jd=0,Kc=0,Ma=0,eA=0,zc=0,Xd=0,eI=0,tI=0,iI=0,Zc=0,tA=0,rI=0,nI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,Wc=0,cI=0,gI=0,hI=0,uI=0,iA=0,jc=0,fI=0,dI=0,Qn=0,Xc=0,eg=0,Ta=0,II=0,tg=0,EI=0,ig=0,rg=0,mI=0,CI=0,pI=0,BI=0,QI=0,rA=0,Na=0,yI=0,wI=0,vI=0,kI=0,ng=0,SI=0,sg=0,bI=0,DI=0,og=0,Dr=0,Ag=0,ag=0,_I=0,$g=0,nA=0,xI=0,LI=0,RI=0,sA=0,lg=0,FI=0,MI=0,cg=0,TI=0,NI=0,Ga=0,oA=0,GI=0,UI=0,PI=0,gg=0,hg=0,ug=0,OI=0,qI=0,ps=0,HI=0,fg=0,YI=0,Ua=0,dg=0,JI=0,VI=0,KI=0,zI=0,Ig=0,ZI=0,WI=0,Eg=0,AA=0,jI=0,XI=0,eE=0,Bs=0,mg=0,Cg=0,tE=0,pg=0,Bg=0,bi=0,Qg=0,sr=0,iE=0,rE=0,nE=0,sE=0,Pa=0,aA=0,yg=0,wg=0,oE=0,$A=0,Qs=0,AE=0,lA=0,Oa=0,aE=0,qa=0,$E=0,lE=0,vg=0,cA=0,kg=0,cE=0,gE=0,hE=0,uE=0,Sg=0,fE=0,jt=0,y4=0,ei=0,dE=0,bg=0,Dg=0,Ha=0,IE=0,_r=0,ys=0,EE=0,mE=0,_g=0,Ya=0,CE=0,xg=0,Lg=0,Rg=0,Ja=0,Va=0,Fg=0,ws=0,Ka=0,Mg=0,pE=0,yn=0,BE=0,Tg=0,gA=0,QE=0,Ng=0,Di=0,yE=0,wE=0,vE=0,kE=0,SE=0,bE=0,_i=0,DE=0,_E=0,xE=0,Gg=0,Ci=0,hA=0,za=0,Ug=0,Pg=0,LE=0,Og=0,qg=0,RE=0,FE=0,Hg=0,Yg=0,ME=0,TE=0,Jg=0,NE=0,vs=0,uA=0,fA=0,GE=0,Za=0,UE=0,PE=0,Vg=0,ks=0,OE=0,qE=0,Wa=0,ja=0,dA=0,Xa=0,e$=0,or=0,xr=0,Lr=0,t$=0,i$=0,Ss=0,Ar=0,wn=0,HE=0,ar=0,vn=0,YE=0,_7=0,x7=0,L7=0,IA=0,EA=0,Kg=0,zg=0,mA=0,r$=0,R7=0,CA=0,Rr=0,n$=0,JE=0,s$=0,VE=0,o$=0,Zg=0,pA=0,KE=0,zE=0,BA=0,ZE=0,QA=0,kn=0,Ke=0,k4=0,Wg=0,WE=0,A$=0,jg=0,jE=0,XE=0,yA=0,em=0,tm=0,im=0,rm=0,Xg=0,nm=0,sm=0,om=0,ti=0,wA=0,Sn=0,a$=0,bs=0,Ds=0,Xt=0,_s=0,eh=0,th=0,vA=0,xs=0,Ls=0,Rs=0,Am=0,Fs=0,$r=0,ih=0,Fr=0,ii=0,$$=0,l$=0,Ji=0,c$=0,g$=0,h$=0,Mr=0,$6=0,kA=0,Tr=0,rh=0,ke=0,u$=0,Q8=0,Ms=0,bn=0,Dn=0,F9=0,_n=0,Nr=0,Y4=0,f$=0,Bp=0,am=0,nC=0,sC=0,Qp=0,$m=0,xQ=0,LQ=0,RQ=0,FQ=0,MQ=0,TQ=0,NQ=0,GQ=0,UQ=0,PQ=0,OQ=0,qQ=0,yp=0,wp=0,HQ=0,YQ=0,JQ=0,nh=0,oC=0,pi=0,sh=0,oh=0,Ah=0,ah=0,lm=0,cm=0,gm=0,hm=0,um=0,fm=0,dm=0,Im=0,Em=0,mm=0,AC=0,SA=0,lr=0,d$=0,$h=0,I$=0,vp=0,bA=0,Cm=0,E$=0,aC=0,$C=0,pm=0,lC=0,cC=0,gC=0,hC=0,uC=0,fC=0,dC=0,kp=0,Sp=0,bp=0,Dp=0,_p=0,DA=0,_A=0,xA=0,LA=0,VQ=0,cr=0,t4=0,Tb=0,RA=0,IC=0;if(Tb=C,g0=t+28|0,j=e[g0>>2]|0,X8=(j|0)==0,X8||(A7=j+3456|0,hs=e[A7>>2]|0,_l=(hs|0)==0,n=_l&1,fs=j+3496|0,_c=+A1[fs>>3],gg=_c>-80,gg?A1[fs>>3]=-80:(FE=_c<-200,FE&&(A1[fs>>3]=-200)),c0=j+3512|0,Z2=+A1[c0>>3],s3=Z2>0,s3?A1[c0>>3]=0:(C4=Z2<-99999,C4&&(A1[c0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,R4=(_6|0)==0,R4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,xe=j+3400|0,W8=+A1[xe>>3],d8=_6+24|0,St=e[d8>>2]|0,he=_6+28|0,Fe=e[he>>2]|0,re=~~W8,V8=St+(re<<2)|0,Nt=e[V8>>2]|0,K8=Fe+(re<<2)|0,I7=e[K8>>2]|0,e[j>>2]=Nt,B7=j+4|0,e[B7>>2]=I7,Ut=(Nt|0)==(I7|0),Wt=_6+144|0,It=e[Wt>>2]|0,so=(It|0)>0,so){for(co=_6+136|0,fo=_6+140|0,ts=_6+148|0,ji=W8,br=j,AC=0;;){if(vo=~~ji,cs=e[co>>2]|0,Yi=e[fo>>2]|0,l7=e[ts>>2]|0,Uh=l7+(AC<<2)|0,qh=e[Uh>>2]|0,Sr=n4(1,1120)|0,al=qh+(vo<<2)|0,hl=e[al>>2]|0,cu=Yi+(hl*1120|0)|0,s4(Sr|0,cu|0,1120)|0,aa=e[Sr>>2]|0,Cu=(aa|0)>0,Cu){for(xl=Sr+4|0,oC=0,dC=-1;;)if(pa=xl+(oC<<2)|0,rc=e[pa>>2]|0,Cf=(rc|0)>(dC|0),t0=Cf?rc:dC,lc=oC+1|0,OQ=(lc|0)==(aa|0),OQ){J=t0;break}else oC=lc,dC=t0;if(_u=(J|0)<0,!_u){for(Nu=Sr+256|0,In=br+24|0,Wu=Sr+192|0,nf=Sr+320|0,I$=0,gC=-1;;){if(vc=Nu+(I$<<2)|0,Bn=e[vc>>2]|0,xc=(Bn|0)>(gC|0),z=xc?Bn:gC,Gc=e[In>>2]|0,qd=Gc+Bn|0,e[vc>>2]=qd,Jc=Wu+(I$<<2)|0,Zc=e[Jc>>2]|0,cI=(Zc|0)==31,cI)hC=z;else for(y9=Zc,lC=0,fC=z;;)if(Ta=(nf+(I$<<5)|0)+(lC<<2)|0,rA=e[Ta>>2]|0,og=(rA|0)>(fC|0),Y=og?rA:fC,lg=(rA|0)>-1,lg?(hg=e[In>>2]|0,VI=hg+rA|0,e[Ta>>2]=VI,e0=e[Jc>>2]|0,Oa=e0):Oa=y9,Bs=lC+1|0,nE=1<>2]|0,jf=e[Vf>>2]|0,Ec=e[In>>2]|0,gd=Ec+1|0,e[In>>2]=gd,Ed=(br+1824|0)+(Ec<<2)|0,e[Ed>>2]=jf,NQ=(uC|0)==0,!NQ))for(vp=0;Va=vp+1|0,Z=e[al>>2]|0,Ng=cs+(Z<<2)|0,xE=e[Ng>>2]|0,Hg=xE+(Va<<2)|0,UE=e[Hg>>2]|0,or=e[In>>2]|0,YE=or+1|0,e[In>>2]=YE,CA=(br+1824|0)+(or<<2)|0,e[CA>>2]=UE,TQ=(Va|0)==(uC|0),!TQ;)vp=Va}}if(BA=br+16|0,XE=e[BA>>2]|0,wA=(br+800|0)+(XE<<2)|0,e[wA>>2]=1,Ls=e[BA>>2]|0,c$=(br+1056|0)+(Ls<<2)|0,e[c$>>2]=Sr,u0=e[BA>>2]|0,x0=u0+1|0,e[BA>>2]=x0,V0=AC+1|0,c1=e[Wt>>2]|0,h1=(V0|0)<(c1|0),!h1)break;W=+A1[xe>>3],n0=e[g0>>2]|0,ji=W,br=n0,AC=V0}h0=e[g0>>2]|0,z5=h0}else z5=j;R1=j+3520|0,H1=+A1[R1>>3],A2=_6+124|0,t2=e[A2>>2]|0,H2=_6+128|0,f5=e[H2>>2]|0,R5=~~H1,S5=+(R5|0),i5=H1-S5,Y5=z5+2868|0,U5=f5+(R5<<3)|0,k3=+A1[U5>>3],v6=~~k3,e6=t2+(v6*492|0)|0,s4(Y5|0,e6|0,492)|0,a6=+A1[U5>>3],j6=1-i5,M6=a6*j6,T6=R5+1|0,q6=f5+(T6<<3)|0,b4=+A1[q6>>3],D4=b4*i5,x4=D4+M6,M4=~~x4,j4=+(M4|0),T4=x4-j4,U9=T4==0,N4=(M4|0)>0,kp=N4&U9,I=kp?1:T4,a4=kp<<31>>31,F=a4+M4|0,L4=1-I,u4=F+1|0,Ce=(t2+(F*492|0)|0)+4|0,q9=+s[Ce>>2],m9=q9,pe=L4*m9,Xe=(t2+(u4*492|0)|0)+4|0,G4=+s[Xe>>2],Ge=G4,U4=I*Ge,X4=pe+U4,be=X4,e8=z5+2872|0,s[e8>>2]=be,Z9=(t2+(F*492|0)|0)+32|0,ae=+s[Z9>>2],f4=ae,P4=L4*f4,R9=(t2+(u4*492|0)|0)+32|0,$4=+s[R9>>2],_4=$4,$e=I*_4,W9=P4+$e,le=W9,ce=z5+2900|0,s[ce>>2]=le,p4=(t2+(F*492|0)|0)+8|0,ee=+s[p4>>2],ge=ee,C9=L4*ge,g6=(t2+(u4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,Be=I*l4,B4=C9+Be,c4=B4,P6=z5+2876|0,s[P6>>2]=c4,De=(t2+(F*492|0)|0)+36|0,t8=+s[De>>2],g4=t8,v4=L4*g4,u8=(t2+(u4*492|0)|0)+36|0,J3=+s[u8>>2],w9=J3,p9=w9*I,F4=p9+v4,te=F4,lt=z5+2904|0,s[lt>>2]=te,ct=(t2+(F*492|0)|0)+12|0,wt=+s[ct>>2],z8=wt,gt=z8*L4,ht=(t2+(u4*492|0)|0)+12|0,F8=+s[ht>>2],M8=F8,T8=M8*I,N8=T8+gt,Z8=N8,vt=z5+2880|0,s[vt>>2]=Z8,G8=(t2+(F*492|0)|0)+40|0,U8=+s[G8>>2],P8=U8,v8=P8*L4,k8=(t2+(u4*492|0)|0)+40|0,f8=+s[k8>>2],O8=f8,q8=O8*I,j8=q8+v8,Pe=j8,Le=z5+2908|0,s[Le>>2]=Pe,i8=(t2+(F*492|0)|0)+16|0,S8=+s[i8>>2],v9=S8,ut=v9*L4,Qe=(t2+(u4*492|0)|0)+16|0,ft=+s[Qe>>2],kt=ft,et=kt*I,ie=et+ut,tt=ie,H8=z5+2884|0,s[H8>>2]=tt,b8=(t2+(F*492|0)|0)+44|0,r8=+s[b8>>2],O4=r8,Re=O4*L4,n8=(t2+(u4*492|0)|0)+44|0,I8=+s[n8>>2],D8=I8,j9=D8*I,s8=j9+Re,E8=s8,o8=z5+2912|0,s[o8>>2]=E8,m8=z5+3512|0,ue=+A1[m8>>3],ye=ue,Oe=z5+2936|0,s[Oe>>2]=ye,qe=_6+132|0,X9=e[qe>>2]|0,fe=j+3472|0,A8=+A1[fe>>3],we=A8,Q4=~~we,C8=+(Q4|0),it=we-C8,q4=it,I3=e[g0>>2]|0,He=(X9|0)==0;e:do if(He)p8=I3+4|0,H9=e[I3>>2]|0,ne=I3+3240|0,e[ne>>2]=H9,D9=e[p8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,Y8=I3+3244|0,e[Y8>>2]=H9,dt=I3+3304|0,e[dt>>2]=D9,rt=I3+3248|0,e[rt>>2]=H9,nt=I3+3308|0,e[nt>>2]=D9,J8=I3+3252|0,e[J8>>2]=H9,st=I3+3312|0,e[st>>2]=D9,a8=I3+3256|0,e[a8>>2]=H9,$8=I3+3316|0,e[$8>>2]=D9,_8=I3+3260|0,e[_8>>2]=H9,H4=I3+3320|0,e[H4>>2]=D9,ot=I3+3264|0,e[ot>>2]=H9,x8=I3+3324|0,e[x8>>2]=D9,Je=I3+3268|0,e[Je>>2]=H9,B9=I3+3328|0,e[B9>>2]=D9,At=I3+3272|0,e[At>>2]=H9,Ve=I3+3332|0,e[Ve>>2]=D9,Ht=I3+3276|0,e[Ht>>2]=H9,bt=I3+3336|0,e[bt>>2]=D9,at=I3+3280|0,e[at>>2]=H9,Dt=I3+3340|0,e[Dt>>2]=D9,se=I3+3284|0,e[se>>2]=H9,Gt=I3+3344|0,e[Gt>>2]=D9,Yt=I3+3288|0,e[Yt>>2]=H9,l8=I3+3348|0,e[l8>>2]=D9,L8=I3+3292|0,e[L8>>2]=H9,_t=I3+3352|0,e[_t>>2]=D9,Me=I3+3296|0,e[Me>>2]=H9,de=I3+3356|0,e[de>>2]=D9;else{e4=I3+3120|0,xt=X9+(Q4*240|0)|0,cr=e4,RA=xt,IC=cr+60|0;do e[cr>>2]=e[RA>>2]|0,cr=cr+4|0,RA=RA+4|0;while((cr|0)<(IC|0));r7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,cr=r7,RA=G7,IC=cr+60|0;do e[cr>>2]=e[RA>>2]|0,cr=cr+4|0,RA=RA+4|0;while((cr|0)<(IC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Jt=1-q4,Vt=Q4+1|0,E7=t+8|0,Kt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),lr=0;;){if(n7=((X9+(Q4*240|0)|0)+120|0)+(lr<<2)|0,$i=+s[n7>>2],O7=$i,C7=O7*Jt,p7=((X9+(Vt*240|0)|0)+120|0)+(lr<<2)|0,li=+s[p7>>2],s7=li,ci=s7*q4,q7=ci+C7,H7=q7,Y7=H7,J7=Y7*1e3,o7=J7/m7,Q7=e[I3>>2]|0,V7=+(Q7|0),zt=V7*o7,Zt=~~zt,gi=(I3+3e3|0)+(lr<<2)|0,e[gi>>2]=Zt,K7=e[Kt>>2]|0,hi=+(K7|0),y7=hi*o7,z7=~~y7,w7=(I3+3060|0)+(lr<<2)|0,e[w7>>2]=z7,v7=~~H7,Z7=(I3+2940|0)+(lr<<2)|0,e[Z7>>2]=v7,k7=((X9+(Q4*240|0)|0)+180|0)+(lr<<2)|0,S7=+s[k7>>2],W7=S7,a7=W7*Jt,Pt=((X9+(Vt*240|0)|0)+180|0)+(lr<<2)|0,b7=+s[Pt>>2],ve=b7,D7=ve*q4,Lt=D7+a7,$7=Lt,n9=$7,B8=n9*1e3,Et=B8/m7,Rt=e[I3>>2]|0,Xr=+(Rt|0),mr=Xr*Et,io=~~mr,qn=(I3+3240|0)+(lr<<2)|0,e[qn>>2]=io,ro=e[Kt>>2]|0,Hn=+(ro|0),no=Hn*Et,Yn=~~no,oo=(I3+3300|0)+(lr<<2)|0,e[oo>>2]=Yn,en=lr+1|0,UQ=(en|0)==15,UQ)break e;lr=en}for(Ao=(X9+(Q4*240|0)|0)+148|0,ao=+s[Ao>>2],$o=ao,Jn=1-q4,lo=$o*Jn,Vn=Q4+1|0,Kn=(X9+(Vn*240|0)|0)+148|0,tn=+s[Kn>>2],zn=tn,rn=zn*q4,Zn=rn+lo,Wn=Zn,go=Wn,ho=go*1e3,uo=t+8|0,nn=I3+4|0,jn=~~Wn,l0=e[uo>>2]|0,Cr=+(l0|0),sn=ho/Cr,$h=0;Io=e[I3>>2]|0,Eo=+(Io|0),on=Eo*sn,ui=~~on,Xn=(I3+3e3|0)+($h<<2)|0,e[Xn>>2]=ui,mo=e[nn>>2]|0,Co=+(mo|0),es=Co*sn,is=~~es,po=(I3+3060|0)+($h<<2)|0,e[po>>2]=is,fi=(I3+2940|0)+($h<<2)|0,e[fi>>2]=jn,An=$h+1|0,qQ=(An|0)==15,!qQ;)$h=An;for(Bo=(X9+(Q4*240|0)|0)+208|0,rs=+s[Bo>>2],Qo=rs,yo=Qo*Jn,wo=(X9+(Vn*240|0)|0)+208|0,ns=+s[wo>>2],ko=ns,So=ko*q4,bo=So+yo,ss=bo,Do=ss,_o=Do*1e3,an=_o/Cr,Cm=0;pr=e[I3>>2]|0,$n=+(pr|0),xo=$n*an,Lo=~~xo,os=(I3+3240|0)+(Cm<<2)|0,e[os>>2]=Lo,ln=e[nn>>2]|0,As=+(ln|0),cn=As*an,Ro=~~cn,as=(I3+3300|0)+(Cm<<2)|0,e[as>>2]=Ro,$s=Cm+1|0,GQ=($s|0)==15,!GQ;)Cm=$s}while(!1);for(Fo=+A1[xe>>3],ls=_6+92|0,Mo=e[ls>>2]|0,Br=_6+100|0,gs=e[Br>>2]|0,di=_6+108|0,gn=e[di>>2]|0,Qr=e[g0>>2]|0,Xi=Qr+2852|0,yr=e[Xi>>2]|0,Hi=~~Fo,wr=Qr+28|0,vi=e[wr>>2]|0,ki=(vi|0)>0,ki||(e[wr>>2]=1),j7=(yr|0)==0,j7?(Si=n4(1,520)|0,e[Xi>>2]=Si,DA=Si):DA=yr,s4(DA|0,25784,520)|0,e[DA>>2]=0,vr=Qr+3460|0,er=e[vr>>2]|0,tr=(er|0)==0,tr||(kr=DA+500|0,e[kr>>2]=1,Ii=Mo+(Hi<<2)|0,To=e[Ii>>2]|0,el=DA+504|0,e[el>>2]=To,hn=gs+(Hi<<2)|0,un=e[hn>>2]|0,Th=DA+508|0,e[Th>>2]=un,tl=gn+(Hi<<3)|0,No=+A1[tl>>3],Nh=DA+512|0,A1[Nh>>3]=No),ea=+A1[xe>>3],il=e[ls>>2]|0,Gh=e[Br>>2]|0,Ph=e[di>>2]|0,ta=e[g0>>2]|0,rl=ta+2856|0,nl=e[rl>>2]|0,ia=~~ea,fn=ta+28|0,sl=e[fn>>2]|0,Oh=(sl|0)>1,Oh||(e[fn>>2]=2),Go=(nl|0)==0,Go?(ir=n4(1,520)|0,e[rl>>2]=ir,_A=ir):_A=nl,s4(_A|0,25784,520)|0,e[_A>>2]=0,Hh=ta+3460|0,Yh=e[Hh>>2]|0,Jh=(Yh|0)==0,Jh||(Vh=_A+500|0,e[Vh>>2]=1,Kh=il+(ia<<2)|0,zh=e[Kh>>2]|0,Zh=_A+504|0,e[Zh>>2]=zh,Wh=Gh+(ia<<2)|0,jh=e[Wh>>2]|0,ol=_A+508|0,e[ol>>2]=jh,Xh=Ph+(ia<<3)|0,eu=+A1[Xh>>3],Al=_A+512|0,A1[Al>>3]=eu),Ut||(tu=+A1[xe>>3],ra=_6+96|0,Uo=e[ra>>2]|0,na=_6+104|0,iu=e[na>>2]|0,ru=e[di>>2]|0,sa=e[g0>>2]|0,$l=sa+2860|0,ll=e[$l>>2]|0,oa=~~tu,cl=sa+28|0,Po=e[cl>>2]|0,nu=(Po|0)>2,nu||(e[cl>>2]=3),su=(ll|0)==0,su?(gl=n4(1,520)|0,e[$l>>2]=gl,xA=gl):xA=ll,s4(xA|0,25784,520)|0,e[xA>>2]=1,ou=sa+3460|0,Au=e[ou>>2]|0,au=(Au|0)==0,au||($u=xA+500|0,e[$u>>2]=1,ul=Uo+(oa<<2)|0,fl=e[ul>>2]|0,dl=xA+504|0,e[dl>>2]=fl,Il=iu+(oa<<2)|0,El=e[Il>>2]|0,dn=xA+508|0,e[dn>>2]=El,lu=ru+(oa<<3)|0,ml=+A1[lu>>3],Cl=xA+512|0,A1[Cl>>3]=ml),pl=+A1[xe>>3],gu=e[ra>>2]|0,hu=e[na>>2]|0,uu=e[di>>2]|0,Aa=e[g0>>2]|0,Bl=Aa+2864|0,Ql=e[Bl>>2]|0,us=~~pl,yl=Aa+28|0,fu=e[yl>>2]|0,wl=(fu|0)>3,wl||(e[yl>>2]=4),du=(Ql|0)==0,du?(vl=n4(1,520)|0,e[Bl>>2]=vl,LA=vl):LA=Ql,s4(LA|0,25784,520)|0,e[LA>>2]=1,Iu=Aa+3460|0,Eu=e[Iu>>2]|0,kl=(Eu|0)==0,kl||(Sl=LA+500|0,e[Sl>>2]=1,mu=gu+(us<<2)|0,Oo=e[mu>>2]|0,$a=LA+504|0,e[$a>>2]=Oo,bl=hu+(us<<2)|0,Dl=e[bl>>2]|0,pu=LA+508|0,e[pu>>2]=Dl,Bu=uu+(us<<3)|0,Qu=+A1[Bu>>3],yu=LA+512|0,A1[yu>>3]=Qu)),wu=(j+3528|0)+(n<<5)|0,vu=+A1[wu>>3],qo=_6+32|0,Ll=e[qo>>2]|0,Ho=_6+36|0,ku=e[Ho>>2]|0,Rl=_6+44|0,Su=e[Rl>>2]|0,Xm(t,vu,0,Ll,ku,Su),Fl=j+3560|0,bu=+A1[Fl>>3],Du=e[qo>>2]|0,Ml=e[Ho>>2]|0,la=_6+52|0,xu=e[la>>2]|0,Xm(t,bu,1,Du,Ml,xu),Ut||(Yo=j+3592|0,Lu=+A1[Yo>>3],Jo=e[qo>>2]|0,Ru=e[Ho>>2]|0,ca=e[la>>2]|0,Xm(t,Lu,2,Jo,Ru,ca),Fu=j+3624|0,Mu=+A1[Fu>>3],Tu=e[qo>>2]|0,Tl=e[Ho>>2]|0,Gu=_6+48|0,Uu=e[Gu>>2]|0,Xm(t,Mu,3,Tu,Tl,Uu)),Pu=((j+3528|0)+(n<<5)|0)+24|0,Nl=+A1[Pu>>3],Gl=_6+80|0,rr=e[Gl>>2]|0,Ul=_6+84|0,Vo=e[Ul>>2]|0,ga=~~Nl,ha=+(ga|0),Pl=Nl-ha,En=e[g0>>2]|0,Ou=En+2852|0,Ol=e[Ou>>2]|0,qu=Vo+(ga<<3)|0,Hu=+A1[qu>>3],Yu=1-Pl,Ju=Hu*Yu,Ko=ga+1|0,ua=Vo+(Ko<<3)|0,Vu=+A1[ua>>3],Ku=Vu*Pl,ql=Ku+Ju,fa=~~ql,Hl=+(fa|0),Yl=ql-Hl,zu=Yl==0,Jl=(fa|0)>0,Sp=Jl&zu,a=Sp?1:Yl,Zu=Sp<<31>>31,M=Zu+fa|0,da=1-a,ju=M+1|0,sh=0;P9=(rr+(M*160|0)|0)+(sh<<2)|0,Xu=e[P9>>2]|0,Vl=+(Xu|0),ef=Vl*da,tf=(rr+(ju*160|0)|0)+(sh<<2)|0,Ia=e[tf>>2]|0,rf=+(Ia|0),Ea=rf*a,Kl=Ea+ef,sf=Kl,zl=(Ol+336|0)+(sh<<2)|0,s[zl>>2]=sf,Zl=sh+1|0,LQ=(Zl|0)==40,!LQ;)sh=Zl;for(of=j+3584|0,ma=+A1[of>>3],Ca=~~ma,Wl=+(Ca|0),jl=ma-Wl,Af=En+2856|0,Xl=e[Af>>2]|0,af=Vo+(Ca<<3)|0,ec=+A1[af>>3],$f=1-jl,lf=ec*$f,cf=Ca+1|0,gf=Vo+(cf<<3)|0,tc=+A1[gf>>3],ic=tc*jl,Ba=ic+lf,zo=~~Ba,hf=+(zo|0),nc=Ba-hf,sc=nc==0,uf=(zo|0)>0,bp=uf&sc,g=bp?1:nc,ff=bp<<31>>31,T=ff+zo|0,df=1-g,oc=T+1|0,oh=0;If=(rr+(T*160|0)|0)+(oh<<2)|0,Ef=e[If>>2]|0,mf=+(Ef|0),pf=mf*df,Bf=(rr+(oc*160|0)|0)+(oh<<2)|0,Ac=e[Bf>>2]|0,Qf=+(Ac|0),ac=Qf*g,yf=ac+pf,mn=yf,wf=(Xl+336|0)+(oh<<2)|0,s[wf>>2]=mn,$c=oh+1|0,RQ=($c|0)==40,!RQ;)oh=$c;if(!Ut){for(vf=j+3616|0,Qa=+A1[vf>>3],kf=_6+88|0,Zo=e[kf>>2]|0,ya=~~Qa,Sf=+(ya|0),wa=Qa-Sf,cc=En+2860|0,bf=e[cc>>2]|0,Df=Zo+(ya<<3)|0,_f=+A1[Df>>3],Lf=1-wa,gc=_f*Lf,Rf=ya+1|0,Ff=Zo+(Rf<<3)|0,Mf=+A1[Ff>>3],Wo=Mf*wa,ds=Wo+gc,va=~~ds,Tf=+(va|0),ka=ds-Tf,Gf=ka==0,Uf=(va|0)>0,Dp=Uf&Gf,u=Dp?1:ka,hc=Dp<<31>>31,N=hc+va|0,Pf=1-u,Of=N+1|0,Ah=0;qf=(rr+(N*160|0)|0)+(Ah<<2)|0,Hf=e[qf>>2]|0,Yf=+(Hf|0),jo=Yf*Pf,Jf=(rr+(Of*160|0)|0)+(Ah<<2)|0,uc=e[Jf>>2]|0,Kf=+(uc|0),zf=Kf*u,Zf=zf+jo,Wf=Zf,Ei=(bf+336|0)+(Ah<<2)|0,s[Ei>>2]=Wf,fc=Ah+1|0,FQ=(fc|0)==40,!FQ;)Ah=fc;for(mi=j+3648|0,dc=+A1[mi>>3],Sa=~~dc,X7=+(Sa|0),Is=dc-X7,Xf=En+2864|0,ed=e[Xf>>2]|0,td=Zo+(Sa<<3)|0,id=+A1[td>>3],rd=1-Is,Ic=id*rd,nd=Sa+1|0,sd=Zo+(nd<<3)|0,od=+A1[sd>>3],Ad=od*Is,Es=Ad+Ic,ba=~~Es,ad=+(ba|0),mc=Es-ad,$d=mc==0,ld=(ba|0)>0,_p=ld&$d,E=_p?1:mc,Xo=_p<<31>>31,G=Xo+ba|0,cd=1-E,Cc=G+1|0,ah=0;pc=(rr+(G*160|0)|0)+(ah<<2)|0,hd=e[pc>>2]|0,ud=+(hd|0),Cn=ud*cd,fd=(rr+(Cc*160|0)|0)+(ah<<2)|0,dd=e[fd>>2]|0,pn=+(dd|0),Id=pn*E,Bc=Id+Cn,md=Bc,ms=(ed+336|0)+(ah<<2)|0,s[ms>>2]=md,Qc=ah+1|0,MQ=(Qc|0)==40,!MQ;)ah=Qc}for(Cd=((j+3528|0)+(n<<5)|0)+8|0,yc=+A1[Cd>>3],pd=_6+40|0,nr=e[pd>>2]|0,Da=~~yc,Bd=+(Da|0),wc=yc-Bd,Qd=nr+(Da<<2)|0,yd=e[Qd>>2]|0,kc=+(yd|0),wd=1-wc,vd=kc*wd,kd=Da+1|0,Sc=nr+(kd<<2)|0,Sd=e[Sc>>2]|0,Cs=+(Sd|0),bd=Cs*wc,Dd=bd+vd,_d=Dd,_a=Ol+32|0,s[_a>>2]=_d,xd=j+3568|0,xa=+A1[xd>>3],La=~~xa,Ld=+(La|0),bc=xa-Ld,Dc=nr+(La<<2)|0,Rd=e[Dc>>2]|0,Lc=+(Rd|0),Fd=1-bc,Rc=Lc*Fd,Fc=La+1|0,Md=nr+(Fc<<2)|0,Td=e[Md>>2]|0,Mc=+(Td|0),Tc=Mc*bc,Nd=Tc+Rc,Nc=Nd,Gd=Xl+32|0,s[Gd>>2]=Nc,Ut||(Ud=j+3600|0,Uc=+A1[Ud>>3],Ra=~~Uc,Pc=+(Ra|0),Oc=Uc-Pc,qc=En+2860|0,Hc=e[qc>>2]|0,Pd=nr+(Ra<<2)|0,Od=e[Pd>>2]|0,Hd=+(Od|0),Yd=1-Oc,Jd=Hd*Yd,Vd=Ra+1|0,Kd=nr+(Vd<<2)|0,Yc=e[Kd>>2]|0,Fa=+(Yc|0),zd=Fa*Oc,Zd=zd+Jd,Wd=Zd,Vc=Hc+32|0,s[Vc>>2]=Wd,jd=j+3632|0,Kc=+A1[jd>>3],Ma=~~Kc,eA=+(Ma|0),zc=Kc-eA,Xd=En+2864|0,eI=e[Xd>>2]|0,tI=nr+(Ma<<2)|0,iI=e[tI>>2]|0,tA=+(iI|0),rI=1-zc,nI=tA*rI,sI=Ma+1|0,oI=nr+(sI<<2)|0,AI=e[oI>>2]|0,aI=+(AI|0),$I=aI*zc,lI=$I+nI,Wc=lI,gI=eI+32|0,s[gI>>2]=Wc),hI=((j+3528|0)+(n<<5)|0)+16|0,uI=+A1[hI>>3],iA=_6+76|0,jc=e[iA>>2]|0,fI=_6+60|0,dI=e[fI>>2]|0,Qn=_6+56|0,Xc=e[Qn>>2]|0,_l?tg=0:(eg=j+3408|0,II=+A1[eg>>3],tg=II),eC(t,uI,0,jc,dI,Xc,tg),EI=j+3576|0,ig=+A1[EI>>3],rg=e[iA>>2]|0,mI=_6+64|0,CI=e[mI>>2]|0,pI=e[Qn>>2]|0,eC(t,ig,1,rg,CI,pI,0),Ut?(ps=e[g0>>2]|0,HI=ps+2852|0,fg=e[HI>>2]|0,YI=ps+3496|0,Ua=+A1[YI>>3],dg=Ua,JI=fg+4|0,s[JI>>2]=dg,KI=ps+3504|0,zI=+A1[KI>>3],Ig=zI,ZI=fg+8|0,s[ZI>>2]=Ig,WI=ps+2856|0,Eg=e[WI>>2]|0,AA=Eg+4|0,s[AA>>2]=dg,jI=Eg+8|0,s[jI>>2]=Ig,sr=ps):(BI=j+3608|0,QI=+A1[BI>>3],Na=e[iA>>2]|0,yI=_6+68|0,wI=e[yI>>2]|0,vI=e[Qn>>2]|0,eC(t,QI,2,Na,wI,vI,0),kI=j+3640|0,ng=+A1[kI>>3],SI=e[iA>>2]|0,sg=_6+72|0,bI=e[sg>>2]|0,DI=e[Qn>>2]|0,eC(t,ng,3,SI,bI,DI,0),Dr=e[g0>>2]|0,Ag=Dr+2852|0,ag=e[Ag>>2]|0,_I=Dr+3496|0,$g=+A1[_I>>3],nA=$g,xI=ag+4|0,s[xI>>2]=nA,LI=Dr+3504|0,RI=+A1[LI>>3],sA=RI,FI=ag+8|0,s[FI>>2]=sA,MI=Dr+2856|0,cg=e[MI>>2]|0,TI=cg+4|0,s[TI>>2]=nA,NI=cg+8|0,s[NI>>2]=sA,Ga=Dr+2860|0,oA=e[Ga>>2]|0,GI=oA+4|0,s[GI>>2]=nA,UI=oA+8|0,s[UI>>2]=sA,PI=Dr+2864|0,ug=e[PI>>2]|0,OI=ug+4|0,s[OI>>2]=nA,qI=ug+8|0,s[qI>>2]=sA,sr=Dr),XI=+A1[xe>>3],eE=_6+152|0,mg=e[eE>>2]|0,Cg=~~XI,tE=mg+(Cg<<3)|0,pg=e[tE>>2]|0,Bg=(mg+(Cg<<3)|0)+4|0,bi=e[Bg>>2]|0,Qg=e[sr>>2]|0,iE=sr+4|0,rE=e[iE>>2]|0,sE=(Qg|0)==(rE|0),A=sE?1:2,Pa=sr+8|0,aA=sr+12|0,yg=t+8|0,wg=t+4|0,pi=0;;){if(oE=n4(1,3208)|0,$A=(sr+544|0)+(pi<<2)|0,e[$A>>2]=oE,Qs=n4(1,16)|0,AE=(sr+32|0)+(pi<<2)|0,e[AE>>2]=Qs,lA=26304+(pi<<4)|0,e[Qs>>2]=e[lA>>2]|0,e[Qs+4>>2]=e[lA+4>>2]|0,e[Qs+8>>2]=e[lA+8>>2]|0,e[Qs+12>>2]=e[lA+12>>2]|0,aE=e[Pa>>2]|0,qa=(pi|0)<(aE|0),qa||($E=pi+1|0,e[Pa>>2]=$E),lE=(sr+288|0)+(pi<<2)|0,e[lE>>2]=0,vg=e[$A>>2]|0,cA=pg+(pi*3208|0)|0,s4(vg|0,cA|0,3208)|0,kg=e[aA>>2]|0,cE=(pi|0)<(kg|0),cE||(gE=pi+1|0,e[aA>>2]=gE),hE=e[cA>>2]|0,Sg=(hE|0)>0,Sg)for($C=0;;){fE=((pg+(pi*3208|0)|0)+1092|0)+($C<<2)|0,jt=e[fE>>2]|0,y4=e[g0>>2]|0,ei=S9(2840)|0,dE=(y4+1568|0)+(jt<<2)|0,e[dE>>2]=ei,bg=(bi+(jt<<5)|0)+12|0,Dg=e[bg>>2]|0,s4(ei|0,Dg|0,2840)|0,Ha=y4+20|0,IE=e[Ha>>2]|0,ys=(IE|0)>(jt|0),ys||(EE=jt+1|0,e[Ha>>2]=EE),mE=(bi+(jt<<5)|0)+8|0,_g=e[mE>>2]|0,Ya=ei+8|0,e[Ya>>2]=_g,CE=bi+(jt<<5)|0,xg=e[CE>>2]|0,Lg=(y4+1312|0)+(jt<<2)|0,e[Lg>>2]=xg,Rg=y4+3420|0,Ja=e[Rg>>2]|0,Fg=(Ja|0)==0,ws=ei+12|0,Ka=e[ws>>2]|0,Mg=(Ka|0)>0;do if(Fg){if(Mg)for(Tg=(bi+(jt<<5)|0)+24|0,gA=e[Tg>>2]|0,QE=ei+24|0,bA=0;;)if(ar=QE+(bA<<2)|0,vn=gA+(bA<<4)|0,_7=e[vn>>2]|0,x7=(_7|0)==0,x7||(L7=e[ar>>2]|0,IA=L7|1,e[ar>>2]=IA),EA=(gA+(bA<<4)|0)+4|0,Kg=e[EA>>2]|0,zg=(Kg|0)==0,zg||(v2=e[ar>>2]|0,m5=v2|2,e[ar>>2]=m5),n5=(gA+(bA<<4)|0)+8|0,x2=e[n5>>2]|0,_2=(x2|0)==0,_2||(p2=e[ar>>2]|0,C5=p2|4,e[ar>>2]=C5),d5=(gA+(bA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[ar>>2]|0,q2=_5|8,e[ar>>2]=q2),I5=bA+1|0,A5=e[ws>>2]|0,c5=(I5|0)<(A5|0),c5)bA=I5;else{QA=A5;break}else QA=Ka;mA=(bi+(jt<<5)|0)+16|0,r$=e[mA>>2]|0,R7=y4+24|0,Rr=e[R7>>2]|0,n$=(Rr|0)>0,JE=r$;e:do if(n$)for(mm=0;;){if(s$=(y4+1824|0)+(mm<<2)|0,VE=e[s$>>2]|0,o$=(VE|0)==(r$|0),o$){x=mm;break e}if(Zg=mm+1|0,pA=(Zg|0)<(Rr|0),pA)mm=Zg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,KE=Rr+1|0,e[R7>>2]=KE,x=Rr),zE=ei+20|0,e[zE>>2]=x,ZE=(y4+1824|0)+(x<<2)|0,e[ZE>>2]=JE,kn=(QA|0)>0,!kn)break;for(Ke=(bi+(jt<<5)|0)+24|0,k4=ei+280|0,Nr=0,E$=0;;){if(Wg=e[Ke>>2]|0,WE=Wg+(E$<<4)|0,A$=e[WE>>2]|0,jg=(A$|0)==0,jE=A$,jg)bs=Wg,am=Nr;else{yA=e[R7>>2]|0,em=(yA|0)>0;e:do if(em)for(um=0;;){if(tm=(y4+1824|0)+(um<<2)|0,im=e[tm>>2]|0,rm=(im|0)==(A$|0),rm){L=um;break e}if(Xg=um+1|0,nm=(Xg|0)<(yA|0),nm)um=Xg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,sm=yA+1|0,e[R7>>2]=sm,L=yA),om=Nr+1|0,ti=k4+(Nr<<2)|0,e[ti>>2]=L,Sn=(y4+1824|0)+(L<<2)|0,e[Sn>>2]=jE,s0=e[Ke>>2]|0,bs=s0,am=om}if(a$=(bs+(E$<<4)|0)+4|0,Ds=e[a$>>2]|0,Xt=(Ds|0)==0,_s=Ds,Xt)E2=bs,Y4=am;else{V1=e[R7>>2]|0,O1=(V1|0)>0;e:do if(O1)for(cm=0;;){if(q1=(y4+1824|0)+(cm<<2)|0,Y1=e[q1>>2]|0,j1=(Y1|0)==(Ds|0),j1){D=cm;break e}if(n2=cm+1|0,W1=(n2|0)<(V1|0),W1)cm=n2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=V1+1|0,e[R7>>2]=P1,D=V1),c2=am+1|0,z1=k4+(am<<2)|0,e[z1>>2]=D,u2=(y4+1824|0)+(D<<2)|0,e[u2>>2]=_s,i0=e[Ke>>2]|0,E2=i0,Y4=c2}if(o2=(E2+(E$<<4)|0)+8|0,K1=e[o2>>2]|0,h2=(K1|0)==0,$2=K1,h2)D2=E2,f$=Y4;else{i2=e[R7>>2]|0,l2=(i2|0)>0;e:do if(l2)for(gm=0;;){if(r2=(y4+1824|0)+(gm<<2)|0,a2=e[r2>>2]|0,X1=(a2|0)==(K1|0),X1){Q=gm;break e}if(s2=gm+1|0,f2=(s2|0)<(i2|0),f2)gm=s2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=i2+1|0,e[R7>>2]=y2,Q=i2),k2=Y4+1|0,w2=k4+(Y4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=$2,V=e[Ke>>2]|0,D2=V,f$=k2}if(F2=(D2+(E$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,K2=N2,d2)Bp=f$;else{G2=e[R7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(hm=0;;){if(P2=(y4+1824|0)+(hm<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=hm;break e}if(O2=hm+1|0,T1=(O2|0)<(G2|0),T1)hm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[R7>>2]=X2,_=G2),L5=f$+1|0,e5=k4+(f$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=K2,Bp=L5}if(k5=E$+1|0,P5=e[ws>>2]|0,l5=(k5|0)<(P5|0),l5)Nr=Bp,E$=k5;else break}}else{if(Mg)for(pE=(bi+(jt<<5)|0)+28|0,yn=e[pE>>2]|0,BE=ei+24|0,SA=0;;)if(Di=BE+(SA<<2)|0,yE=yn+(SA<<4)|0,wE=e[yE>>2]|0,vE=(wE|0)==0,vE||(kE=e[Di>>2]|0,SE=kE|1,e[Di>>2]=SE),bE=(yn+(SA<<4)|0)+4|0,_i=e[bE>>2]|0,DE=(_i|0)==0,DE||(o6=e[Di>>2]|0,e3=o6|2,e[Di>>2]=e3),A3=(yn+(SA<<4)|0)+8|0,R3=e[A3>>2]|0,u6=(R3|0)==0,u6||(Q3=e[Di>>2]|0,y3=Q3|4,e[Di>>2]=y3),r6=(yn+(SA<<4)|0)+12|0,j3=e[r6>>2]|0,O3=(j3|0)==0,O3||(V5=e[Di>>2]|0,S3=V5|8,e[Di>>2]=S3),g3=SA+1|0,q3=e[ws>>2]|0,l6=(g3|0)<(q3|0),l6)SA=g3;else{Jg=q3;break}else Jg=Ka;_E=(bi+(jt<<5)|0)+20|0,Gg=e[_E>>2]|0,Ci=y4+24|0,hA=e[Ci>>2]|0,za=(hA|0)>0,Ug=Gg;e:do if(za)for(lm=0;;){if(Pg=(y4+1824|0)+(lm<<2)|0,LE=e[Pg>>2]|0,Og=(LE|0)==(Gg|0),Og){p=lm;break e}if(qg=lm+1|0,RE=(qg|0)<(hA|0),RE)lm=qg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Yg=hA+1|0,e[Ci>>2]=Yg,p=hA),ME=ei+20|0,e[ME>>2]=p,TE=(y4+1824|0)+(p<<2)|0,e[TE>>2]=Ug,NE=(Jg|0)>0,!NE)break;for(vs=(bi+(jt<<5)|0)+28|0,uA=ei+280|0,Ms=0,d$=0;;){if(fA=e[vs>>2]|0,GE=fA+(d$<<4)|0,Za=e[GE>>2]|0,PE=(Za|0)==0,Vg=Za,PE)Ss=fA,_n=Ms;else{ks=e[Ci>>2]|0,OE=(ks|0)>0;e:do if(OE)for(Em=0;;){if(qE=(y4+1824|0)+(Em<<2)|0,Wa=e[qE>>2]|0,ja=(Wa|0)==(Za|0),ja){y=Em;break e}if(dA=Em+1|0,Xa=(dA|0)<(ks|0),Xa)Em=dA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,e$=ks+1|0,e[Ci>>2]=e$,y=ks),xr=Ms+1|0,Lr=uA+(Ms<<2)|0,e[Lr>>2]=y,t$=(y4+1824|0)+(y<<2)|0,e[t$>>2]=Vg,q=e[vs>>2]|0,Ss=q,_n=xr}if(i$=(Ss+(d$<<4)|0)+4|0,Ar=e[i$>>2]|0,wn=(Ar|0)==0,HE=Ar,wn)x5=Ss,bn=_n;else{p5=e[Ci>>2]|0,M1=(p5|0)>0;e:do if(M1)for(fm=0;;){if(g5=(y4+1824|0)+(fm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(Ar|0),W2){S=fm;break e}if(g2=fm+1|0,B5=(g2|0)<(p5|0),B5)fm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=p5+1|0,e[Ci>>2]=t5,S=p5),s5=_n+1|0,h5=uA+(_n<<2)|0,e[h5>>2]=S,J2=(y4+1824|0)+(S<<2)|0,e[J2>>2]=HE,K=e[vs>>2]|0,x5=K,bn=s5}if(u5=(x5+(d$<<4)|0)+8|0,j2=e[u5>>2]|0,$5=(j2|0)==0,L2=j2,$5)u3=x5,Dn=bn;else{Q5=e[Ci>>2]|0,q5=(Q5|0)>0;e:do if(q5)for(dm=0;;){if(j5=(y4+1824|0)+(dm<<2)|0,E5=e[j5>>2]|0,f3=(E5|0)==(j2|0),f3){b=dm;break e}if(h3=dm+1|0,X5=(h3|0)<(Q5|0),X5)dm=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[Ci>>2]=n3,b=Q5),m3=bn+1|0,F5=uA+(bn<<2)|0,e[F5>>2]=b,J5=(y4+1824|0)+(b<<2)|0,e[J5>>2]=L2,$0=e[vs>>2]|0,u3=$0,Dn=m3}if(v3=(u3+(d$<<4)|0)+12|0,B3=e[v3>>2]|0,z3=(B3|0)==0,G3=B3,z3)F9=Dn;else{w3=e[Ci>>2]|0,W5=(w3|0)>0;e:do if(W5)for(Im=0;;){if(i6=(y4+1824|0)+(Im<<2)|0,L3=e[i6>>2]|0,U3=(L3|0)==(B3|0),U3){w=Im;break e}if(a3=Im+1|0,l3=(a3|0)<(w3|0),l3)Im=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=w3+1|0,e[Ci>>2]=c3,w=w3),C3=Dn+1|0,H5=uA+(Dn<<2)|0,e[H5>>2]=w,O5=(y4+1824|0)+(w<<2)|0,e[O5>>2]=G3,F9=C3}if(v5=d$+1|0,P3=e[ws>>2]|0,M5=(v5|0)<(P3|0),M5)Ms=F9,d$=v5;else break}}while(!1);eh=y4+3480|0,th=+A1[eh>>3],vA=th*1e3,xs=(y4+1056|0)+(pi<<2)|0,Rs=e[xs>>2]|0,Am=e[yg>>2]|0,Fs=+(Am|0),$r=Fs*.5,ih=y4+(pi<<2)|0,Fr=e[ih>>2]|0,ii=Fr>>1,$$=vA>$r,yp=$$?$r:vA,l$=yp/$r,Ji=+(ii|0),g$=Ji*l$,h$=~~g$,Mr=Rs+1116|0,e[Mr>>2]=h$,$6=(bi+(jt<<5)|0)+4|0,kA=e[$6>>2]|0;do if((kA|0)==2)nh=250;else if((kA|0)==1){if(Tr=e[Rg>>2]|0,rh=(Tr|0)==0,ke=y4+2996|0,u$=y4+2968|0,JQ=rh?u$:ke,YQ=e[JQ>>2]|0,HQ=+(YQ|0),wp=HQ*1e3,Q8=wp>$r,!Q8){nh=wp;break}nh=$r}else nh=yp;while(!1);I0=e[Lg>>2]|0,w0=(I0|0)==2;do if(w0){if(C0=y4+12|0,v0=e[C0>>2]|0,d0=(v0|0)>0,d0)for(aC=0;;){if(p0=(y4+544|0)+(aC<<2)|0,B0=e[p0>>2]|0,E0=e[B0>>2]|0,b0=(E0|0)>0,b0)for(pm=0;;){K0=(B0+1092|0)+(pm<<2)|0,Q0=e[K0>>2]|0,M0=(Q0|0)==(jt|0);do if(M0){if(T0=e[wg>>2]|0,G0=(T0|0)>0,G0)Qp=0,cC=0;else{$m=0;break}for(;;)if(P0=(B0+4|0)+(cC<<2)|0,y0=e[P0>>2]|0,Y0=(y0|0)==(pm|0),F0=Y0&1,O=F0+Qp|0,_0=cC+1|0,xQ=(_0|0)==(T0|0),xQ){$m=O;break}else Qp=O,cC=_0}else $m=0;while(!1);if(N0=pm+1|0,J0=(N0|0)<(E0|0),O0=($m|0)==0,z0=J0&O0,z0)pm=N0;else{sC=$m;break}}else sC=0;if(U0=aC+1|0,q0=(U0|0)<(v0|0),r1=(sC|0)==0,H0=q0&r1,H0)aC=U0;else{nC=sC;break}}else nC=0;if(e1=nh/$r,D0=+(nC|0),i1=D0*Ji,$1=i1*e1,u1=e[Ya>>2]|0,g1=+(u1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,u1)|0,o1=ei+4|0,e[o1>>2]=n1,Z0=r5(nC,ii)|0,I1=(n1|0)>(Z0|0),!I1){U=o1,Z1=n1,_1=u1;break}m1=(Z0|0)%(u1|0)&-1,d1=Z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,_1=u1}else{if(E1=nh/$r,p1=E1*Ji,B1=e[Ya>>2]|0,Q1=+(B1|0),x1=p1/Q1,L1=x1+.9,w1=~~L1,b1=r5(w1,B1)|0,F1=ei+4|0,e[F1>>2]=b1,G1=(b1|0)>(ii|0),!G1){U=F1,Z1=b1,_1=B1;break}v1=(ii|0)%(B1|0)&-1,U1=ii-v1|0,e[F1>>2]=U1,U=F1,Z1=U1,_1=B1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=_1),d3=$C+1|0,k6=e[cA>>2]|0,S6=(d3|0)<(k6|0),S6)$C=d3;else break}if(p6=pi+1|0,X3=(p6|0)<(A|0),X3)pi=p6;else break}return c6=j+3428|0,B6=e[c6>>2]|0,x6=(B6|0)>0,x6?(Y6=t+16|0,e[Y6>>2]=B6):(C6=e[g0>>2]|0,b3=C6+3396|0,t6=e[b3>>2]|0,f6=C6+3400|0,H3=+A1[f6>>3],D3=~~H3,Y3=+(D3|0),Z3=H3-Y3,b6=t6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?B=-1:(O6=e[wg>>2]|0,d6=A6+(D3<<3)|0,_3=+A1[d6>>3],N6=1-Z3,n6=_3*N6,Q6=D3+1|0,L6=A6+(Q6<<3)|0,K6=+A1[L6>>3],I6=K6*Z3,J6=I6+n6,F3=+(O6|0),G6=J6*F3,VQ=~~G6,B=VQ),e9=t+16|0,e[e9>>2]=B),s9=j+3424|0,R6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=R6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(B6|0)==0,F6?o0=0:(M3=j+3444|0,t9=e[M3>>2]|0,A9=+(t9|0),X6=+(B6|0),u9=A9/X6,f9=~~u9,o0=f9),d9=t+24|0,e[d9>>2]=o0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[D6>>2]|0,o4=j+3368|0,e[o4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,b9=j+3448|0,E9=+A1[b9>>3],r9=j+3376|0,A1[r9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function $b(t,n,A,a){t=t|0,n=n|0,A=A|0,a=+a;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0;if(O=C,I=(A|0)<1,I)u=-131;else if(m=t+28|0,Q=e[m>>2]|0,_=a,L=_+1e-7,x=L,F=!(x>=1),E=F?x:.9998999834060669,M=Q+3416|0,s[M>>2]=E,T=E,N=Q+3400|0,B=lb(n,A,T,0,N)|0,p=Q+3396|0,e[p>>2]=B,S=(B|0)==0,S)u=-130;else return cb(t,n,A),b=Q+3420|0,e[b>>2]=0,w=Q+3464|0,e[w>>2]=1,y=ab(t)|0,D=(y|0)==0,D?(g=0,g|0):(gp(t),g=y,g|0);return gp(t),g=u,g|0}function Xm(t,n,A,a,g,u){t=t|0,n=+n,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0;for(p1=C,E=~~n,I=+(E|0),L=n-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(A<<2)|0,T0=e[C0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),m=1-L,B=h1*m,p=E+1|0,S=a+(p*20|0)|0,b=e[S>>2]|0,w=+(b|0),y=w*L,D=y+B,Q=D,_=T0+12|0,s[_>>2]=Q,x=(a+(E*20|0)|0)+4|0,F=e[x>>2]|0,M=+(F|0),T=M*m,N=(a+(p*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*L,Y=z+T,t0=Y,W=T0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,q=e[e0>>2]|0,X=+(q|0),U=X*m,l0=(a+(p*20|0)|0)+8|0,Z=e[l0>>2]|0,K=+(Z|0),$0=K*L,s0=$0+U,n0=s0,V=T0+20|0,s[V>>2]=n0,h0=(a+(E*20|0)|0)+12|0,o0=+s[h0>>2],g0=o0,j=g0*m,c0=(a+(p*20|0)|0)+12|0,u0=+s[c0>>2],I0=u0,w0=I0*L,v0=w0+j,d0=v0,p0=T0+24|0,s[p0>>2]=d0,B0=(a+(E*20|0)|0)+16|0,E0=+s[B0>>2],b0=E0,K0=b0*m,x0=(a+(p*20|0)|0)+16|0,Q0=+s[x0>>2],M0=Q0,G0=M0*L,P0=G0+K0,y0=P0,Y0=T0+28|0,s[Y0>>2]=y0,F0=g+(E<<2)|0,_0=e[F0>>2]|0,N0=+(_0|0),V0=N0*m,J0=g+(p<<2)|0,O0=e[J0>>2]|0,U0=+(O0|0),q0=U0*L,r1=q0+V0,H0=r1,e1=T0+496|0,s[e1>>2]=H0,d1=0;D0=(u+(E*68|0)|0)+(d1<<2)|0,i1=e[D0>>2]|0,c1=+(i1|0),$1=c1*m,u1=(u+(p*68|0)|0)+(d1<<2)|0,l1=e[u1>>2]|0,s1=+(l1|0),a1=s1*L,n1=a1+$1,o1=n1,Z0=(T0+36|0)+(d1<<2)|0,s[Z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function eC(t,n,A,a,g,u,E){t=t|0,n=+n,A=A|0,a=a|0,g=g|0,u=u|0,E=+E;var I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0;for(w2=C,w=~~n,y=+(w|0),l0=n-y,j=t+28|0,b0=e[j>>2]|0,_0=(b0+2852|0)+(A<<2)|0,D0=e[_0>>2]|0,Z0=a+(w<<2)|0,w1=e[Z0>>2]|0,O1=+(w1|0),D=1-l0,z=O1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*l0,q=e0+z,X=q,U=D0+108|0,s[U>>2]=X,Z=u+(A*12|0)|0,K=e[Z>>2]|0,$0=D0+120|0,e[$0>>2]=K,s0=(u+(A*12|0)|0)+4|0,i0=e[s0>>2]|0,n0=D0+124|0,e[n0>>2]=i0,V=(u+(A*12|0)|0)+8|0,h0=e[V>>2]|0,o0=D0+128|0,e[o0>>2]=h0,i2=0;;)if(g0=(g+(w*204|0)|0)+(i2<<2)|0,c0=e[g0>>2]|0,u0=+(c0|0),I0=u0*D,w0=(g+(Y*204|0)|0)+(i2<<2)|0,C0=e[w0>>2]|0,v0=+(C0|0),d0=v0*l0,p0=d0+I0,B0=p0,E0=(D0+132|0)+(i2<<2)|0,s[E0>>2]=B0,K0=i2+1|0,K1=(K0|0)==17,K1){l2=0;break}else i2=K0;for(;;)if(L1=((g+(w*204|0)|0)+68|0)+(l2<<2)|0,b1=e[L1>>2]|0,R1=+(b1|0),F1=R1*D,G1=((g+(Y*204|0)|0)+68|0)+(l2<<2)|0,v1=e[G1>>2]|0,U1=+(v1|0),Z1=U1*l0,N1=Z1+F1,_1=N1,V1=(D0+200|0)+(l2<<2)|0,s[V1>>2]=_1,q1=l2+1|0,h2=(q1|0)==17,h2){r2=0;break}else l2=q1;for(;H1=((g+(w*204|0)|0)+136|0)+(r2<<2)|0,Y1=e[H1>>2]|0,j1=+(Y1|0),n2=j1*D,W1=((g+(Y*204|0)|0)+136|0)+(r2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*l0,u2=z1+n2,Q=u2,_=(D0+268|0)+(r2<<2)|0,s[_>>2]=Q,L=r2+1|0,$2=(L|0)==17,!$2;)r2=L;for(x=D0+132|0,F=+s[x>>2],y0=F+6,M=D0+132|0,T=F,N=T+E,G=N,O=G>2]=y2,x0=1;I=(D0+132|0)+(x0<<2)|0,p=+s[I>>2],Q0=(D0+132|0)+(x0<<2)|0,M0=p,T0=M0+E,G0=T0,P0=G0>2]=a2,Y0=x0+1|0,o2=(Y0|0)==17,!o2;)x0=Y0;for(F0=D0+200|0,N0=+s[F0>>2],V0=N0+6,J0=D0+200|0,O0=N0,z0=O0+E,U0=z0,q0=U0>2]=s2,r1=1;m=(D0+200|0)+(r1<<2)|0,S=+s[m>>2],H0=(D0+200|0)+(r1<<2)|0,e1=S,i1=e1+E,c1=i1,$1=c1>2]=X1,u1=r1+1|0,E2=(u1|0)==17,!E2;)r1=u1;for(g1=D0+268|0,l1=+s[g1>>2],s1=l1+6,a1=D0+268|0,n1=l1,o1=n1+E,I1=o1,h1=I1>2]=t2,m1=1;B=(D0+268|0)+(m1<<2)|0,b=+s[B>>2],d1=(D0+268|0)+(m1<<2)|0,E1=b,p1=E1+E,B1=p1,Q1=B1>2]=f2,x1=m1+1|0,A2=(x1|0)==17,!A2;)m1=x1}function lb(t,n,A,a,g){t=t|0,n=n|0,A=+A,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0;Q1=C,w=(a|0)==0;e:do if(w){for(q=26336,Z0=0;;){if(e0=e[q>>2]|0,X=e0+12|0,U=e[X>>2]|0,l0=(U|0)==-1,K=(U|0)==(t|0),d1=l0|K,d1&&($0=e0+16|0,s0=e[$0>>2]|0,i0=(s0|0)>(n|0),!i0&&(n0=e0+20|0,V=e[n0>>2]|0,h0=(V|0)<(n|0),!h0&&(o0=e[e0>>2]|0,g0=e0+8|0,j=e[g0>>2]|0,u0=+A1[j>>3],I0=u0>A,!I0&&(v0=j+(o0<<3)|0,d0=+A1[v0>>3],p0=d0>2]|0,K0=Z+12|0,N0=e[K0>>2]|0,i1=(N0|0)==-1,s1=(N0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(n|0),!Q&&(_=Z+20|0,L=e[_>>2]|0,x=(L|0)<(n|0),!x&&(F=e[Z>>2]|0,M=Z+4|0,T=e[M>>2]|0,N=+A1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=F,m=c0,B=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){u=0;break}else c0=J,I1=o1}return u|0}while(!1);B0=(I|0)>0;e:do if(B0)for(b0=l1,m1=0;;){if(E0=!(E>=b0),b=m1+1|0,!E0&&(x0=B+(b<<3)|0,Q0=+A1[x0>>3],M0=E>3],b0=S,m1=b}else h1=0;while(!1);return G0=(h1|0)==(I|0),G0?(P0=+(I|0),y0=P0+-.001,p1=y0):(Y0=B+(h1<<3)|0,F0=+A1[Y0>>3],_0=F0,V0=h1+1|0,J0=B+(V0<<3)|0,O0=+A1[J0>>3],z0=O0,U0=_0,q0=E-U0,r1=z0-_0,H0=r1,e1=q0/H0,D0=e1,c1=+(h1|0),$1=D0+c1,u1=$1,p1=u1),A1[g>>3]=p1,g1=e[m>>2]|0,u=g1,u|0}function cb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0;D0=C,I=t+28|0,m=e[I>>2]|0,x=m+3396|0,W=e[x>>2]|0,e[t>>2]=0,n0=t+4|0,e[n0>>2]=n,v0=t+8|0,e[v0>>2]=A,G0=m+3456|0,e[G0>>2]=1,U0=m+3460|0,e[U0>>2]=1,r1=m+3400|0,H0=+A1[r1>>3],B=~~H0,p=+(B|0),S=H0-p,b=m+3472|0,A1[b>>3]=H0,w=m+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,L=_+(B<<3)|0,F=+A1[L>>3],M=1-S,T=F*M,N=B+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*S,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,g=N,u=M):(a=1-S,E=B+1|0,g=E,u=a),J=W+112|0,e0=e[J>>2]|0,q=e0+(B<<2)|0,X=e[q>>2]|0,U=+(X|0),l0=U*u,Z=e0+(g<<2)|0,K=e[Z>>2]|0,$0=+(K|0),s0=$0*S,i0=s0+l0,V=m+3496|0,A1[V>>3]=i0,h0=W+116|0,o0=e[h0>>2]|0,g0=o0+(B<<2)|0,j=e[g0>>2]|0,c0=+(j|0),u0=c0*u,I0=o0+(g<<2)|0,w0=e[I0>>2]|0,C0=+(w0|0),d0=C0*S,p0=d0+u0,B0=m+3504|0,A1[B0>>3]=p0,E0=m+3512|0,A1[E0>>3]=-6,b0=m+3520|0,A1[b0>>3]=H0,K0=m+3528|0,A1[K0>>3]=H0,x0=m+3536|0,A1[x0>>3]=H0,Q0=m+3544|0,A1[Q0>>3]=H0,M0=m+3552|0,A1[M0>>3]=H0,T0=m+3560|0,A1[T0>>3]=H0,P0=m+3568|0,A1[P0>>3]=H0,y0=m+3576|0,A1[y0>>3]=H0,Y0=m+3584|0,A1[Y0>>3]=H0,F0=m+3592|0,A1[F0>>3]=H0,_0=m+3600|0,A1[_0>>3]=H0,N0=m+3608|0,A1[N0>>3]=H0,V0=m+3616|0,A1[V0>>3]=H0,J0=m+3624|0,A1[J0>>3]=H0,O0=m+3632|0,A1[O0>>3]=H0,z0=m+3640|0,A1[z0>>3]=H0,q0=m+3648|0,A1[q0>>3]=H0}function gb(t,n,A,a,g,u){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0;var E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0;if(O0=C,I=(g|0)!=0,m=I?a:0,x=I?u:0,W=n+(m<<2)|0,n0=e[W>>2]|0,v0=520336+(n0<<2)|0,b0=e[v0>>2]|0,K0=n+(x<<2)|0,x0=e[K0>>2]|0,Q0=520336+(x0<<2)|0,B=e[Q0>>2]|0,p=A+(g<<2)|0,S=e[p>>2]|0,b=A+(m<<2)|0,w=e[b>>2]|0,y=A+(x<<2)|0,D=e[y>>2]|0,Q=(S|0)/4&-1,_=(w|0)/4&-1,L=Q-_|0,F=(w|0)/2&-1,M=L+F|0,T=(S|0)/2&-1,N=T+Q|0,E=(D|0)/-4&-1,G=N+E|0,O=(D|0)/2&-1,z=G+O|0,Y=(L|0)>0,Y?(t0=Q-_|0,J=t0<<2,Ae(t|0,0,J|0)|0,T0=L):T0=0,e0=(T0|0)<(M|0),e0)for(q=Q+F|0,X=q-T0|0,U=X-_|0,G0=T0,Y0=0;$0=b0+(Y0<<2)|0,s0=+s[$0>>2],i0=t+(G0<<2)|0,V=+s[i0>>2],h0=V*s0,s[i0>>2]=h0,o0=G0+1|0,g0=Y0+1|0,M0=(g0|0)==(U|0),!M0;)G0=o0,Y0=g0;if(l0=(D|0)>1,l0){for(Z=G+1|0,K=(z|0)>(Z|0),y0=G,_0=O;F0=_0+-1|0,I0=B+(F0<<2)|0,w0=+s[I0>>2],C0=t+(y0<<2)|0,d0=+s[C0>>2],p0=d0*w0,s[C0>>2]=p0,B0=y0+1|0,E0=(B0|0)<(z|0),E0;)y0=B0,_0=F0;V0=K?z:Z,P0=V0}else P0=G;j=(S|0)>(P0|0),j&&(N0=t+(P0<<2)|0,c0=S-P0|0,u0=c0<<2,Ae(N0|0,0,u0|0)|0)}function hb(t,n,A){t=t|0,n=+n,A=+A;var a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0;if(V=C,C=C+64|0,i0=V+32|0,s0=V,a=S9(688)|0,g=a+408|0,vS(g),D=~~n,$b(g,t,D,A)|0,z=a+440|0,QS(z),yS(z,553008,553016),X=a+456|0,tS(X,g)|0,U=a+568|0,Xk(X,U)|0,l0=VB(0)|0,Cb(l0),Z=pb()|0,Hk(a,Z)|0,K=a+680|0,e[K>>2]=0,$0=a+684|0,e[$0>>2]=0,u=a+360|0,kS(X,z,u,i0,s0)|0,Wm(a,u)|0,Wm(a,i0)|0,Wm(a,s0)|0,E=a+392|0,I=zB(a,E)|0,m=(I|0)==0,m)return C=V,a|0;for(B=a+396|0,p=a+404|0,S=a+400|0;b=e[$0>>2]|0,w=e[B>>2]|0,y=w+b|0,Q=e[p>>2]|0,_=y+Q|0,L=(_|0)==0,L||(M=e[K>>2]|0,T=qi(M,_)|0,e[K>>2]=T,N=e[$0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[B>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[$0>>2]=t0,J=T+t0|0,W=e[S>>2]|0,e0=e[p>>2]|0,s4(J|0,W|0,e0|0)|0,q=e0+t0|0,e[$0>>2]=q),x=zB(a,E)|0,F=(x|0)==0,!F;);return C=V,a|0}function ub(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0;m=C,Yk(t)|0,n=t+568|0,eS(n)|0,A=t+456|0,XB(A),a=t+440|0,wS(a),g=t+408|0,gp(g),u=t+680|0,E=e[u>>2]|0,I2(E),I2(t)}function fb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0;return u=C,A=t+456|0,a=eQ(A,n)|0,a|0}function db(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0;if(V=C,A=t+456|0,iS(A,n)|0,a=t+568|0,y=tQ(A,a)|0,O=(y|0)==1,!!O)for(l0=t+360|0,Z=t+392|0,K=t+684|0,$0=t+396|0,s0=t+404|0,i0=t+680|0,g=t+392|0,u=t+400|0;;){if(zk(a,0)|0,jk(a)|0,m=jB(A,l0)|0,B=(m|0)==0,!B)for(;;){if(Wm(t,l0)|0,b=ZB(t,Z)|0,w=(b|0)==0,!w)for(;D=e[K>>2]|0,Q=e[$0>>2]|0,_=Q+D|0,L=e[s0>>2]|0,x=_+L|0,F=(x|0)==0,F||(N=e[i0>>2]|0,G=qi(N,x)|0,e[i0>>2]=G,z=e[K>>2]|0,Y=G+z|0,t0=e[g>>2]|0,J=e[$0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[K>>2]=W,e0=G+W|0,q=e[u>>2]|0,X=e[s0>>2]|0,s4(e0|0,q|0,X|0)|0,U=X+W|0,e[K>>2]=U),M=ZB(t,Z)|0,T=(M|0)==0,!T;);if(p=jB(A,l0)|0,S=(p|0)==0,S)break}if(E=tQ(A,a)|0,I=(E|0)==1,!I)break}}function Ib(t){t=t|0;var n=0,A=0,a=0,g=0;return g=C,n=t+684|0,A=e[n>>2]|0,A|0}function Eb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0;return u=C,n=t+684|0,e[n>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function tC(t,n){t=+t,n=n|0;var A=0,a=0,g=0;return g=C,A=+mb(t,n),+A}function Mh(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0;if(R3=C,C=C+688|0,e3=R3+424|0,Y5=R3+192|0,W5=R3,X=r5(A,n)|0,U=(X|0)==0,U){C=R3;return}for(J=X-A|0,H1=W5+4|0,e[H1>>2]=A,e[W5>>2]=A,t2=A,f5=A,v3=2;A2=t2+A|0,M2=A2+f5|0,R5=W5+(v3<<2)|0,e[R5>>2]=M2,S5=M2>>>0>>0,i5=v3+1|0,S5;)y2=f5,f5=M2,v3=i5,t2=y2;if(l0=0-A|0,j=t+J|0,b0=(J|0)>0,b0)for(_0=(A|0)==0,D0=j,w1=1,z2=0,F5=t,U5=1;;){Z0=w1&3,V1=(Z0|0)==3;do if(V1){e[Y5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(p=U5,Q=F5,P1=F5,z5=1;;){if(q1=Q+l0|0,Y1=p+-2|0,j1=W5+(Y1<<2)|0,n2=e[j1>>2]|0,M5=n2+A|0,W=0-M5|0,W1=Q+W|0,c2=f7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(u2=f7[a&15](P1,q1)|0,o2=(u2|0)>-1,o2)){u3=z5;break}if(E2=f7[a&15](W1,q1)|0,K1=(E2|0)>-1,h2=z5+1|0,$2=Y5+(z5<<2)|0,K1?(e[$2>>2]=W1,i2=p+-1|0,u=W1,m=i2):(e[$2>>2]=q1,u=q1,m=Y1),l2=(m|0)>1,!l2){u3=h2;break}O=e[Y5>>2]|0,p=m,Q=u,P1=O,z5=h2}if(r2=(u3|0)<2,!r2&&(a2=Y5+(u3<<2)|0,e[a2>>2]=e3,!_0))for(y=A,G2=e3;;){for(d2=y>>>0>256,s2=d2?256:y,K2=e[Y5>>2]|0,s4(G2|0,K2|0,s2|0)|0,D2=K2,z3=0;k2=Y5+(z3<<2)|0,w2=z3+1|0,C2=Y5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,s2|0)|0,N2=D2+s2|0,e[k2>>2]=N2,X5=(w2|0)==(u3|0),!X5;)D2=F2,z3=w2;if(X1=(y|0)==(s2|0),X1)break e;f2=y-s2|0,Y=e[a2>>2]|0,y=f2,G2=Y}}while(!1);H2=w1>>>2,P2=z2<<30,o5=H2|P2,O2=z2>>>2,T1=U5+2|0,n0=o5,_1=O2,O5=T1}else{if(X2=U5+-1|0,L5=W5+(X2<<2)|0,e5=e[L5>>2]|0,b5=F5,Z2=D0-b5|0,k5=e5>>>0>>0,k5){e[Y5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(S=U5,_=F5,_2=F5,w3=1;;){if(l5=_+l0|0,v2=S+-2|0,m5=W5+(v2<<2)|0,n5=e[m5>>2]|0,o6=n5+A|0,e0=0-o6|0,x2=_+e0|0,p2=f7[a&15](_2,x2)|0,C5=(p2|0)>-1,C5&&(d5=f7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){B3=w3;break}if(G5=f7[a&15](x2,l5)|0,_5=(G5|0)>-1,q2=w3+1|0,I5=Y5+(w3<<2)|0,_5?(e[I5>>2]=x2,A5=S+-1|0,E=x2,B=A5):(e[I5>>2]=l5,E=l5,B=v2),c5=(B|0)>1,!c5){B3=q2;break}z=e[Y5>>2]|0,S=B,_=E,_2=z,w3=q2}if(p5=(B3|0)<2,!p5&&(M1=Y5+(B3<<2)|0,e[M1>>2]=e3,!_0))for(D=A,j2=e3;;){for(u5=D>>>0>256,a5=u5?256:D,x5=e[Y5>>2]|0,s4(j2|0,x5|0,a5|0)|0,h5=x5,G3=0;g2=Y5+(G3<<2)|0,B5=G3+1|0,t5=Y5+(B5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(B5|0)==(B3|0),!n3;)h5=s5,G3=B5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else iC(F5,A,a,w1,z2,U5,0,W5);if($5=(U5|0)==1,$5){L2=z2<<1,Q5=w1>>>31,q5=Q5|L2,j5=w1<<1,n0=j5,_1=q5,O5=0;break}else{E5=X2>>>0>31,f3=U5+-33|0,g=E5?0:w1,L=E5?w1:z2,x=E5?f3:X2,h3=L<>>Z,$0=K|h3,s0=g<>>0>>0,h0)w1=i0,z2=_1,F5=V,U5=O5;else{T=_1,N=i0,m3=V,H5=O5;break}}else T=0,N=1,m3=t,H5=1;if(iC(m3,A,a,N,T,H5,0,W5),o0=(H5|0)==1,g0=(N|0)==1,C3=g0&o0,c0=(T|0)==0,c3=c0&C3,c3){C=R3;return}else w0=N,Q0=T,J5=m3,v5=H5;for(;;){if(u0=(v5|0)<2,!u0){q0=Q0<<2,r1=w0>>>30,H0=r1|q0,e1=v5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,u1=c1|$1,g1=u1^3,l1=H0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,P3=a1+A|0,q=0-P3|0,n1=J5+q|0,o1=v5+-1|0,iC(n1,A,a,g1,l1,o1,1,W5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,p1=J5+l0|0,iC(p1,A,a,E1,m1,e1,1,W5),w0=E1,Q0=m1,J5=p1,v5=e1;continue}I0=w0+-1|0,C0=(I0|0)==0;do if(C0)U0=32,A3=56;else{if(v0=I0&1,d0=(v0|0)==0,d0){for(b=I0,i6=0;;)if(p0=i6+1|0,B0=b>>>1,E0=B0&1,K0=(E0|0)==0,K0)b=B0,i6=p0;else{F=p0;break}x0=(F|0)==0,x0?A3=51:J0=F}else A3=51;if((A3|0)==51){if(A3=0,M0=(Q0|0)==0,M0){U0=64,A3=56;break}if(T0=Q0&1,G0=(T0|0)==0,G0)w=Q0,L3=0;else{I=0,Q1=w0,b1=Q0,v1=0;break}for(;;)if(P0=L3+1|0,y0=w>>>1,Y0=y0&1,F0=(Y0|0)==0,F0)w=y0,L3=P0;else{M=P0,U3=L3;break}if(N0=U3+33|0,V0=(M|0)==0,V0){I=0,Q1=w0,b1=Q0,v1=0;break}else J0=N0}O0=J0>>>0>31,O0?(U0=J0,A3=56):(I=J0,Q1=w0,b1=Q0,v1=J0)}while(!1);if((A3|0)==56&&(A3=0,z0=U0+-32|0,I=z0,Q1=Q0,b1=0,v1=U0),B1=Q1>>>I,x1=32-I|0,L1=b1<>>I,G1=v1+v5|0,G=J5+l0|0,U1=(G1|0)==1,Z1=(R1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=R1,Q0=F1,J5=G,v5=G1}C=R3}function iC(t,n,A,a,g,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0;var m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0;p2=C,C=C+720|0,x2=p2+456|0,P2=p2+228|0,M2=p2,e[M2>>2]=t,U=0-n|0,l0=(a|0)!=1,Q0=(g|0)!=0,J0=Q0|l0;e:do if(J0)if($1=I+(u<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,K1=f7[A&15](Y1,t)|0,y2=(K1|0)<1,y2)p=t,L=u,G=E,O2=1,_2=18;else for(w=t,T=u,O=E,E0=Y1,q0=g,b5=1,v2=a;;){if(Z=(O|0)==0,c0=(T|0)>1,l5=Z&c0,l5){if(v0=w+U|0,d0=T+-2|0,p0=I+(d0<<2)|0,B0=e[p0>>2]|0,b0=f7[A&15](v0,E0)|0,K0=(b0|0)>-1,K0){S=w,x=T,X2=b5;break e}if(m5=B0+n|0,q=0-m5|0,x0=w+q|0,M0=f7[A&15](x0,E0)|0,T0=(M0|0)>-1,T0){S=w,x=T,X2=b5;break e}}G0=b5+1|0,P0=M2+(b5<<2)|0,e[P0>>2]=E0,y0=v2+-1|0,Y0=(y0|0)==0;do if(Y0)o1=32,_2=15;else{if(F0=y0&1,_0=(F0|0)==0,_0){for(Q=y0,f5=0;;)if(N0=f5+1|0,V0=Q>>>1,O0=V0&1,z0=(O0|0)==0,z0)Q=V0,f5=N0;else{z=N0;break}U0=(z|0)==0,U0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(q0|0)==0,r1){o1=64,_2=15;break}if(H0=q0&1,e1=(H0|0)==0,e1)_=q0,k5=0;else{B=0,I1=v2,E1=q0,x1=0;break}for(;;)if(D0=k5+1|0,i1=_>>>1,c1=i1&1,u1=(c1|0)==0,u1)_=i1,k5=D0;else{Y=D0,P5=k5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){B=0,I1=v2,E1=q0,x1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(B=s1,I1=v2,E1=q0,x1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=o1+-32|0,B=n1,I1=q0,E1=0,x1=o1),Z0=I1>>>B,h1=32-B|0,d1=E1<>>B,Q1=x1+T|0,L1=(p1|0)!=1,w1=(B1|0)!=0,b1=w1|L1,!b1){S=E0,x=Q1,X2=G0;break e}if(t0=e[M2>>2]|0,R1=I+(Q1<<2)|0,G1=e[R1>>2]|0,v1=0-G1|0,U1=E0+v1|0,Z1=f7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){p=E0,L=Q1,G=0,O2=G0,_2=18;break}else y=E0,T=Q1,O=0,E0=U1,q0=B1,b5=G0,v2=p1,w=y}else p=t,L=u,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(_1=(G|0)==0,_1)S=p,x=L,X2=O2;else{C=p2;return}V1=(X2|0)<2;e:do if(!V1&&(O1=M2+(X2<<2)|0,e[O1>>2]=x2,q1=(n|0)==0,!q1))for(M=n,h2=x2;;){for(E2=M>>>0>256,j1=E2?256:M,A2=e[M2>>2]|0,s4(h2|0,A2|0,j1|0)|0,u2=A2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(u2|0,z1|0,j1|0)|0,o2=u2+j1|0,e[W1>>2]=o2,o5=(P1|0)==(X2|0),!o5;)u2=z1,e5=P1;if(H1=(M|0)==(j1|0),H1)break e;n2=M-j1|0,e0=e[O1>>2]|0,M=n2,h2=e0}while(!1);e[P2>>2]=S,$2=(x|0)>1;e:do if($2){for(D=x,N=S,s2=S,Z2=1;;){if(i2=N+U|0,l2=D+-2|0,r2=I+(l2<<2)|0,a2=e[r2>>2]|0,n5=a2+n|0,X=0-n5|0,X1=N+X|0,f2=f7[A&15](s2,X1)|0,t2=(f2|0)>-1,t2&&(k2=f7[A&15](s2,i2)|0,w2=(k2|0)>-1,w2)){T1=Z2;break}if(C2=f7[A&15](X1,i2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,b=d2):(e[N2>>2]=i2,m=i2,b=l2),K2=(b|0)>1,!K2){T1=D2;break}J=e[P2>>2]|0,D=b,N=m,s2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=x2;else if(H2=P2+(T1<<2)|0,e[H2>>2]=x2,K=(n|0)==0,K)C0=x2;else for(F=n,w0=x2;;){for(u0=F>>>0>256,s0=u0?256:F,I0=e[P2>>2]|0,s4(w0|0,I0|0,s0|0)|0,g0=I0,L5=0;n0=P2+(L5<<2)|0,V=L5+1|0,h0=P2+(V<<2)|0,o0=e[h0>>2]|0,s4(g0|0,o0|0,s0|0)|0,j=g0+s0|0,e[n0>>2]=j,z2=(V|0)==(T1|0),!z2;)g0=o0,L5=V;if($0=(F|0)==(s0|0),$0){C0=x2;break e}i0=F-s0|0,W=e[H2>>2]|0,F=i0,w0=W}}else C0=x2;while(!1);C=p2}function Oi(t){t=+t;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;return x=C,A1[B2>>3]=t,A=e[B2>>2]|0,a=e[B2+4>>2]|0,B=a&2146435072,p=B>>>0>1126170624,S=!1,b=(B|0)==1126170624,w=b&S,y=p|w,y?(n=t,+n):(D=(a|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,u=t+4503599627370496,E=u+-4503599627370496,_=D?g:E,I=_==0,I?(m=D?-0:0,n=m,+n):(n=_,+n))}function BQ(t){t=+t;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0;return y=C,A=(s[B2>>2]=t,e[B2>>2]|0),a=A&2130706432,g=a>>>0>1249902592,g?(n=t,+n):(u=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,B=m+-8388608,b=u?I:B,p=b==0,p?(S=u?-0:0,n=S,+n):(n=b,+n))}function mb(t,n){t=+t,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,u=(n|0)>1023,u?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(L=E*898846567431158e293,x=n+-2046|0,F=(x|0)>1023,A=F?1023:x,a=A,G=L):(a=Q,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,B=n+2044|0,p=(B|0)<-1022,g=p?-1022:B,a=g,G=m):(a=N,G=T)):(a=n,G=t)),S=a+1023|0,b=wQ(S|0,0,52)|0,w=H6,e[B2>>2]=b,e[B2+4>>2]=w,y=+A1[B2>>3],D=G*y,+D}function Cb(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0;I=C,n=t+-1|0,A=553040,a=A,e[a>>2]=n,g=A+4|0,u=g,e[u>>2]=0}function pb(){var t=0,n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,B=t+4|0,p=B,S=e[p>>2]|0,b=wb(m|0,S|0,1284865837,1481765933)|0,w=H6,y=js(b|0,w|0,1,0)|0,D=H6,A=553040,a=A,e[a>>2]=y,g=A+4|0,u=g,e[u>>2]=D,E=Xs(y|0,D|0,33)|0,I=H6,E|0}function S9(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0,ct=0,wt=0,z8=0,gt=0,ht=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,vt=0,G8=0,U8=0,P8=0,v8=0,k8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,v9=0,ut=0,Qe=0,ft=0,kt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,O4=0,Re=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,p8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,dt=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,B9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,de=0,e4=0,xt=0,r7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,n7=0,$i=0,O7=0,C7=0,p7=0,li=0,B7=0,s7=0,ci=0,q7=0,H7=0,Y7=0,J7=0,o7=0,Q7=0,V7=0,zt=0,A7=0,Ut=0,Zt=0,gi=0,K7=0,hi=0,y7=0,z7=0,w7=0,v7=0,Z7=0,k7=0,Wt=0,S7=0,W7=0,a7=0,Pt=0,b7=0,ve=0,D7=0,Lt=0,$7=0,n9=0,It=0,B8=0,Et=0,Rt=0,Xr=0,mr=0,io=0,qn=0,ro=0,Hn=0,no=0,so=0,Yn=0,oo=0,en=0,Ao=0,ao=0,$o=0,Jn=0,lo=0,Vn=0,Kn=0,co=0,tn=0,zn=0,rn=0,Zn=0,Wn=0,go=0,ho=0,uo=0,nn=0,jn=0,fo=0,Cr=0,sn=0,Io=0,Eo=0,on=0,ui=0,Xn=0,mo=0,Co=0,es=0,ts=0,is=0,po=0,fi=0,An=0,Bo=0,rs=0,Qo=0,yo=0,wo=0,ns=0,vo=0,ko=0,So=0,bo=0,ss=0,Do=0,_o=0,an=0,pr=0,$n=0,xo=0,ji=0,Lo=0,os=0,ln=0,As=0,cn=0,Ro=0,as=0,$s=0,Fo=0,ls=0,cs=0,Mo=0,Br=0,gs=0,di=0,gn=0,Qr=0,Xi=0,yr=0,Hi=0,wr=0,hs=0,Yi=0,vi=0,ki=0,j7=0,Si=0,vr=0,er=0,tr=0,kr=0,Ii=0,To=0,l7=0,el=0,hn=0,un=0,Th=0,tl=0,No=0,Nh=0,ea=0,il=0,Gh=0,Uh=0,Ph=0,ta=0,rl=0,nl=0,ia=0,fn=0,sl=0,Oh=0,Go=0,ir=0,qh=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,ol=0,Sr=0,Xh=0,eu=0,Al=0,tu=0,ra=0,Uo=0,na=0,iu=0,ru=0,sa=0,al=0,$l=0,ll=0,oa=0,cl=0,Po=0,nu=0,su=0,gl=0,ou=0,Au=0,hl=0,au=0,$u=0,ul=0,fl=0,dl=0,Il=0,El=0,dn=0,lu=0,ml=0,cu=0,Cl=0,pl=0,gu=0,hu=0,uu=0,Aa=0,Bl=0,Ql=0,us=0,yl=0,aa=0,fu=0,wl=0,du=0,vl=0,Iu=0,Eu=0,kl=0,Sl=0,mu=0,Oo=0,Cu=0,$a=0,bl=0,Dl=0,pu=0,Bu=0,Qu=0,yu=0,wu=0,vu=0,qo=0,_l=0,xl=0,Ll=0,Ho=0,ku=0,Rl=0,Su=0,Fl=0,bu=0,Du=0,Ml=0,la=0,_u=0,xu=0,Yo=0,Lu=0,Jo=0,Ru=0,ca=0,Fu=0,Mu=0,Tu=0,Tl=0,Nu=0,Gu=0,Uu=0,Pu=0,Nl=0,Gl=0,rr=0,Ul=0,Vo=0,ga=0,ha=0,In=0,Pl=0,En=0,Ou=0,Ol=0,qu=0,Hu=0,Yu=0,Ju=0,Ko=0,ua=0,br=0,Vu=0,Ku=0,ql=0,fa=0,Hl=0,Yl=0,zu=0,Jl=0,Zu=0,da=0,Wu=0,ju=0,P9=0,Xu=0,Vl=0,ef=0,tf=0,Ia=0,rf=0,Ea=0,Kl=0,nf=0,sf=0,zl=0,Zl=0,of=0,ma=0,Ca=0,Wl=0,jl=0,Af=0,Xl=0,pa=0,af=0,ec=0,$f=0,lf=0,cf=0,gf=0,tc=0,ic=0,Ba=0,zo=0,rc=0,hf=0,nc=0,sc=0,uf=0,ff=0,df=0,oc=0,If=0,Ef=0,mf=0,Cf=0,pf=0,Bf=0,Ac=0,Qf=0,ac=0,yf=0,mn=0,wf=0,$c=0,vf=0,fs=0,lc=0,Qa=0,kf=0,Zo=0,ya=0,Sf=0,wa=0,cc=0,bf=0,Df=0,_f=0,xf=0,Lf=0,gc=0,Rf=0,Ff=0,Mf=0,Wo=0,ds=0,va=0,Tf=0,ka=0,Nf=0,Gf=0,Uf=0,hc=0,Pf=0,Of=0,qf=0,Hf=0,Yf=0,jo=0,Jf=0,Vf=0,uc=0,Kf=0,zf=0,Zf=0,Wf=0,Ei=0,fc=0,mi=0,dc=0,Sa=0,jf=0,X7=0,Is=0,Xf=0,ed=0,td=0,id=0,rd=0,Ic=0,nd=0,sd=0,Ec=0,od=0,Ad=0,Es=0,ba=0,ad=0,mc=0,$d=0,ld=0,Xo=0,cd=0,gd=0,Cc=0,pc=0,hd=0,ud=0,Cn=0,fd=0,dd=0,pn=0,Id=0,Bc=0,Ed=0,md=0,ms=0,Qc=0,Cd=0,yc=0,pd=0,nr=0,Da=0,Bd=0,wc=0,vc=0,Qd=0,yd=0,kc=0,wd=0,vd=0,kd=0,Sc=0,Sd=0,Cs=0,bd=0,Bn=0,Dd=0,_d=0,_a=0,xd=0,xa=0,La=0,Ld=0,bc=0,Dc=0,Rd=0,_c=0,xc=0,Lc=0,Fd=0,Rc=0,Fc=0,Md=0,Td=0,Mc=0,Tc=0,Nd=0,Nc=0,Gc=0,Gd=0,Ud=0,Uc=0,Ra=0,Pc=0,Oc=0,qc=0,Hc=0,Pd=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,Yc=0,Fa=0,zd=0,Zd=0,Wd=0,Jc=0,Vc=0,jd=0,Kc=0,Ma=0,eA=0,zc=0,Xd=0,eI=0,tI=0,iI=0,Zc=0,tA=0,rI=0,nI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,Wc=0,cI=0,gI=0,hI=0,uI=0,iA=0,jc=0,fI=0,dI=0,Qn=0,Xc=0,eg=0,Ta=0,II=0,tg=0,EI=0,ig=0,rg=0,mI=0,CI=0,pI=0,BI=0,QI=0,rA=0,Na=0,yI=0,wI=0,vI=0,kI=0,ng=0,SI=0,sg=0,bI=0,DI=0,og=0,Dr=0,Ag=0,ag=0,_I=0,$g=0,nA=0,xI=0,LI=0,RI=0,sA=0,lg=0,FI=0,MI=0,cg=0,TI=0,NI=0,Ga=0,oA=0,GI=0,UI=0,PI=0,gg=0,hg=0,ug=0,OI=0,qI=0,ps=0,HI=0,fg=0,YI=0,Ua=0,dg=0,JI=0,VI=0,KI=0,zI=0,Ig=0,ZI=0,WI=0,Eg=0,AA=0,jI=0,XI=0,eE=0,Bs=0,mg=0,Cg=0,tE=0,pg=0,Bg=0,bi=0,Qg=0,sr=0,iE=0,rE=0,nE=0,sE=0,Pa=0,aA=0,yg=0,wg=0,oE=0,$A=0,Qs=0,AE=0,lA=0,Oa=0,aE=0,qa=0,$E=0,lE=0,vg=0,cA=0,kg=0,cE=0,gE=0,hE=0,uE=0,Sg=0,fE=0,jt=0,y4=0,ei=0,dE=0,bg=0,Dg=0,Ha=0,IE=0,_r=0,ys=0,EE=0,mE=0,_g=0,Ya=0,CE=0,xg=0,Lg=0,Rg=0,Ja=0,Va=0,Fg=0,ws=0,Ka=0,Mg=0,pE=0,yn=0,BE=0,Tg=0,gA=0,QE=0,Ng=0,Di=0,yE=0,wE=0,vE=0,kE=0,SE=0,bE=0,_i=0,DE=0,_E=0,xE=0,Gg=0,Ci=0,hA=0,za=0,Ug=0,Pg=0,LE=0,Og=0,qg=0,RE=0,FE=0,Hg=0,Yg=0,ME=0,TE=0,Jg=0,NE=0,vs=0,uA=0,fA=0,GE=0,Za=0,UE=0,PE=0,Vg=0,ks=0,OE=0,qE=0,Wa=0,ja=0,dA=0,Xa=0,e$=0,or=0,xr=0,Lr=0,t$=0,i$=0,Ss=0,Ar=0,wn=0,HE=0,ar=0,vn=0,YE=0,_7=0,x7=0,L7=0,IA=0,EA=0,Kg=0,zg=0,mA=0,r$=0,R7=0,CA=0,Rr=0,n$=0,JE=0,s$=0,VE=0,o$=0,Zg=0,pA=0,KE=0,zE=0,BA=0,ZE=0,QA=0,kn=0,Ke=0,k4=0,Wg=0,WE=0,A$=0,jg=0,jE=0,XE=0,yA=0,em=0,tm=0,im=0,rm=0,Xg=0,nm=0,sm=0,om=0,ti=0,wA=0,Sn=0,a$=0,bs=0,Ds=0,Xt=0,_s=0,eh=0,th=0,vA=0,xs=0,Ls=0,Rs=0,Am=0,Fs=0,$r=0,ih=0,Fr=0,ii=0,$$=0,l$=0,Ji=0,c$=0,g$=0,h$=0,Mr=0,$6=0,kA=0,Tr=0,rh=0,ke=0,u$=0,Q8=0,Ms=0,bn=0,Dn=0,F9=0,_n=0,Nr=0,Y4=0,f$=0;f$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,h4=t+11|0,O4=h4&-8,ve=h2?16:O4,No=ve>>>3,ca=e[138262]|0,Wo=ca>>>No,Oc=Wo&3,Eg=(Oc|0)==0,!Eg){$2=Wo&1,u3=$2^1,l3=u3+No|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,x6=553088+(w0<<2)|0,b6=e[x6>>2]|0,L6=b6+8|0,D6=e[L6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,le&&Q2(),B4=D6+12|0,p9=e[B4>>2]|0,M8=(p9|0)==(b6|0),M8){e[B4>>2]=g3,e[x6>>2]=D6;break}else Q2();while(!1);return f8=l3<<3,ut=f8|3,Re=b6+4|0,e[Re>>2]=ut,B0=f8|4,ye=b6+B0|0,q4=e[ye>>2]|0,rt=q4|1,e[ye>>2]=rt,Ke=L6,Ke|0}if(Je=e[138264]|0,Yt=ve>>>0>Je>>>0,Yt){if(U7=(Wo|0)==0,!U7){O7=Wo<>>12,an=Qo&16,as=Xn>>>an,Xi=as>>>5,er=Xi&8,Nh=er|an,sl=as>>>er,Zh=sl>>>2,na=Zh&4,su=Nh|na,El=sl>>>na,Bl=El>>>1,kl=Bl&2,yu=su|kl,Fl=El>>>kl,Fu=Fl>>>1,Ul=Fu&1,Yu=yu|Ul,zu=Fl>>>Ul,Ia=Yu+zu|0,Wl=Ia<<1,tc=553088+(Wl<<2)|0,U1=Wl+2|0,oc=553088+(U1<<2)|0,mn=e[oc>>2]|0,wa=mn+8|0,ds=e[wa>>2]|0,Hf=(tc|0)==(ds|0);do if(Hf)fc=1<>>0
>>0,nr&&Q2(),Sc=ds+12|0,Ld=e[Sc>>2]|0,Td=(Ld|0)==(mn|0),Td){e[Sc>>2]=tc,e[oc>>2]=ds,y=e[138264]|0,oA=y;break}else Q2();while(!1);return qc=Ia<<3,Fa=qc-ve|0,Xd=ve|3,aI=mn+4|0,e[aI>>2]=Xd,dI=mn+ve|0,CI=Fa|1,j1=ve|4,SI=mn+j1|0,e[SI>>2]=CI,xI=mn+qc|0,e[xI>>2]=Fa,fg=(oA|0)==0,fg||(AA=e[138267]|0,Qg=oA>>>3,$A=Qg<<1,kg=553088+($A<<2)|0,bg=e[138262]|0,xg=1<>2]|0,C2=e[138266]|0,o5=i2>>>0>>0,o5?Q2():(G=vs,dA=i2)),e[G>>2]=AA,l5=dA+12|0,e[l5>>2]=AA,G5=AA+8|0,e[G5>>2]=dA,W2=AA+12|0,e[W2>>2]=kg),e[138264]=Fa,e[138267]=dI,Ke=wa,Ke|0}if($5=e[138263]|0,m3=($5|0)==0,m3)k4=ve;else{for(J5=0-$5|0,v3=$5&J5,B3=v3+-1|0,z3=B3>>>12,G3=z3&16,z5=B3>>>G3,w3=z5>>>5,W5=w3&8,i6=W5|G3,L3=z5>>>W5,U3=L3>>>2,a3=U3&4,c3=i6|a3,C3=L3>>>a3,H5=C3>>>1,U5=H5&2,O5=c3|U5,v5=C3>>>U5,P3=v5>>>1,M5=P3&1,o6=O5|M5,e3=v5>>>M5,R3=o6+e3|0,u6=553352+(R3<<2)|0,Q3=e[u6>>2]|0,k3=Q3+4|0,y3=e[k3>>2]|0,r6=y3&-8,j3=r6-ve|0,wA=j3,l$=Q3,u$=Q3;;){if(O3=l$+16|0,V5=e[O3>>2]|0,S3=(V5|0)==0,S3)if(q3=l$+20|0,l6=e[q3>>2]|0,d3=(l6|0)==0,d3){Sn=wA,Q8=u$;break}else k6=l6;else k6=V5;v6=k6+4|0,S6=e[v6>>2]|0,p6=S6&-8,X3=p6-ve|0,c6=X3>>>0>>0,q=c6?X3:wA,A2=c6?k6:u$,wA=q,l$=k6,u$=A2}B6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ve|0,b3=Q8>>>0>>0,b3||Q2(),e6=Q8+24|0,t6=e[e6>>2]|0,f6=Q8+12|0,H3=e[f6>>2]|0,D3=(H3|0)==(Q8|0);do if(D3){if(N6=Q8+20|0,n6=e[N6>>2]|0,Q6=(n6|0)==0,Q6)if(K6=Q8+16|0,I6=e[K6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else Ar=I6,IA=K6;else Ar=n6,IA=N6;for(;;){if(F3=Ar+20|0,j6=e[F3>>2]|0,G6=(j6|0)==0,!G6){Ar=j6,IA=F3;continue}if(e9=Ar+16|0,s9=e[e9>>2]|0,R6=(s9|0)==0,R6){ar=Ar,zg=IA;break}else Ar=s9,IA=e9}if(U6=zg>>>0>>0,U6)Q2();else{e[zg>>2]=0,_7=ar;break}}else if(Y3=Q8+8|0,Z3=e[Y3>>2]|0,A6=Z3>>>0>>0,A6&&Q2(),t3=Z3+12|0,O6=e[t3>>2]|0,s3=(O6|0)==(Q8|0),s3||Q2(),a6=H3+8|0,d6=e[a6>>2]|0,_3=(d6|0)==(Q8|0),_3){e[t3>>2]=H3,e[a6>>2]=Z3,_7=H3;break}else Q2();while(!1);z6=(t6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,M3=553352+(F6<<2)|0,M6=e[M3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[M3>>2]=_7,KE=(_7|0)==0,KE){A9=1<>>0>>0,$9&&Q2(),T9=t6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_7:(i9=t6+20|0,e[i9>>2]=_7),N9=(_7|0)==0,N9)break;I9=e[138266]|0,E4=_7>>>0>>0,E4&&Q2(),o4=_7+24|0,e[o4>>2]=t6,z9=Q8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(q6=b9>>>0>>0,q6)Q2();else{r9=_7+16|0,e[r9>>2]=b9,m4=b9+24|0,e[m4>>2]=_7;break}while(!1);if(S4=Q8+20|0,A4=e[S4>>2]|0,y9=(A4|0)==0,!y9)if(b4=e[138266]|0,x4=A4>>>0>>0,x4)Q2();else{M4=_7+20|0,e[M4>>2]=A4,j4=A4+24|0,e[j4>>2]=_7;break}}while(!1);return C4=Sn>>>0<16,C4?(T4=Sn+ve|0,U9=T4|3,N4=Q8+4|0,e[N4>>2]=U9,Z1=T4+4|0,a4=Q8+Z1|0,L4=e[a4>>2]|0,u4=L4|1,e[a4>>2]=u4):(q9=ve|3,m9=Q8+4|0,e[m9>>2]=q9,pe=Sn|1,h0=ve|4,Ne=Q8+h0|0,e[Ne>>2]=pe,g0=Sn+ve|0,Xe=Q8+g0|0,e[Xe>>2]=Sn,G4=e[138264]|0,Ge=(G4|0)==0,Ge||(U4=e[138267]|0,X4=G4>>>3,be=X4<<1,Z9=553088+(be<<2)|0,ae=e[138262]|0,f4=1<>2]|0,$e=e[138266]|0,W9=_4>>>0<$e>>>0,W9?Q2():(T=$4,ja=_4)),e[T>>2]=U4,ce=ja+12|0,e[ce>>2]=U4,p4=U4+8|0,e[p4>>2]=ja,ee=U4+12|0,e[ee>>2]=Z9),e[138264]=Sn,e[138267]=C6),R4=Q8+8|0,Ke=R4,Ke|0}}else k4=ve}else if(ge=t>>>0>4294967231,ge)k4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)k4=g6;else{Be=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?kn=0:(De=g6>>>0>16777215,De?kn=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,v4=c4<>>16,w9=J3&4,F4=w9|g4,te=v4<>>16,ct=xe&2,wt=F4|ct,z8=14-wt|0,gt=te<>>15,F8=z8+ht|0,T8=F8<<1,N8=F8+7|0,Z8=g6>>>N8,W8=Z8&1,vt=W8|T8,kn=vt)),G8=553352+(kn<<2)|0,U8=e[G8>>2]|0,P8=(U8|0)==0;e:do if(P8)Ds=Be,c$=0,Dn=0,Y4=86;else for(v8=(kn|0)==31,k8=kn>>>1,O8=25-k8|0,q8=v8?0:O8,j8=g6<>2]|0,Pe=d8&-8,Le=Pe-g6|0,i8=Le>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){_s=Le,Mr=Ji,Nr=Ji,Y4=90;break e}else bs=Le,bn=Ji;else bs=a$,bn=Ms;if(v9=Ji+20|0,Qe=e[v9>>2]|0,ft=vA>>>31,kt=(Ji+16|0)+(ft<<2)|0,et=e[kt>>2]|0,St=(Qe|0)==0,ie=(Qe|0)==(et|0),em=St|ie,th=em?eh:Qe,tt=(et|0)==0,H8=vA<<1,tt){Ds=bs,c$=th,Dn=bn,Y4=86;break}else a$=bs,eh=th,vA=H8,Ji=et,Ms=bn}while(!1);if((Y4|0)==86){if(b8=(c$|0)==0,r8=(Dn|0)==0,jE=b8&r8,jE){if(n8=2<>>12,ue=m8&16,Oe=o8>>>ue,qe=Oe>>>5,X9=qe&8,Fe=X9|ue,fe=Oe>>>X9,A8=fe>>>2,we=A8&4,Q4=Fe|we,C8=fe>>>we,it=C8>>>1,I3=it&2,He=Q4|I3,p8=C8>>>I3,re=p8>>>1,H9=re&1,ne=He|H9,D9=p8>>>H9,Ye=ne+D9|0,Y8=553352+(Ye<<2)|0,dt=e[Y8>>2]|0,g$=dt,_n=0}else g$=c$,_n=Dn;nt=(g$|0)==0,nt?(Xt=Ds,F9=_n):(_s=Ds,Mr=g$,Nr=_n,Y4=90)}if((Y4|0)==90)for(;;){if(Y4=0,J8=Mr+4|0,st=e[J8>>2]|0,V8=st&-8,a8=V8-g6|0,$8=a8>>>0<_s>>>0,X=$8?a8:_s,h$=$8?Mr:Nr,_8=Mr+16|0,H4=e[_8>>2]|0,ot=(H4|0)==0,!ot){_s=X,Mr=H4,Nr=h$,Y4=90;continue}if(x8=Mr+20|0,B9=e[x8>>2]|0,At=(B9|0)==0,At){Xt=X,F9=h$;break}else _s=X,Mr=B9,Nr=h$,Y4=90}if(Ve=(F9|0)==0,Ve)k4=g6;else if(Nt=e[138264]|0,Ht=Nt-g6|0,bt=Xt>>>0>>0,bt){at=e[138266]|0,Dt=F9>>>0>>0,Dt&&Q2(),se=F9+g6|0,Gt=F9>>>0>>0,Gt||Q2(),l8=F9+24|0,L8=e[l8>>2]|0,_t=F9+12|0,K8=e[_t>>2]|0,Me=(K8|0)==(F9|0);do if(Me){if(Vt=F9+20|0,E7=e[Vt>>2]|0,Kt=(E7|0)==0,Kt)if(m7=F9+16|0,n7=e[m7>>2]|0,$i=(n7|0)==0,$i){L7=0;break}else vn=n7,mA=m7;else vn=E7,mA=Vt;for(;;){if(C7=vn+20|0,p7=e[C7>>2]|0,li=(p7|0)==0,!li){vn=p7,mA=C7;continue}if(B7=vn+16|0,s7=e[B7>>2]|0,ci=(s7|0)==0,ci){YE=vn,r$=mA;break}else vn=s7,mA=B7}if(q7=r$>>>0>>0,q7)Q2();else{e[r$>>2]=0,L7=YE;break}}else if(de=F9+8|0,e4=e[de>>2]|0,xt=e4>>>0>>0,xt&&Q2(),r7=e4+12|0,G7=e[r7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=K8+8|0,Jt=e[d7>>2]|0,I7=(Jt|0)==(F9|0),I7){e[r7>>2]=K8,e[d7>>2]=e4,L7=K8;break}else Q2();while(!1);H7=(L8|0)==0;do if(!H7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,V7=e[Q7>>2]|0,zt=(F9|0)==(V7|0),zt){if(e[Q7>>2]=L7,BA=(L7|0)==0,BA){A7=1<>>0>>0,hi&&Q2(),y7=L8+16|0,w7=e[y7>>2]|0,v7=(w7|0)==(F9|0),v7?e[y7>>2]=L7:(Z7=L8+20|0,e[Z7>>2]=L7),k7=(L7|0)==0,k7)break;Wt=e[138266]|0,S7=L7>>>0>>0,S7&&Q2(),W7=L7+24|0,e[W7>>2]=L8,a7=F9+16|0,Pt=e[a7>>2]|0,b7=(Pt|0)==0;do if(!b7)if(Lt=Pt>>>0>>0,Lt)Q2();else{$7=L7+16|0,e[$7>>2]=Pt,n9=Pt+24|0,e[n9>>2]=L7;break}while(!1);if(It=F9+20|0,B8=e[It>>2]|0,Et=(B8|0)==0,!Et)if(Rt=e[138266]|0,Xr=B8>>>0>>0,Xr)Q2();else{mr=L7+20|0,e[mr>>2]=B8,io=B8+24|0,e[io>>2]=L7;break}}while(!1);ro=Xt>>>0<16;e:do if(ro)Hn=Xt+g6|0,no=Hn|3,so=F9+4|0,e[so>>2]=no,c1=Hn+4|0,Yn=F9+c1|0,oo=e[Yn>>2]|0,en=oo|1,e[Yn>>2]=en;else{if(Ao=g6|3,ao=F9+4|0,e[ao>>2]=Ao,$o=Xt|1,n0=g6|4,lo=F9+n0|0,e[lo>>2]=$o,I0=Xt+g6|0,Vn=F9+I0|0,e[Vn>>2]=Xt,Kn=Xt>>>3,co=Xt>>>0<256,co){tn=Kn<<1,zn=553088+(tn<<2)|0,rn=e[138262]|0,Zn=1<>2]|0,fo=e[138266]|0,Cr=jn>>>0>>0,Cr?Q2():(M=nn,e$=jn)),e[M>>2]=se,sn=e$+12|0,e[sn>>2]=se,q0=g6+8|0,Io=F9+q0|0,e[Io>>2]=e$,H0=g6+12|0,Eo=F9+H0|0,e[Eo>>2]=zn;break}if(on=Xt>>>8,ui=(on|0)==0,ui?xr=0:(mo=Xt>>>0>16777215,mo?xr=31:(Co=on+1048320|0,es=Co>>>16,ts=es&8,is=on<>>16,An=fi&4,Bo=An|ts,rs=is<>>16,ns=wo&2,vo=Bo|ns,ko=14-vo|0,So=rs<>>15,ss=ko+bo|0,Do=ss<<1,_o=ss+7|0,pr=Xt>>>_o,$n=pr&1,xo=$n|Do,xr=xo)),ji=553352+(xr<<2)|0,g1=g6+28|0,Lo=F9+g1|0,e[Lo>>2]=xr,L1=g6+16|0,os=F9+L1|0,_1=g6+20|0,ln=F9+_1|0,e[ln>>2]=0,e[os>>2]=0,As=e[138263]|0,cn=1<>2]=se,H1=g6+24|0,ls=F9+H1|0,e[ls>>2]=ji,n2=g6+12|0,cs=F9+n2|0,e[cs>>2]=se,P1=g6+8|0,Mo=F9+P1|0,e[Mo>>2]=se;break}Br=e[ji>>2]|0,gs=Br+4|0,di=e[gs>>2]|0,gn=di&-8,Qr=(gn|0)==(Xt|0);t:do if(Qr)R7=Br;else{for(yr=(xr|0)==31,Hi=xr>>>1,wr=25-Hi|0,hs=yr?0:wr,Yi=Xt<>>31,Ii=(n$+16|0)+(kr<<2)|0,j7=e[Ii>>2]|0,To=(j7|0)==0,To){w=Ii,JE=n$;break}if(vi=t$<<1,ki=j7+4|0,Si=e[ki>>2]|0,vr=Si&-8,tr=(vr|0)==(Xt|0),tr){R7=j7;break t}else t$=vi,n$=j7}if(l7=e[138266]|0,el=w>>>0>>0,el)Q2();else{e[w>>2]=se,d0=g6+24|0,hn=F9+d0|0,e[hn>>2]=JE,P0=g6+12|0,un=F9+P0|0,e[un>>2]=se,O0=g6+8|0,Th=F9+O0|0,e[Th>>2]=se;break e}}while(!1);if(tl=R7+8|0,ea=e[tl>>2]|0,il=e[138266]|0,Gh=ea>>>0>=il>>>0,Wg=R7>>>0>=il>>>0,Uh=Gh&Wg,Uh){Ph=ea+12|0,e[Ph>>2]=se,e[tl>>2]=se,c2=g6+8|0,ta=F9+c2|0,e[ta>>2]=ea,u2=g6+12|0,rl=F9+u2|0,e[rl>>2]=R7,C0=g6+24|0,nl=F9+C0|0,e[nl>>2]=0;break}else Q2()}while(!1);return ia=F9+8|0,Ke=ia,Ke|0}else k4=g6}while(!1);if(fn=e[138264]|0,Oh=fn>>>0>>0,!Oh)return Go=fn-k4|0,ir=e[138267]|0,qh=Go>>>0>15,qh?(Hh=ir+k4|0,e[138267]=Hh,e[138264]=Go,Yh=Go|1,u1=k4+4|0,Jh=ir+u1|0,e[Jh>>2]=Yh,Vh=ir+fn|0,e[Vh>>2]=Go,Kh=k4|3,zh=ir+4|0,e[zh>>2]=Kh):(e[138264]=0,e[138267]=0,Wh=fn|3,jh=ir+4|0,e[jh>>2]=Wh,o0=fn+4|0,ol=ir+o0|0,Sr=e[ol>>2]|0,Xh=Sr|1,e[ol>>2]=Xh),eu=ir+8|0,Ke=eu,Ke|0;if(Al=e[138265]|0,tu=Al>>>0>k4>>>0,tu)return ra=Al-k4|0,e[138265]=ra,Uo=e[138268]|0,iu=Uo+k4|0,e[138268]=iu,ru=ra|1,U=k4+4|0,sa=Uo+U|0,e[sa>>2]=ru,al=k4|3,$l=Uo+4|0,e[$l>>2]=al,ll=Uo+8|0,Ke=ll,Ke|0;oa=e[138380]|0,cl=(oa|0)==0;do if(cl)if(Po=Rk(30)|0,nu=Po+-1|0,gl=nu&Po,ou=(gl|0)==0,ou){e[138382]=Po,e[138381]=Po,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,Au=VB(0)|0,hl=Au&-16,au=hl^1431655768,e[138380]=au;break}else Q2();while(!1);if($u=k4+48|0,ul=e[138382]|0,fl=k4+47|0,dl=ul+fl|0,Il=0-ul|0,dn=dl&Il,lu=dn>>>0>k4>>>0,!lu||(ml=e[138372]|0,cu=(ml|0)==0,!cu&&(Cl=e[138370]|0,pl=Cl+dn|0,gu=pl>>>0<=Cl>>>0,hu=pl>>>0>ml>>>0,yA=gu|hu,yA)))return Ke=0,Ke|0;uu=e[138373]|0,Aa=uu&4,Ql=(Aa|0)==0;e:do if(Ql){us=e[138268]|0,yl=(us|0)==0;t:do if(yl)Y4=174;else{for(xs=553496;;){if(aa=e[xs>>2]|0,fu=aa>>>0>us>>>0,!fu&&(wl=xs+4|0,du=e[wl>>2]|0,vl=aa+du|0,Iu=vl>>>0>us>>>0,Iu)){S=xs,b=wl;break}if(Eu=xs+8|0,Sl=e[Eu>>2]|0,mu=(Sl|0)==0,mu){Y4=174;break t}else xs=Sl}if(_u=e[138265]|0,xu=dl-_u|0,Yo=xu&Il,Lu=Yo>>>0<2147483647,Lu)if(Jo=N7(Yo|0)|0,Ru=e[S>>2]|0,Mu=e[b>>2]|0,Tu=Ru+Mu|0,Tl=(Jo|0)==(Tu|0),n=Tl?Yo:0,Tl)if(Nu=(Jo|0)==-1,Nu)Tr=n;else{$6=Jo,ke=n,Y4=194;break e}else pA=Jo,ii=Yo,kA=n,Y4=184;else Tr=0}while(!1);do if((Y4|0)==174)if(Oo=N7(0)|0,Cu=(Oo|0)==-1,Cu)Tr=0;else if($a=Oo,bl=e[138381]|0,Dl=bl+-1|0,pu=Dl&$a,Bu=(pu|0)==0,Bu?Fr=dn:(Qu=Dl+$a|0,wu=0-bl|0,vu=Qu&wu,qo=dn-$a|0,_l=qo+vu|0,Fr=_l),xl=e[138370]|0,Ll=xl+Fr|0,Ho=Fr>>>0>k4>>>0,ku=Fr>>>0<2147483647,XE=Ho&ku,XE){if(Rl=e[138372]|0,Su=(Rl|0)==0,!Su&&(bu=Ll>>>0<=xl>>>0,Du=Ll>>>0>Rl>>>0,tm=bu|Du,tm)){Tr=0;break}if(Ml=N7(Fr|0)|0,la=(Ml|0)==(Oo|0),ih=la?Fr:0,la){$6=Oo,ke=ih,Y4=194;break e}else pA=Ml,ii=Fr,kA=ih,Y4=184}else Tr=0;while(!1);t:do if((Y4|0)==184){Gu=0-ii|0,Uu=(pA|0)!=-1,Pu=ii>>>0<2147483647,rm=Pu&Uu,Nl=$u>>>0>ii>>>0,nm=Nl&rm;do if(nm)if(Gl=e[138382]|0,rr=fl-ii|0,Vo=rr+Gl|0,ga=0-Gl|0,ha=Vo&ga,In=ha>>>0<2147483647,In)if(Pl=N7(ha|0)|0,En=(Pl|0)==-1,En){N7(Gu|0)|0,Tr=kA;break t}else{Ou=ha+ii|0,$$=Ou;break}else $$=ii;else $$=ii;while(!1);if(Ol=(pA|0)==-1,Ol)Tr=kA;else{$6=pA,ke=$$,Y4=194;break e}}while(!1);qu=e[138373]|0,Hu=qu|4,e[138373]=Hu,rh=Tr,Y4=191}else rh=0,Y4=191;while(!1);if((Y4|0)==191&&(Ju=dn>>>0<2147483647,Ju&&(Ko=N7(dn|0)|0,ua=N7(0)|0,br=(Ko|0)!=-1,Vu=(ua|0)!=-1,im=br&Vu,Ku=Ko>>>0>>0,sm=Ku&im,sm&&(ql=ua,fa=Ko,Hl=ql-fa|0,Yl=k4+40|0,Jl=Hl>>>0>Yl>>>0,E2=Jl?Hl:rh,Jl&&($6=Ko,ke=E2,Y4=194)))),(Y4|0)==194){Zu=e[138370]|0,da=Zu+ke|0,e[138370]=da,Wu=e[138371]|0,ju=da>>>0>Wu>>>0,ju&&(e[138371]=da),P9=e[138268]|0,Xu=(P9|0)==0;e:do if(Xu){for(Vl=e[138266]|0,ef=(Vl|0)==0,tf=$6>>>0>>0,om=ef|tf,om&&(e[138266]=$6),e[138374]=$6,e[138375]=ke,e[138377]=0,rf=e[138380]|0,e[138271]=rf,e[138270]=-1,QA=0;Ea=QA<<1,Kl=553088+(Ea<<2)|0,l0=Ea+3|0,nf=553088+(l0<<2)|0,e[nf>>2]=Kl,j=Ea+2|0,sf=553088+(j<<2)|0,e[sf>>2]=Kl,zl=QA+1|0,ZE=(zl|0)==32,!ZE;)QA=zl;Zl=ke+-40|0,of=$6+8|0,ma=of,Ca=ma&7,jl=(Ca|0)==0,Af=0-ma|0,Xl=Af&7,pa=jl?0:Xl,af=$6+pa|0,ec=Zl-pa|0,e[138268]=af,e[138265]=ec,$f=ec|1,K=pa+4|0,lf=$6+K|0,e[lf>>2]=$f,l1=ke+-36|0,cf=$6+l1|0,e[cf>>2]=40,gf=e[138384]|0,e[138269]=gf}else{for(Rs=553496;;){if(ic=e[Rs>>2]|0,Ba=Rs+4|0,zo=e[Ba>>2]|0,rc=ic+zo|0,hf=($6|0)==(rc|0),hf){m=ic,B=Ba,p=zo,Am=Rs,Y4=204;break}if(nc=Rs+8|0,sc=e[nc>>2]|0,uf=(sc|0)==0,uf)break;Rs=sc}if((Y4|0)==204&&(ff=Am+12|0,df=e[ff>>2]|0,If=df&8,Ef=(If|0)==0,Ef&&(mf=P9>>>0>=m>>>0,Cf=P9>>>0<$6>>>0,Xg=Cf&mf,Xg))){pf=p+ke|0,e[B>>2]=pf,Bf=e[138265]|0,Ac=Bf+ke|0,Qf=P9+8|0,ac=Qf,yf=ac&7,wf=(yf|0)==0,$c=0-ac|0,vf=$c&7,fs=wf?0:vf,lc=P9+fs|0,Qa=Ac-fs|0,e[138268]=lc,e[138265]=Qa,kf=Qa|1,s0=fs+4|0,Zo=P9+s0|0,e[Zo>>2]=kf,n1=Ac+4|0,ya=P9+n1|0,e[ya>>2]=40,Sf=e[138384]|0,e[138269]=Sf;break}for(cc=e[138266]|0,bf=$6>>>0>>0,bf?(e[138266]=$6,ms=$6):ms=cc,Df=$6+ke|0,Fs=553496;;){if(_f=e[Fs>>2]|0,xf=(_f|0)==(Df|0),xf){I=Fs,$r=Fs,Y4=212;break}if(Lf=Fs+8|0,gc=e[Lf>>2]|0,Rf=(gc|0)==0,Rf){Ls=553496;break}else Fs=gc}if((Y4|0)==212)if(Ff=$r+12|0,Mf=e[Ff>>2]|0,va=Mf&8,Tf=(va|0)==0,Tf){e[I>>2]=$6,ka=$r+4|0,Nf=e[ka>>2]|0,Gf=Nf+ke|0,e[ka>>2]=Gf,Uf=$6+8|0,hc=Uf,Pf=hc&7,Of=(Pf|0)==0,qf=0-hc|0,Yf=qf&7,jo=Of?0:Yf,Jf=$6+jo|0,E0=ke+8|0,Vf=$6+E0|0,uc=Vf,Kf=uc&7,zf=(Kf|0)==0,Zf=0-uc|0,Wf=Zf&7,Ei=zf?0:Wf,b0=Ei+ke|0,mi=$6+b0|0,dc=mi,Sa=Jf,jf=dc-Sa|0,i0=jo+k4|0,X7=$6+i0|0,Is=jf-k4|0,Xf=k4|3,u0=jo+4|0,ed=$6+u0|0,e[ed>>2]=Xf,td=(mi|0)==(P9|0);t:do if(td)id=e[138265]|0,Ic=id+Is|0,e[138265]=Ic,e[138268]=X7,nd=Ic|1,q1=i0+4|0,sd=$6+q1|0,e[sd>>2]=nd;else{if(Ec=e[138267]|0,od=(mi|0)==(Ec|0),od){Ad=e[138264]|0,Es=Ad+Is|0,e[138264]=Es,e[138267]=X7,ba=Es|1,V1=i0+4|0,ad=$6+V1|0,e[ad>>2]=ba,O1=Es+i0|0,mc=$6+O1|0,e[mc>>2]=Es;break}if(o1=ke+4|0,K0=o1+Ei|0,ld=$6+K0|0,Xo=e[ld>>2]|0,cd=Xo&3,gd=(cd|0)==1,gd){Cc=Xo&-8,pc=Xo>>>3,hd=Xo>>>0<256;i:do if(hd){G1=Ei|8,V0=G1+ke|0,ud=$6+V0|0,Cn=e[ud>>2]|0,v1=ke+12|0,J0=v1+Ei|0,fd=$6+J0|0,pn=e[fd>>2]|0,Id=pc<<1,Bc=553088+(Id<<2)|0,Ed=(Cn|0)==(Bc|0);do if(!Ed){if(md=Cn>>>0>>0,md&&Q2(),Qc=Cn+12|0,Cd=e[Qc>>2]|0,yc=(Cd|0)==(mi|0),yc)break;Q2()}while(!1);if(pd=(pn|0)==(Cn|0),pd){Da=1<>>0>>0,yd&&Q2(),kc=pn+8|0,wd=e[kc>>2]|0,vd=(wd|0)==(mi|0),vd){N=kc;break}Q2()}while(!1);kd=Cn+12|0,e[kd>>2]=pn,e[N>>2]=Cn}else{R1=Ei|24,x0=R1+ke|0,Sd=$6+x0|0,Cs=e[Sd>>2]|0,Y1=ke+12|0,Q0=Y1+Ei|0,bd=$6+Q0|0,Bn=e[bd>>2]|0,Dd=(Bn|0)==(mi|0);do if(Dd){if(W1=Ei|16,_0=o1+W1|0,xc=$6+_0|0,Lc=e[xc>>2]|0,Fd=(Lc|0)==0,Fd)if(N0=W1+ke|0,Rc=$6+N0|0,Fc=e[Rc>>2]|0,Md=(Fc|0)==0,Md){x7=0;break}else wn=Fc,EA=Rc;else wn=Lc,EA=xc;for(;;){if(Mc=wn+20|0,Tc=e[Mc>>2]|0,Nd=(Tc|0)==0,!Nd){wn=Tc,EA=Mc;continue}if(Nc=wn+16|0,Gc=e[Nc>>2]|0,Gd=(Gc|0)==0,Gd){HE=wn,Kg=EA;break}else wn=Gc,EA=Nc}if(Ud=Kg>>>0>>0,Ud)Q2();else{e[Kg>>2]=0,x7=HE;break}}else if(F1=Ei|8,M0=F1+ke|0,_d=$6+M0|0,_a=e[_d>>2]|0,xd=_a>>>0>>0,xd&&Q2(),xa=_a+12|0,La=e[xa>>2]|0,bc=(La|0)==(mi|0),bc||Q2(),Dc=Bn+8|0,Rd=e[Dc>>2]|0,_c=(Rd|0)==(mi|0),_c){e[xa>>2]=Bn,e[Dc>>2]=_a,x7=Bn;break}else Q2();while(!1);if(Uc=(Cs|0)==0,Uc)break;w1=ke+28|0,T0=w1+Ei|0,Ra=$6+T0|0,Pc=e[Ra>>2]|0,Hc=553352+(Pc<<2)|0,Pd=e[Hc>>2]|0,Od=(mi|0)==(Pd|0);do if(Od){if(e[Hc>>2]=x7,zE=(x7|0)==0,!zE)break;qd=1<>>0>>0,Kd&&Q2(),Yc=Cs+16|0,zd=e[Yc>>2]|0,Zd=(zd|0)==(mi|0),Zd?e[Yc>>2]=x7:(Wd=Cs+20|0,e[Wd>>2]=x7),Jc=(x7|0)==0,Jc)break i;while(!1);Vc=e[138266]|0,jd=x7>>>0>>0,jd&&Q2(),Kc=x7+24|0,e[Kc>>2]=Cs,b1=Ei|16,G0=b1+ke|0,Ma=$6+G0|0,eA=e[Ma>>2]|0,zc=(eA|0)==0;do if(!zc)if(eI=eA>>>0>>0,eI)Q2();else{tI=x7+16|0,e[tI>>2]=eA,iI=eA+24|0,e[iI>>2]=x7;break}while(!1);if(Y0=o1+b1|0,Zc=$6+Y0|0,tA=e[Zc>>2]|0,rI=(tA|0)==0,rI)break;if(nI=e[138266]|0,sI=tA>>>0>>0,sI)Q2();else{oI=x7+20|0,e[oI>>2]=tA,AI=tA+24|0,e[AI>>2]=x7;break}}while(!1);o2=Cc|Ei,F0=o2+ke|0,$I=$6+F0|0,lI=Cc+Is|0,jg=$I,ti=lI}else jg=mi,ti=Is;if(Wc=jg+4|0,cI=e[Wc>>2]|0,gI=cI&-2,e[Wc>>2]=gI,hI=ti|1,v0=i0+4|0,uI=$6+v0|0,e[uI>>2]=hI,p0=ti+i0|0,iA=$6+p0|0,e[iA>>2]=ti,jc=ti>>>3,fI=ti>>>0<256,fI){Qn=jc<<1,Xc=553088+(Qn<<2)|0,eg=e[138262]|0,Ta=1<>2]|0,mI=e[138266]|0,pI=rg>>>0>>0,!pI){F=ig,Xa=rg;break}Q2()}while(!1);e[F>>2]=X7,BI=Xa+12|0,e[BI>>2]=X7,p1=i0+8|0,QI=$6+p1|0,e[QI>>2]=Xa,B1=i0+12|0,rA=$6+B1|0,e[rA>>2]=Xc;break}Na=ti>>>8,yI=(Na|0)==0;do if(yI)Lr=0;else{if(wI=ti>>>0>16777215,wI){Lr=31;break}vI=Na+1048320|0,kI=vI>>>16,ng=kI&8,sg=Na<>>16,og=DI&4,Dr=og|ng,Ag=sg<>>16,$g=_I&2,nA=Dr|$g,LI=14-nA|0,RI=Ag<<$g,sA=RI>>>15,lg=LI+sA|0,FI=lg<<1,MI=lg+7|0,cg=ti>>>MI,TI=cg&1,NI=TI|FI,Lr=NI}while(!1);if(Ga=553352+(Lr<<2)|0,y0=i0+28|0,GI=$6+y0|0,e[GI>>2]=Lr,z0=i0+16|0,UI=$6+z0|0,U0=i0+20|0,PI=$6+U0|0,e[PI>>2]=0,e[UI>>2]=0,gg=e[138263]|0,hg=1<>2]=X7,r1=i0+24|0,ps=$6+r1|0,e[ps>>2]=Ga,e1=i0+12|0,HI=$6+e1|0,e[HI>>2]=X7,i1=i0+8|0,YI=$6+i1|0,e[YI>>2]=X7;break}Ua=e[Ga>>2]|0,dg=Ua+4|0,JI=e[dg>>2]|0,VI=JI&-8,KI=(VI|0)==(ti|0);i:do if(KI)Rr=Ua;else{for(zI=(Lr|0)==31,Ig=Lr>>>1,ZI=25-Ig|0,WI=zI?0:ZI,jI=ti<>>31,Bg=(s$+16|0)+(pg<<2)|0,Bs=e[Bg>>2]|0,bi=(Bs|0)==0,bi){A=Bg,VE=s$;break}if(XI=Ss<<1,eE=Bs+4|0,mg=e[eE>>2]|0,Cg=mg&-8,tE=(Cg|0)==(ti|0),tE){Rr=Bs;break i}else Ss=XI,s$=Bs}if(sr=e[138266]|0,iE=A>>>0>>0,iE)Q2();else{e[A>>2]=X7,m1=i0+24|0,rE=$6+m1|0,e[rE>>2]=VE,d1=i0+12|0,nE=$6+d1|0,e[nE>>2]=X7,E1=i0+8|0,sE=$6+E1|0,e[sE>>2]=X7;break t}}while(!1);if(Pa=Rr+8|0,aA=e[Pa>>2]|0,yg=e[138266]|0,wg=aA>>>0>=yg>>>0,A$=Rr>>>0>=yg>>>0,oE=wg&A$,oE){Qs=aA+12|0,e[Qs>>2]=X7,e[Pa>>2]=X7,Z0=i0+8|0,AE=$6+Z0|0,e[AE>>2]=aA,I1=i0+12|0,lA=$6+I1|0,e[lA>>2]=Rr,h1=i0+24|0,Oa=$6+h1|0,e[Oa>>2]=0;break}else Q2()}while(!1);return $1=jo|8,aE=$6+$1|0,Ke=aE,Ke|0}else Ls=553496;for(;;){if(qa=e[Ls>>2]|0,$E=qa>>>0>P9>>>0,!$E&&(lE=Ls+4|0,vg=e[lE>>2]|0,cA=qa+vg|0,cE=cA>>>0>P9>>>0,cE)){g=qa,u=vg,E=cA;break}gE=Ls+8|0,hE=e[gE>>2]|0,Ls=hE}if($0=u+-47|0,c0=u+-39|0,uE=g+c0|0,Sg=uE,fE=Sg&7,jt=(fE|0)==0,y4=0-Sg|0,ei=y4&7,dE=jt?0:ei,a1=$0+dE|0,Dg=g+a1|0,Ha=P9+16|0,IE=Dg>>>0>>0,_r=IE?P9:Dg,ys=_r+8|0,EE=ke+-40|0,mE=$6+8|0,_g=mE,Ya=_g&7,CE=(Ya|0)==0,Lg=0-_g|0,Rg=Lg&7,Ja=CE?0:Rg,Va=$6+Ja|0,Fg=EE-Ja|0,e[138268]=Va,e[138265]=Fg,ws=Fg|1,Z=Ja+4|0,Ka=$6+Z|0,e[Ka>>2]=ws,s1=ke+-36|0,Mg=$6+s1|0,e[Mg>>2]=40,pE=e[138384]|0,e[138269]=pE,yn=_r+4|0,e[yn>>2]=27,e[ys>>2]=e[138374]|0,e[ys+4>>2]=e[138375]|0,e[ys+8>>2]=e[138376]|0,e[ys+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ke,e[138377]=0,e[138376]=ys,Tg=_r+28|0,e[Tg>>2]=7,gA=_r+32|0,QE=gA>>>0>>0,QE)for(Di=Tg;Ng=Di+4|0,e[Ng>>2]=7,yE=Di+8|0,wE=yE>>>0>>0,wE;)Di=Ng;if(vE=(_r|0)==(P9|0),!vE){if(kE=_r,SE=P9,_i=kE-SE|0,DE=e[yn>>2]|0,_E=DE&-2,e[yn>>2]=_E,xE=_i|1,Gg=P9+4|0,e[Gg>>2]=xE,e[_r>>2]=_i,Ci=_i>>>3,hA=_i>>>0<256,hA){za=Ci<<1,Ug=553088+(za<<2)|0,Pg=e[138262]|0,Og=1<>2]|0,ME=e[138266]|0,TE=Yg>>>0>>0,TE?Q2():(x=Hg,Wa=Yg)),e[x>>2]=P9,Jg=Wa+12|0,e[Jg>>2]=P9,NE=P9+8|0,e[NE>>2]=Wa,uA=P9+12|0,e[uA>>2]=Ug;break}if(fA=_i>>>8,GE=(fA|0)==0,GE?or=0:(Za=_i>>>0>16777215,Za?or=31:(UE=fA+1048320|0,PE=UE>>>16,Vg=PE&8,ks=fA<>>16,l2=qE&4,r2=l2|Vg,a2=ks<>>16,f2=s2&2,t2=r2|f2,y2=14-t2|0,k2=a2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=_i>>>N2,K2=d2&1,G2=K2|D2,or=G2)),H2=553352+(or<<2)|0,M2=P9+28|0,e[M2>>2]=or,P2=P9+20|0,e[P2>>2]=0,e[Ha>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=H2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}f5=e[H2>>2]|0,k5=f5+4|0,P5=e[k5>>2]|0,v2=P5&-8,m5=(v2|0)==(_i|0);t:do if(m5)CA=f5;else{for(n5=(or|0)==31,x2=or>>>1,_2=25-x2|0,p2=n5?0:_2,C5=_i<>>31,c5=(o$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,p5=(D5|0)==0,p5){a=c5,Zg=o$;break}if(R5=i$<<1,d5=D5+4|0,_5=e[d5>>2]|0,q2=_5&-8,I5=(q2|0)==(_i|0),I5){CA=D5;break t}else i$=R5,o$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Zg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(B5=CA+8|0,t5=e[B5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,WE=CA>>>0>=s5>>>0,J2=h5&WE,J2){u5=t5+12|0,e[u5>>2]=P9,e[B5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,x5=P9+12|0,e[x5>>2]=CA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(L2=e[138265]|0,Q5=L2>>>0>k4>>>0,Q5)return q5=L2-k4|0,e[138265]=q5,j5=e[138268]|0,E5=j5+k4|0,e[138268]=E5,f3=q5|1,V=k4+4|0,h3=j5+V|0,e[h3>>2]=f3,Y5=k4|3,X5=j5+4|0,e[X5>>2]=Y5,n3=j5+8|0,Ke=n3,Ke|0}return F5=JB()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,v4=0,u8=0,J3=0,w9=0,p9=0,F4=0,te=0,lt=0,xe=0;if(xe=C,X=(t|0)==0,!X){U=t+-8|0,K2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,x4=(z9|0)==1,x4&&Q2(),q9=$9&-8,B=q9+-8|0,Z9=t+B|0,l0=$9&1,j=(l0|0)==0;do if(j){if(b0=e[U>>2]|0,_0=(z9|0)==0,_0)return;if(Q=-8-b0|0,D0=t+Q|0,Z0=b0+q9|0,w1=D0>>>0>>0,w1&&Q2(),O1=e[138267]|0,o2=(D0|0)==(O1|0),o2){if(z=q9+-4|0,s0=t+z|0,i0=e[s0>>2]|0,n0=i0&3,V=(n0|0)==3,!V){J3=D0,w9=Z0;break}e[138264]=Z0,h0=i0&-2,e[s0>>2]=h0,o0=Z0|1,_=Q+4|0,g0=t+_|0,e[g0>>2]=o0,e[Z9>>2]=Z0;return}if(s2=b0>>>3,G2=b0>>>0<256,G2){if(Y=Q+8|0,b5=t+Y|0,p2=e[b5>>2]|0,t0=Q+12|0,p5=t+t0|0,J2=e[p5>>2]|0,f3=s2<<1,z3=553088+(f3<<2)|0,C3=(p2|0)==(z3|0),C3||(u6=p2>>>0>>0,u6&&Q2(),l6=p2+12|0,b3=e[l6>>2]|0,O6=(b3|0)==(D0|0),O6||Q2()),J6=(J2|0)==(p2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,M3=(F6|0)==(D0|0),M3?g=z6:Q2()),M6=p2+12|0,e[M6>>2]=J2,e[g>>2]=p2,J3=D0,w9=Z0;break}L=Q+24|0,t9=t+L|0,A9=e[t9>>2]|0,x=Q+12|0,X6=t+x|0,u9=e[X6>>2]|0,f9=(u9|0)==(D0|0);do if(f9){if(M=Q+20|0,o4=t+M|0,h4=e[o4>>2]|0,G9=(h4|0)==0,G9)if(F=Q+16|0,b9=t+F|0,E9=e[b9>>2]|0,q6=(E9|0)==0,q6){C9=0;break}else R4=E9,Be=b9;else R4=h4,Be=o4;for(;;){if(r9=R4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){R4=m4,Be=r9;continue}if(A4=R4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){ge=R4,B4=Be;break}else R4=y9,Be=A4}if(D4=B4>>>0>>0,D4)Q2();else{e[B4>>2]=0,C9=ge;break}}else if(O=Q+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(D0|0),i9||Q2(),N9=u9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(D0|0),E4){e[E6>>2]=u9,e[N9>>2]=a9,C9=u9;break}else Q2();while(!1);if(M4=(A9|0)==0,M4)J3=D0,w9=Z0;else{if(T=Q+28|0,j4=t+T|0,C4=e[j4>>2]|0,T4=553352+(C4<<2)|0,U9=e[T4>>2]|0,N4=(D0|0)==(U9|0),N4){if(e[T4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,pe&&Q2(),Ne=A9+16|0,Xe=e[Ne>>2]|0,G4=(Xe|0)==(D0|0),G4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),U4=(C9|0)==0,U4){J3=D0,w9=Z0;break}X4=e[138266]|0,be=C9>>>0>>0,be&&Q2(),e8=C9+24|0,e[e8>>2]=A9,N=Q+16|0,ae=t+N|0,f4=e[ae>>2]|0,_6=(f4|0)==0;do if(!_6)if(P4=f4>>>0>>0,P4)Q2();else{R9=C9+16|0,e[R9>>2]=f4,$4=f4+24|0,e[$4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,$e=e[_4>>2]|0,W9=($e|0)==0,W9)J3=D0,w9=Z0;else if(le=e[138266]|0,Z=$e>>>0>>0,Z)Q2();else{K=C9+20|0,e[K>>2]=$e,$0=$e+24|0,e[$0>>2]=C9,J3=D0,w9=Z0;break}}}else J3=U,w9=q9;while(!1);if(c0=J3>>>0>>0,c0||Q2(),D=q9+-4|0,u0=t+D|0,I0=e[u0>>2]|0,w0=I0&1,C0=(w0|0)==0,C0&&Q2(),v0=I0&2,d0=(v0|0)==0,d0){if(p0=e[138268]|0,B0=(Z9|0)==(p0|0),B0){if(E0=e[138265]|0,K0=E0+w9|0,e[138265]=K0,e[138268]=J3,x0=K0|1,Q0=J3+4|0,e[Q0>>2]=x0,M0=e[138267]|0,T0=(J3|0)==(M0|0),!T0)return;e[138267]=0,e[138264]=0;return}if(G0=e[138267]|0,P0=(Z9|0)==(G0|0),P0){y0=e[138264]|0,Y0=y0+w9|0,e[138264]=Y0,e[138267]=J3,F0=Y0|1,N0=J3+4|0,e[N0>>2]=F0,V0=J3+Y0|0,e[V0>>2]=Y0;return}J0=I0&-8,O0=J0+w9|0,z0=I0>>>3,U0=I0>>>0<256;do if(U0){if(q0=t+q9|0,r1=e[q0>>2]|0,y=q9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(u1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){o1=1<>>0>>0,p1&&Q2(),B1=e1+8|0,Q1=e[B1>>2]|0,x1=(Q1|0)==(Z9|0),x1?a=B1:Q2()),L1=r1+12|0,e[L1>>2]=e1,e[a>>2]=r1}else{J=q9+16|0,b1=t+J|0,R1=e[b1>>2]|0,W=q9|4,F1=t+W|0,G1=e[F1>>2]|0,v1=(G1|0)==(Z9|0);do if(v1){if(q=q9+12|0,W1=t+q|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=q9+8|0,z1=t+e0|0,u2=e[z1>>2]|0,E2=(u2|0)==0,E2){l4=0;break}else g6=u2,c4=z1;else g6=P1,c4=W1;for(;;){if(A2=g6+20|0,K1=e[A2>>2]|0,h2=(K1|0)==0,!h2){g6=K1,c4=A2;continue}if($2=g6+16|0,i2=e[$2>>2]|0,l2=(i2|0)==0,l2){Ue=g6,P6=c4;break}else g6=i2,c4=$2}if(r2=e[138266]|0,a2=P6>>>0>>0,a2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+q9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,_1=Z1>>>0>>0,_1&&Q2(),V1=Z1+12|0,q1=e[V1>>2]|0,H1=(q1|0)==(Z9|0),H1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,n2=(j1|0)==(Z9|0),n2){e[V1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(R1|0)==0,!X1){if(S=q9+20|0,f2=t+S|0,t2=e[f2>>2]|0,y2=553352+(t2<<2)|0,k2=e[y2>>2]|0,w2=(Z9|0)==(k2|0),w2){if(e[y2>>2]=l4,v4=(l4|0)==0,v4){C2=1<>>0>>0,H2&&Q2(),M2=R1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=R1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),L5=l4+24|0,e[L5>>2]=R1,b=q9+8|0,e5=t+b|0,Z2=e[e5>>2]|0,f5=(Z2|0)==0;do if(!f5)if(k5=Z2>>>0>>0,k5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(w=q9+12|0,v2=t+w|0,m5=e[v2>>2]|0,n5=(m5|0)==0,!n5)if(x2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,R5=m5+24|0,e[R5>>2]=l4;break}}}while(!1);if(d5=O0|1,D5=J3+4|0,e[D5>>2]=d5,G5=J3+O0|0,e[G5>>2]=O0,_5=e[138267]|0,q2=(J3|0)==(_5|0),q2){e[138264]=O0;return}else p9=O0}else I5=I0&-2,e[u0>>2]=I5,A5=w9|1,c5=J3+4|0,e[c5>>2]=A5,M1=J3+w9|0,e[M1>>2]=w9,p9=w9;if(S5=p9>>>3,g5=p9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,B5=1<>2]|0,x5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(u=u5,ce=i5)),e[u>>2]=J3,$5=ce+12|0,e[$5>>2]=J3,L2=J3+8|0,e[L2>>2]=ce,Q5=J3+12|0,e[Q5>>2]=W2;return}q5=p9>>>8,j5=(q5|0)==0,j5?p4=0:(E5=p9>>>0>16777215,E5?p4=31:(h3=q5+1048320|0,Y5=h3>>>16,X5=Y5&8,n3=q5<>>16,J5=F5&4,v3=J5|X5,u3=n3<>>16,z5=G3&2,w3=v3|z5,W5=14-w3|0,i6=u3<>>15,U3=W5+L3|0,a3=U3<<1,l3=U3+7|0,c3=p9>>>l3,H5=c3&1,U5=H5|a3,p4=U5)),O5=553352+(p4<<2)|0,v5=J3+28|0,e[v5>>2]=p4,P3=J3+16|0,M5=J3+20|0,e[M5>>2]=0,e[P3>>2]=0,o6=e[138263]|0,e3=1<>2]=J3,k3=J3+24|0,e[k3>>2]=O5,y3=J3+12|0,e[y3>>2]=J3,r6=J3+8|0,e[r6>>2]=J3;else{j3=e[O5>>2]|0,O3=j3+4|0,V5=e[O3>>2]|0,S3=V5&-8,g3=(S3|0)==(p9|0);t:do if(g3)De=j3;else{for(q3=(p4|0)==31,d3=p4>>>1,v6=25-d3|0,k6=q3?0:v6,S6=p9<>>31,t6=(_e+16|0)+(e6<<2)|0,c6=e[t6>>2]|0,f6=(c6|0)==0,f6){n=t6,t8=_e;break}if(p6=ee<<1,X3=c6+4|0,B6=e[X3>>2]|0,x6=B6&-8,Y6=(x6|0)==(p9|0),Y6){De=c6;break t}else ee=p6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

>>0,D3)Q2();else{e[n>>2]=J3,Y3=J3+24|0,e[Y3>>2]=t8,Z3=J3+12|0,e[Z3>>2]=J3,b6=J3+8|0,e[b6>>2]=J3;break e}}while(!1);if(A6=De+8|0,t3=e[A6>>2]|0,s3=e[138266]|0,a6=t3>>>0>=s3>>>0,u8=De>>>0>=s3>>>0,d6=a6&u8,d6){_3=t3+12|0,e[_3>>2]=J3,e[A6>>2]=J3,N6=J3+8|0,e[N6>>2]=t3,n6=J3+12|0,e[n6>>2]=De,Q6=J3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(L6=e[138270]|0,K6=L6+-1|0,e[138270]=K6,I6=(K6|0)==0,I6)te=553504;else return;for(;F4=e[te>>2]|0,F3=(F4|0)==0,j6=F4+8|0,!F3;)te=j6;e[138270]=-1}}function n4(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=(t|0)==0,a?D=0:(g=r5(n,t)|0,I=n|t,m=I>>>0>65535,m?(B=(g>>>0)/(t>>>0)&-1,p=(B|0)==(n|0),A=p?g:-1,D=A):D=g),S=S9(D)|0,b=(S|0)==0,b||(w=S+-4|0,y=e[w>>2]|0,u=y&3,E=(u|0)==0,E)||Ae(S|0,0,D|0)|0,S|0}function qi(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=(t|0)==0,A?(a=S9(n)|0,O=a,O|0):(y=n>>>0>4294967231,y?(L=JB()|0,e[L>>2]=12,O=0,O|0):(x=n>>>0<11,F=n+11|0,M=F&-8,T=x?16:M,N=t+-8|0,G=Bb(N,T)|0,g=(G|0)==0,g?(E=S9(n)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,B=e[m>>2]|0,p=B&-8,S=B&3,b=(S|0)==0,w=b?8:4,D=p-w|0,Q=D>>>0>>0,_=Q?D:n,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(u=G+8|0,O=u,O|0)))}function Bb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0;if(J5=C,N=t+4|0,G=e[N>>2]|0,v1=G&-8,n2=t+v1|0,$2=e[138266]|0,w2=G&3,f3=t>>>0>=$2>>>0,h3=(w2|0)!=1,Y5=h3&f3,z2=t>>>0>>0,X5=Y5&z2,X5||Q2(),_=v1|4,P5=t+_|0,D5=e[P5>>2]|0,a5=D5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return c0=n>>>0<256,c0?(E5=0,E5|0):(K0=n+4|0,N0=v1>>>0>>0,!N0&&(i1=v1-n|0,I1=e[138382]|0,b1=I1<<1,F1=i1>>>0>b1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=v1>>>0>>0,!G1)return U1=v1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,_1=G&1,V1=_1|n,O1=V1|2,e[N>>2]=O1,Q=n+4|0,q1=t+Q|0,H1=U1|3,e[q1>>2]=H1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,QQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(n2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+v1|0,u2=z1>>>0>n>>>0,u2?(o2=z1-n|0,E2=t+n|0,A2=G&1,K1=A2|n,h2=K1|2,e[N>>2]=h2,D=n+4|0,i2=t+D|0,l2=o2|1,e[i2>>2]=l2,e[138268]=E2,e[138265]=o2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,a2=(n2|0)==(r2|0),a2)return X1=e[138264]|0,s2=X1+v1|0,f2=s2>>>0>>0,f2?(E5=0,E5|0):(t2=s2-n|0,y2=t2>>>0>15,y2?(k2=t+n|0,C2=t+s2|0,F2=G&1,D2=F2|n,N2=D2|2,e[N>>2]=N2,b=n+4|0,d2=t+b|0,K2=t2|1,e[d2>>2]=K2,e[C2>>2]=t2,y=s2+4|0,G2=t+y|0,H2=e[G2>>2]|0,M2=H2&-2,e[G2>>2]=M2,n3=k2,m3=t2):(P2=G&1,o5=P2|s2,O2=o5|2,e[N>>2]=O2,S=s2+4|0,T1=t+S|0,X2=e[T1>>2]|0,L5=X2|1,e[T1>>2]=L5,n3=0,m3=0),e[138264]=m3,e[138267]=n3,E5=t,E5|0);if(e5=D5&2,b5=(e5|0)==0,!b5||(Z2=D5&-8,f5=Z2+v1|0,k5=f5>>>0>>0,k5))return E5=0,E5|0;l5=f5-n|0,v2=D5>>>3,m5=D5>>>0<256;do if(m5){if(B=v1+8|0,n5=t+B|0,x2=e[n5>>2]|0,p=v1+12|0,_2=t+p|0,p2=e[_2>>2]|0,C5=v2<<1,R5=553088+(C5<<2)|0,d5=(x2|0)==(R5|0),d5||(G5=x2>>>0<$2>>>0,G5&&Q2(),_5=x2+12|0,q2=e[_5>>2]|0,I5=(q2|0)==(n2|0),I5||Q2()),A5=(p2|0)==(x2|0),A5){c5=1<>>0<$2>>>0,W2&&Q2(),g2=p2+8|0,B5=e[g2>>2]|0,t5=(B5|0)==(n2|0),t5?a=g2:Q2()),s5=x2+12|0,e[s5>>2]=p2,e[a>>2]=x2}else{g=v1+24|0,h5=t+g|0,J2=e[h5>>2]|0,w=v1+12|0,u5=t+w|0,i5=e[u5>>2]|0,x5=(i5|0)==(n2|0);do if(x5){if(x=v1+20|0,l0=t+x|0,K=e[l0>>2]|0,$0=(K|0)==0,$0)if(L=v1+16|0,s0=t+L|0,i0=e[s0>>2]|0,n0=(i0|0)==0,n0){L2=0;break}else j2=i0,Q5=s0;else j2=K,Q5=l0;for(;;){if(V=j2+20|0,h0=e[V>>2]|0,o0=(h0|0)==0,!o0){j2=h0,Q5=V;continue}if(g0=j2+16|0,j=e[g0>>2]|0,u0=(j|0)==0,u0){$5=j2,q5=Q5;break}else j2=j,Q5=g0}if(I0=q5>>>0<$2>>>0,I0)Q2();else{e[q5>>2]=0,L2=$5;break}}else if(m=v1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0<$2>>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(n2|0),e0||Q2(),q=i5+8|0,X=e[q>>2]|0,U=(X|0)==(n2|0),U){e[J>>2]=i5,e[q>>2]=Y,L2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(u=v1+28|0,C0=t+u|0,v0=e[C0>>2]|0,d0=553352+(v0<<2)|0,p0=e[d0>>2]|0,B0=(n2|0)==(p0|0),B0){if(e[d0>>2]=L2,j5=(L2|0)==0,j5){E0=1<>>0>>0,T0&&Q2(),G0=J2+16|0,P0=e[G0>>2]|0,y0=(P0|0)==(n2|0),y0?e[G0>>2]=L2:(Y0=J2+20|0,e[Y0>>2]=L2),F0=(L2|0)==0,F0)break;_0=e[138266]|0,V0=L2>>>0<_0>>>0,V0&&Q2(),J0=L2+24|0,e[J0>>2]=J2,E=v1+16|0,O0=t+E|0,z0=e[O0>>2]|0,U0=(z0|0)==0;do if(!U0)if(q0=z0>>>0<_0>>>0,q0)Q2();else{r1=L2+16|0,e[r1>>2]=z0,H0=z0+24|0,e[H0>>2]=L2;break}while(!1);if(I=v1+20|0,e1=t+I|0,D0=e[e1>>2]|0,c1=(D0|0)==0,!c1)if($1=e[138266]|0,u1=D0>>>0<$1>>>0,u1)Q2();else{g1=L2+20|0,e[g1>>2]=D0,l1=D0+24|0,e[l1>>2]=L2;break}}}while(!1);return s1=l5>>>0<16,s1?(a1=G&1,n1=f5|a1,o1=n1|2,e[N>>2]=o1,T=f5|4,Z0=t+T|0,h1=e[Z0>>2]|0,m1=h1|1,e[Z0>>2]=m1,E5=t,E5|0):(d1=t+n|0,E1=G&1,p1=E1|n,B1=p1|2,e[N>>2]=B1,F=n+4|0,Q1=t+F|0,x1=l5|3,e[Q1>>2]=x1,M=f5|4,L1=t+M|0,w1=e[L1>>2]|0,R1=w1|1,e[L1>>2]=R1,QQ(d1,l5),E5=t,E5|0)}function QQ(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0,N0=0,V0=0,J0=0,O0=0,z0=0,U0=0,q0=0,r1=0,H0=0,e1=0,D0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,p1=0,B1=0,Q1=0,x1=0,L1=0,w1=0,b1=0,R1=0,F1=0,G1=0,v1=0,U1=0,Z1=0,N1=0,_1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,t2=0,y2=0,k2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,k5=0,P5=0,l5=0,v2=0,m5=0,n5=0,x2=0,_2=0,p2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,p5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,B5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,v3=0,u3=0,B3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,v5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,k3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,v6=0,k6=0,S6=0,p6=0,X3=0,c6=0,B6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,j4=0,C4=0,T4=0,U9=0,N4=0,a4=0,L4=0,u4=0,Ce=0,q9=0,m9=0,pe=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,X4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,R9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,p4=0,ee=0,R4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,Be=0,B4=0;B4=C,K=t+n|0,$0=t+4|0,P2=e[$0>>2]|0,f6=P2&1,J6=(f6|0)==0;do if(J6){if(F6=e[t>>2]|0,T9=P2&3,b9=(T9|0)==0,b9)return;if(M4=0-F6|0,m9=t+M4|0,s0=F6+n|0,w0=e[138266]|0,M0=m9>>>0>>0,M0&&Q2(),O0=e[138267]|0,u1=(m9|0)==(O0|0),u1){if(w=n+4|0,Z9=t+w|0,i0=e[Z9>>2]|0,n0=i0&3,V=(n0|0)==3,!V){A=m9,a=s0;break}e[138264]=s0,h0=i0&-2,e[Z9>>2]=h0,o0=s0|1,x=4-F6|0,g0=t+x|0,e[g0>>2]=o0,e[K>>2]=s0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,k2=t+W|0,z2=e[k2>>2]|0,P5=d1<<1,D5=553088+(P5<<2)|0,a5=(h2|0)==(D5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),n3=h2+12|0,W5=e[n3>>2]|0,v5=(W5|0)==(m9|0),v5||Q2()),r6=(z2|0)==(h2|0),r6){S6=1<>>0>>0,N6&&Q2(),n6=z2+8|0,Q6=e[n6>>2]|0,L6=(Q6|0)==(m9|0),L6?m=n6:Q2()),K6=h2+12|0,e[K6>>2]=z2,e[m>>2]=h2,A=m9,a=s0;break}F=24-F6|0,I6=t+F|0,F3=e[I6>>2]|0,M=12-F6|0,j6=t+M|0,G6=e[j6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,A9=t+N|0,X6=e[A9>>2]|0,u9=(X6|0)==0,u9)if(f9=t+T|0,d9=e[f9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else P4=d9,le=f9;else P4=X6,le=A9;for(;;){if($9=P4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){P4=E6,le=$9;continue}if(i9=P4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){R9=P4,ce=le;break}else P4=N9,le=i9}if(E4=ce>>>0>>0,E4)Q2();else{e[ce>>2]=0,$4=R9;break}}else if(t0=8-F6|0,s9=t+t0|0,R6=e[s9>>2]|0,U6=R6>>>0>>0,U6&&Q2(),D6=R6+12|0,z6=e[D6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),M3=G6+8|0,M6=e[M3>>2]|0,t9=(M6|0)==(m9|0),t9){e[D6>>2]=G6,e[M3>>2]=R6,$4=G6;break}else Q2();while(!1);if(o4=(F3|0)==0,o4)A=m9,a=s0;else{if(O=28-F6|0,h4=t+O|0,G9=e[h4>>2]|0,z9=553352+(G9<<2)|0,E9=e[z9>>2]|0,q6=(m9|0)==(E9|0),q6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){r9=1<>>0>>0,b4&&Q2(),D4=F3+16|0,x4=e[D4>>2]|0,j4=(x4|0)==(m9|0),j4?e[D4>>2]=$4:(C4=F3+20|0,e[C4>>2]=$4),T4=($4|0)==0,T4){A=m9,a=s0;break}U9=e[138266]|0,N4=$4>>>0>>0,N4&&Q2(),a4=$4+24|0,e[a4>>2]=F3,z=16-F6|0,L4=t+z|0,u4=e[L4>>2]|0,Ce=(u4|0)==0;do if(!Ce)if(q9=u4>>>0>>0,q9)Q2();else{pe=$4+16|0,e[pe>>2]=u4,Ne=u4+24|0,e[Ne>>2]=$4;break}while(!1);if(Y=z+4|0,Xe=t+Y|0,G4=e[Xe>>2]|0,Ge=(G4|0)==0,Ge)A=m9,a=s0;else if(U4=e[138266]|0,X4=G4>>>0>>0,X4)Q2();else{be=$4+20|0,e[be>>2]=G4,e8=G4+24|0,e[e8>>2]=$4,A=m9,a=s0;break}}}else A=t,a=n;while(!1);if(j=e[138266]|0,c0=K>>>0>>0,c0&&Q2(),y=n+4|0,u0=t+y|0,I0=e[u0>>2]|0,C0=I0&2,v0=(C0|0)==0,v0){if(d0=e[138268]|0,p0=(K|0)==(d0|0),p0){if(B0=e[138265]|0,E0=B0+a|0,e[138265]=E0,e[138268]=A,b0=E0|1,K0=A+4|0,e[K0>>2]=b0,x0=e[138267]|0,Q0=(A|0)==(x0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(T0=e[138267]|0,G0=(K|0)==(T0|0),G0){P0=e[138264]|0,y0=P0+a|0,e[138264]=y0,e[138267]=A,Y0=y0|1,F0=A+4|0,e[F0>>2]=Y0,_0=A+y0|0,e[_0>>2]=y0;return}N0=I0&-8,V0=N0+a|0,J0=I0>>>3,z0=I0>>>0<256;do if(z0){if(_=n+8|0,U0=t+_|0,q0=e[U0>>2]|0,L=n+12|0,r1=t+L|0,H0=e[r1>>2]|0,e1=J0<<1,D0=553088+(e1<<2)|0,i1=(q0|0)==(D0|0),i1||(c1=q0>>>0>>0,c1&&Q2(),$1=q0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(K|0),l1||Q2()),s1=(H0|0)==(q0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=H0+8|0,E1=e[m1>>2]|0,p1=(E1|0)==(K|0),p1?I=m1:Q2()),B1=q0+12|0,e[B1>>2]=H0,e[I>>2]=q0}else{G=n+24|0,Q1=t+G|0,x1=e[Q1>>2]|0,e0=n+12|0,L1=t+e0|0,w1=e[L1>>2]|0,b1=(w1|0)==(K|0);do if(b1){if(X=n+20|0,q1=t+X|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,Y1)if(q=n+16|0,n2=t+q|0,W1=e[n2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,p4=n2;else _4=H1,p4=q1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,u2=(z1|0)==0,!u2){_4=z1,p4=c2;continue}if(o2=_4+16|0,E2=e[o2>>2]|0,A2=(E2|0)==0,A2){$e=_4,ee=p4;break}else _4=E2,p4=o2}if(K1=ee>>>0>>0,K1)Q2();else{e[ee>>2]=0,W9=$e;break}}else if(Q=n+8|0,R1=t+Q|0,F1=e[R1>>2]|0,v1=F1>>>0>>0,v1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(K|0),N1||Q2(),_1=w1+8|0,V1=e[_1>>2]|0,O1=(V1|0)==(K|0),O1){e[U1>>2]=w1,e[_1>>2]=F1,W9=w1;break}else Q2();while(!1);if($2=(x1|0)==0,!$2){if(l0=n+28|0,i2=t+l0|0,l2=e[i2>>2]|0,r2=553352+(l2<<2)|0,a2=e[r2>>2]|0,X1=(K|0)==(a2|0),X1){if(e[r2>>2]=W9,Ue=(W9|0)==0,Ue){s2=1<>>0>>0,C2&&Q2(),F2=x1+16|0,D2=e[F2>>2]|0,N2=(D2|0)==(K|0),N2?e[F2>>2]=W9:(d2=x1+20|0,e[d2>>2]=W9),K2=(W9|0)==0,K2)break;G2=e[138266]|0,H2=W9>>>0>>0,H2&&Q2(),M2=W9+24|0,e[M2>>2]=x1,Z=n+16|0,o5=t+Z|0,O2=e[o5>>2]|0,T1=(O2|0)==0;do if(!T1)if(X2=O2>>>0>>0,X2)Q2();else{L5=W9+16|0,e[L5>>2]=O2,e5=O2+24|0,e[e5>>2]=W9;break}while(!1);if(D=n+20|0,b5=t+D|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,!f5)if(k5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{v2=W9+20|0,e[v2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(n5=V0|1,x2=A+4|0,e[x2>>2]=n5,_2=A+V0|0,e[_2>>2]=V0,p2=e[138267]|0,C5=(A|0)==(p2|0),C5){e[138264]=V0;return}else g=V0}else R5=I0&-2,e[u0>>2]=R5,d5=a|1,G5=A+4|0,e[G5>>2]=d5,_5=A+a|0,e[_5>>2]=a,g=a;if(q2=g>>>3,I5=g>>>0<256,I5){A5=q2<<1,c5=553088+(A5<<2)|0,p5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=B5>>>0>>0,s5?Q2():(B=g2,ae=B5)),e[B>>2]=A,h5=ae+12|0,e[h5>>2]=A,J2=A+8|0,e[J2>>2]=ae,u5=A+12|0,e[u5>>2]=c5;return}if(i5=g>>>8,x5=(i5|0)==0,x5?f4=0:($5=g>>>0>16777215,$5?f4=31:(L2=i5+1048320|0,Q5=L2>>>16,q5=Q5&8,j5=i5<>>16,h3=f3&4,Y5=h3|q5,X5=j5<>>16,J5=F5&2,v3=Y5|J5,u3=14-v3|0,B3=X5<>>15,G3=u3+z3|0,z5=G3<<1,w3=G3+7|0,i6=g>>>w3,L3=i6&1,U3=L3|z5,f4=U3)),a3=553352+(f4<<2)|0,l3=A+28|0,e[l3>>2]=f4,c3=A+16|0,C3=A+20|0,e[C3>>2]=0,e[c3>>2]=0,H5=e[138263]|0,U5=1<>2]=A,o6=A+24|0,e[o6>>2]=a3,e3=A+12|0,e[e3>>2]=A,A3=A+8|0,e[A3>>2]=A;return}R3=e[a3>>2]|0,u6=R3+4|0,Q3=e[u6>>2]|0,k3=Q3&-8,y3=(k3|0)==(g|0);e:do if(y3)R4=R3;else{for(j3=(f4|0)==31,O3=f4>>>1,V5=25-O3|0,S3=j3?0:V5,g3=g<>>31,c6=(ge+16|0)+(X3<<2)|0,d3=e[c6>>2]|0,B6=(d3|0)==0,B6){u=c6,C9=ge;break}if(q3=_6<<1,l6=d3+4|0,v6=e[l6>>2]|0,k6=v6&-8,p6=(k6|0)==(g|0),p6){R4=d3;break e}else _6=q3,ge=d3}x6=e[138266]|0,Y6=u>>>0>>0,Y6&&Q2(),e[u>>2]=A,C6=A+24|0,e[C6>>2]=C9,b3=A+12|0,e[b3>>2]=A,e6=A+8|0,e[e6>>2]=A;return}while(!1);t6=R4+8|0,D3=e[t6>>2]|0,Y3=e[138266]|0,Z3=D3>>>0>=Y3>>>0,l4=R4>>>0>=Y3>>>0,b6=Z3&l4,b6||Q2(),A6=D3+12|0,e[A6>>2]=A,e[t6>>2]=A,t3=A+8|0,e[t3>>2]=D3,O6=A+12|0,e[O6>>2]=R4,s3=A+24|0,e[s3>>2]=0}function Qb(){e[6410]=O9}function Ae(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,g=0,u=0,E=0;if(a=t+A|0,(A|0)>=20){if(n=n&255,E=t&3,g=n|n<<8|n<<16|n<<24,u=a&-4,E)for(E=t+4-E|0;(t|0)<(E|0);)d[t>>0]=n,t=t+1|0;for(;(t|0)<(u|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=n,t=t+1|0;return t-A|0}function j$(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function yQ(t,n){t=t|0,n=n|0;var A=0,a=0;a=t+(j$(t)|0)|0;do d[a+A>>0]=d[n+A>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function wQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>32-A,t<>>0,u=n+a+(g>>>0>>0|0)>>>0,H6=u,g|0|0}function Xs(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>A,t>>>A|(n&a)<<32-A):(H6=0,n>>>A-32|0)}function s4(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((A|0)>=4096)return Lk(t|0,n|0,A|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(A|0))return a|0;d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[n>>2]|0,t=t+4|0,n=n+4|0,A=A-4|0}for(;(A|0)>0;)d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0;return a|0}function XA(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((n|0)<(t|0)&(t|0)<(n+A|0)){for(a=t,n=n+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,n=n-1|0,A=A-1|0,d[t>>0]=d[n>>0]|0;t=a}else s4(t,n,A)|0;return t|0}function dp(t,n){t=t|0,n=n|0;var A=0;do d[(t+A|0)>>0]=d[(n+A|0)>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function eo(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0;return g=t-A>>>0,u=n-a>>>0,u=n-a-(A>>>0>t>>>0|0)>>>0,H6=u,g|0|0}function qD(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>A,t>>>A|(n&a)<<32-A):(H6=(n|0)<0?-1:0,n>>A-32|0)}function vQ(t){t=t|0;var n=0;return n=d[x9+(t&255)>>0]|0,(n|0)<8?n|0:(n=d[x9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=d[x9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(d[x9+(t>>>24)>>0]|0)+24|0))}function yb(t,n){t=t|0,n=n|0;var A=0,a=0,g=0,u=0,E=0,I=0,m=0;return A=t&65535,a=n&65535,g=r5(a,A)|0,u=t>>>16,E=(g>>>16)+(r5(a,u)|0)|0,I=n>>>16,m=r5(I,A)|0,H6=((E>>>16)+(r5(I,u)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|g&65535)|0}function HD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0;return g=n>>31|((n|0)<0?-1:0)<<1,u=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,E=a>>31|((a|0)<0?-1:0)<<1,I=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,m=eo(g^t,u^n,g,u)|0,B=H6,p=eo(E^A,I^a,E,I)|0,S=E^g,b=I^u,w=rC(m,B,p,H6,0)|0,y=eo(w^S,H6^b,S,b)|0,y|0}function YD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0;return y=C,C=C+8|0,g=y|0,u=n>>31|((n|0)<0?-1:0)<<1,E=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,I=a>>31|((a|0)<0?-1:0)<<1,m=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,B=eo(u^t,E^n,u,E)|0,p=H6,S=eo(I^A,m^a,I,m)|0,rC(B,p,S,H6,g)|0,b=eo(e[g>>2]^u,e[g+4>>2]^E,u,E)|0,w=H6,C=y,H6=w,b|0}function wb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0,E=0,I=0,m=0;return g=t,u=A,E=yb(g,u)|0,I=H6,m=r5(n,u)|0,H6=((r5(a,g)|0)+m|0)+I|I&0,0|E&-1|0}function JD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0;return g=rC(t,n,A,a,0)|0,g|0}function VD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var g=0,u=0;return u=C,C=C+8|0,g=u|0,rC(t,n,A,a,g)|0,C=u,H6=e[g+4>>2]|0,e[g>>2]|0|0}function rC(t,n,A,a,g){t=t|0,n=n|0,A=A|0,a=a|0,g=g|0;var u=0,E=0,I=0,m=0,B=0,p=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,l0=0,Z=0,K=0,$0=0,s0=0,i0=0,n0=0,V=0,h0=0,o0=0,g0=0,j=0,c0=0,u0=0,I0=0,w0=0,C0=0,v0=0,d0=0,p0=0,B0=0,E0=0,b0=0,K0=0,x0=0,Q0=0,M0=0,T0=0,G0=0,P0=0,y0=0,Y0=0,F0=0,_0=0;if(u=t,E=n,I=E,m=A,B=a,p=B,!(I|0))return S=(g|0)!=0,p|0?S?(e[g>>2]=t&-1,e[g+4>>2]=n&0,_0=0,F0=0,H6=_0,F0|0):(_0=0,F0=0,H6=_0,F0|0):(S&&(e[g>>2]=(u>>>0)%(m>>>0),e[g+4>>2]=0),_0=0,F0=(u>>>0)/(m>>>0)>>>0,H6=_0,F0|0);b=(p|0)==0;do if(m|0){if(!b){if(Y=Ws(p|0)|0,t0=Y-(Ws(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,l0=u>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,q=u<>2]=0|t&-1,e[g+4>>2]=E|n&0,_0=0,F0=0,H6=_0,F0|0):(_0=0,F0=0,H6=_0,F0|0)}if(L=m-1|0,L&m|0){F=(Ws(m|0)|0)+33|0,M=F-(Ws(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,l0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=u<>>(O>>>0))&G|u<>31;break}return g|0&&(e[g>>2]=L&u,e[g+4>>2]=0),(m|0)==1?(_0=E|n&0,F0=0|t&-1,H6=_0,F0|0):(x=vQ(m|0)|0,_0=0|I>>>(x>>>0),F0=I<<32-x|u>>>(x>>>0)|0,H6=_0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(m>>>0),e[g+4>>2]=0),_0=0,F0=(I>>>0)/(m>>>0)>>>0,H6=_0,F0|0;if(!(u|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(p>>>0)),_0=0,F0=(I>>>0)/(p>>>0)>>>0,H6=_0,F0|0;if(w=p-1|0,!(w&p|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=w&I|n&0),_0=0,F0=I>>>((vQ(p|0)|0)>>>0),H6=_0,F0|0;if(y=Ws(p|0)|0,D=y-(Ws(I|0)|0)|0,D>>>0<=30){Q=D+1|0,_=31-D|0,Z=Q,l0=I<<_|u>>>(Q>>>0),U=I>>>(Q>>>0),X=0,q=u<<_;break}return g|0?(e[g>>2]=0|t&-1,e[g+4>>2]=E|n&0,_0=0,F0=0,H6=_0,F0|0):(_0=0,F0=0,H6=_0,F0|0)}while(!1);if(!(Z|0))G0=q,T0=X,M0=U,Q0=l0,x0=0,K0=0;else{for(K=0|A&-1,$0=B|a&0,s0=js(K|0,$0|0,-1,-1)|0,i0=H6,j=q,g0=X,o0=U,h0=l0,V=Z,n0=0;c0=g0>>>31|j<<1,u0=n0|g0<<1,I0=0|(h0<<1|j>>>31),w0=h0>>>31|o0<<1|0,eo(s0,i0,I0,w0)|0,C0=H6,v0=C0>>31|((C0|0)<0?-1:0)<<1,d0=v0&1,p0=eo(I0,w0,v0&K,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&$0)|0,B0=p0,E0=H6,b0=V-1|0,b0|0;)j=c0,g0=u0,o0=E0,h0=B0,V=b0,n0=d0;G0=c0,T0=u0,M0=E0,Q0=B0,x0=0,K0=d0}return P0=T0,y0=0,Y0=G0|y0,g|0&&(e[g>>2]=0|Q0,e[g+4>>2]=M0|0),_0=(0|P0)>>>31|Y0<<1|(y0<<1|P0>>>31)&0|x0,F0=(P0<<1|0)&-2|K0,H6=_0,F0|0}function vb(t,n,A,a,g){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,mp[t&3](n|0,A|0,a|0,g|0)|0}function kb(t,n){t=t|0,n=n|0,to[t&7](n|0)}function Sb(t,n,A){t=t|0,n=n|0,A=A|0,Cp[t&3](n|0,A|0)}function bb(t,n){return t=t|0,n=n|0,bQ[t&1](n|0)|0}function Db(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0,DQ[t&1](n|0,A|0,a|0)}function _b(t,n,A,a,g,u,E,I,m){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,m=m|0,_Q[t&3](n|0,A|0,a|0,g|0,u|0,E|0,I|0,m|0)|0}function xb(t,n,A){return t=t|0,n=n|0,A=A|0,f7[t&15](n|0,A|0)|0}function Lb(t,n,A,a,g,u){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,pp[t&7](n|0,A|0,a|0,g|0,u|0)|0}function Rb(t,n,A,a){return t=t|0,n=n|0,A=A|0,a=a|0,jr(0),0}function Ip(t){t=t|0,jr(1)}function kQ(t,n){t=t|0,n=n|0,jr(2)}function Fb(t){return t=t|0,jr(3),0}function Mb(t,n,A){t=t|0,n=n|0,A=A|0,jr(4)}function SQ(t,n,A,a,g,u,E,I){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,u=u|0,E=E|0,I=I|0,jr(5),0}function X$(t,n){return t=t|0,n=n|0,jr(6),0}function Ep(t,n,A,a,g){return t=t|0,n=n|0,A=A|0,a=a|0,g=g|0,jr(7),0}var mp=[Rb,pS,sS,oS],to=[Ip,ES,mS,_S,HS,YS,Ip,Ip],Cp=[kQ,fS,JS,kQ],bQ=[Fb,xS],DQ=[Mb,bS],_Q=[SQ,ZS,eb,SQ],f7=[X$,dS,IS,CS,DS,LS,VS,KS,BS,qS,ob,X$,X$,X$,X$,X$],pp=[Ep,zS,WS,jS,XS,tb,Ep,Ep];return{_memmove:XA,_strlen:j$,_strcat:yQ,_free:I2,_i64Add:js,_encoder_clear:ub,_encoder_transfer_data:Eb,_encoder_data_len:Ib,_memset:Ae,_malloc:S9,_memcpy:s4,_encoder_init:hb,_encoder_process:db,_bitshift64Lshr:Xs,_bitshift64Shl:wQ,_strcpy:dp,_encoder_analysis_buffer:fb,runPostSets:Qb,stackAlloc:Mk,stackSave:Tk,stackRestore:Nk,establishStackSpace:Gk,setThrew:Uk,setTempRet0:Pk,getTempRet0:Ok,dynCall_iiiii:vb,dynCall_vi:kb,dynCall_vii:Sb,dynCall_ii:bb,dynCall_viii:Db,dynCall_iiiiiiiii:_b,dynCall_iii:xb,dynCall_iiiiii:Lb}}(o.asmGlobalArg,o.asmLibraryArg,Mi),ED=o.runPostSets=V9.runPostSets,Ik=o._strlen=V9._strlen,Ek=o._strcat=V9._strcat,np=o._free=V9._free,mD=o._encoder_init=V9._encoder_init,mk=o._i64Add=V9._i64Add,Ck=o._memmove=V9._memmove,CD=o._encoder_transfer_data=V9._encoder_transfer_data,pD=o._encoder_process=V9._encoder_process,BD=o._encoder_data_len=V9._encoder_data_len,pk=o._memset=V9._memset,Dh=o._malloc=V9._malloc,Bk=o._memcpy=V9._memcpy,QD=o._encoder_clear=V9._encoder_clear,Qk=o._bitshift64Lshr=V9._bitshift64Lshr,yD=o._encoder_analysis_buffer=V9._encoder_analysis_buffer,yk=o._strcpy=V9._strcpy,wk=o._bitshift64Shl=V9._bitshift64Shl,wD=o.dynCall_iiiii=V9.dynCall_iiiii,vD=o.dynCall_vi=V9.dynCall_vi,kD=o.dynCall_vii=V9.dynCall_vii,SD=o.dynCall_ii=V9.dynCall_ii,bD=o.dynCall_viii=V9.dynCall_viii,DD=o.dynCall_iiiiiiiii=V9.dynCall_iiiiiiiii,_D=o.dynCall_iii=V9.dynCall_iii,xD=o.dynCall_iiiiii=V9.dynCall_iiiiii;R.stackAlloc=V9.stackAlloc,R.stackSave=V9.stackSave,R.stackRestore=V9.stackRestore,R.establishStackSpace=V9.establishStackSpace,R.setTempRet0=V9.setTempRet0,R.getTempRet0=V9.getTempRet0;var LD=function(){var i={math:{}};i.math.Long=function(H,S0){this.low_=H|0,this.high_=S0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(H){if(-128<=H&&H<128){var S0=i.math.Long.IntCache_[H];if(S0)return S0}var j0=new i.math.Long(H|0,H<0?-1:0);return-128<=H&&H<128&&(i.math.Long.IntCache_[H]=j0),j0},i.math.Long.fromNumber=function(H){return isNaN(H)||!isFinite(H)?i.math.Long.ZERO:H<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:H+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:H<0?i.math.Long.fromNumber(-H).negate():new i.math.Long(H%i.math.Long.TWO_PWR_32_DBL_|0,H/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(H,S0){return new i.math.Long(H,S0)},i.math.Long.fromString=function(H,S0){if(H.length==0)throw Error("number format error: empty string");var j0=S0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+H);for(var m2=i.math.Long.fromNumber(Math.pow(j0,8)),Z5=i.math.Long.ZERO,N5=0;N5=0?this.low_:i.math.Long.TWO_PWR_32_DBL_+this.low_},i.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(i.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var H=this.high_!=0?this.high_:this.low_,S0=31;S0>0&&!(H&1<0},i.math.Long.prototype.greaterThanOrEqual=function(H){return this.compare(H)>=0},i.math.Long.prototype.compare=function(H){if(this.equals(H))return 0;var S0=this.isNegative(),j0=H.isNegative();return S0&&!j0?-1:!S0&&j0?1:this.subtract(H).isNegative()?-1:1},i.math.Long.prototype.negate=function(){return this.equals(i.math.Long.MIN_VALUE)?i.math.Long.MIN_VALUE:this.not().add(i.math.Long.ONE)},i.math.Long.prototype.add=function(H){var S0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,L9=0,Z4=0,i7=0,Wi=0;return Wi+=Z5+M9,i7+=Wi>>>16,Wi&=65535,i7+=m2+Z6,Z4+=i7>>>16,i7&=65535,Z4+=j0+x3,L9+=Z4>>>16,Z4&=65535,L9+=S0+N5,L9&=65535,i.math.Long.fromBits(i7<<16|Wi,L9<<16|Z4)},i.math.Long.prototype.subtract=function(H){return this.add(H.negate())},i.math.Long.prototype.multiply=function(H){if(this.isZero())return i.math.Long.ZERO;if(H.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return H.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(H.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().multiply(H.negate()):this.negate().multiply(H).negate();if(H.isNegative())return this.multiply(H.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&H.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*H.toNumber());var S0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,L9=0,Z4=0,i7=0,Wi=0;return Wi+=Z5*M9,i7+=Wi>>>16,Wi&=65535,i7+=m2*M9,Z4+=i7>>>16,i7&=65535,i7+=Z5*Z6,Z4+=i7>>>16,i7&=65535,Z4+=j0*M9,L9+=Z4>>>16,Z4&=65535,Z4+=m2*Z6,L9+=Z4>>>16,Z4&=65535,Z4+=Z5*x3,L9+=Z4>>>16,Z4&=65535,L9+=S0*M9+j0*Z6+m2*x3+Z5*N5,L9&=65535,i.math.Long.fromBits(i7<<16|Wi,L9<<16|Z4)},i.math.Long.prototype.div=function(H){if(H.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(H.equals(i.math.Long.ONE)||H.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var S0=this.shiftRight(1),j0=S0.div(H).shiftLeft(1);if(j0.equals(i.math.Long.ZERO))return H.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(H.multiply(j0)),m2=j0.add(N5.div(H));return m2}else if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().div(H.negate()):this.negate().div(H).negate();if(H.isNegative())return this.div(H.negate()).negate();for(var Z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(H);){for(var j0=Math.max(1,Math.floor(N5.toNumber()/H.toNumber())),x3=Math.ceil(Math.log(j0)/Math.LN2),Z6=x3<=48?1:Math.pow(2,x3-48),M9=i.math.Long.fromNumber(j0),L9=M9.multiply(H);L9.isNegative()||L9.greaterThan(N5);)j0-=Z6,M9=i.math.Long.fromNumber(j0),L9=M9.multiply(H);M9.isZero()&&(M9=i.math.Long.ONE),Z5=Z5.add(M9),N5=N5.subtract(L9)}return Z5},i.math.Long.prototype.modulo=function(H){return this.subtract(this.div(H).multiply(H))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(H){return i.math.Long.fromBits(this.low_&H.low_,this.high_&H.high_)},i.math.Long.prototype.or=function(H){return i.math.Long.fromBits(this.low_|H.low_,this.high_|H.high_)},i.math.Long.prototype.xor=function(H){return i.math.Long.fromBits(this.low_^H.low_,this.high_^H.high_)},i.math.Long.prototype.shiftLeft=function(H){if(H&=63,H==0)return this;var S0=this.low_;if(H<32){var j0=this.high_;return i.math.Long.fromBits(S0<>>32-H)}else return i.math.Long.fromBits(0,S0<>>H|S0<<32-H,S0>>H)}else return i.math.Long.fromBits(S0>>H-32,S0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(H){if(H&=63,H==0)return this;var S0=this.high_;if(H<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>H|S0<<32-H,S0>>>H)}else return H==32?i.math.Long.fromBits(S0,0):i.math.Long.fromBits(S0>>>H-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(H,S0,j0){H!=null&&(typeof H=="number"?this.fromNumber(H,S0,j0):S0==null&&typeof H!="string"?this.fromString(H,256):this.fromString(H,S0))}function W0(){return new e(null)}function t1(H,S0,j0,m2,Z5,N5){for(;--N5>=0;){var x3=S0*this[H++]+j0[m2]+Z5;Z5=Math.floor(x3/67108864),j0[m2++]=x3&67108863}return Z5}function b2(H,S0,j0,m2,Z5,N5){for(var x3=S0&32767,Z6=S0>>15;--N5>=0;){var M9=this[H]&32767,L9=this[H++]>>15,Z4=Z6*M9+L9*x3;M9=x3*M9+((Z4&32767)<<15)+j0[m2]+(Z5&1073741823),Z5=(M9>>>30)+(Z4>>>15)+Z6*L9+(Z5>>>30),j0[m2++]=M9&1073741823}return Z5}function s(H,S0,j0,m2,Z5,N5){for(var x3=S0&16383,Z6=S0>>14;--N5>=0;){var M9=this[H]&16383,L9=this[H++]>>14,Z4=Z6*M9+L9*x3;M9=x3*M9+((Z4&16383)<<14)+j0[m2]+Z5,Z5=(M9>>28)+(Z4>>14)+Z6*L9,j0[m2++]=M9&268435455}return Z5}P&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):P&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--S0)H[S0]=this[S0];H.t=this.t,H.s=this.s}function w8(H){this.t=1,this.s=H<0?-1:0,H>0?this[0]=H:H<-1?this[0]=H+DV:this.t=0}function K9(H){var S0=W0();return S0.fromInt(H),S0}function h8(H,S0){var j0;if(S0==16)j0=4;else if(S0==8)j0=3;else if(S0==256)j0=8;else if(S0==2)j0=1;else if(S0==32)j0=5;else if(S0==4)j0=2;else{this.fromRadix(H,S0);return}this.t=0,this.s=0;for(var m2=H.length,Z5=!1,N5=0;--m2>=0;){var x3=j0==8?H[m2]&255:O9(H,m2);if(x3<0){H.charAt(m2)=="-"&&(Z5=!0);continue}Z5=!1,N5==0?this[this.t++]=x3:N5+j0>this.DB?(this[this.t-1]|=(x3&(1<>this.DB-N5):this[this.t-1]|=x3<=this.DB&&(N5-=this.DB)}j0==8&&H[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==H;)--this.t}function Ui(H){if(this.s<0)return"-"+this.negate().toString(H);var S0;if(H==16)S0=4;else if(H==8)S0=3;else if(H==2)S0=1;else if(H==32)S0=5;else if(H==4)S0=2;else return this.toRadix(H);var j0=(1<0)for(Z6>Z6)>0&&(Z5=!0,N5=x9(m2));x3>=0;)Z6>(Z6+=this.DB-S0)):(m2=this[x3]>>(Z6-=S0)&j0,Z6<=0&&(Z6+=this.DB,--x3)),m2>0&&(Z5=!0),Z5&&(N5+=x9(m2));return Z5?N5:"0"}function Pi(){var H=W0();return e.ZERO.subTo(this,H),H}function Er(){return this.s<0?this.negate():this}function z$(H){var S0=this.s-H.s;if(S0!=0)return S0;var j0=this.t;if(S0=j0-H.t,S0!=0)return this.s<0?-S0:S0;for(;--j0>=0;)if((S0=this[j0]-H[j0])!=0)return S0;return 0}function zm(H){var S0=1,j0;return(j0=H>>>16)!=0&&(H=j0,S0+=16),(j0=H>>8)!=0&&(H=j0,S0+=8),(j0=H>>4)!=0&&(H=j0,S0+=4),(j0=H>>2)!=0&&(H=j0,S0+=2),(j0=H>>1)!=0&&(H=j0,S0+=1),S0}function wB(){return this.t<=0?0:this.DB*(this.t-1)+zm(this[this.t-1]^this.s&this.DM)}function vB(H,S0){var j0;for(j0=this.t-1;j0>=0;--j0)S0[j0+H]=this[j0];for(j0=H-1;j0>=0;--j0)S0[j0]=0;S0.t=this.t+H,S0.s=this.s}function kB(H,S0){for(var j0=H;j0=0;--Z6)S0[Z6+N5+1]=this[Z6]>>m2|x3,x3=(this[Z6]&Z5)<=0;--Z6)S0[Z6]=0;S0[N5]=x3,S0.t=this.t+N5+1,S0.s=this.s,S0.clamp()}function bB(H,S0){S0.s=this.s;var j0=Math.floor(H/this.DB);if(j0>=this.t){S0.t=0;return}var m2=H%this.DB,Z5=this.DB-m2,N5=(1<>m2;for(var x3=j0+1;x3>m2;m2>0&&(S0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2-=H.s}S0.s=m2<0?-1:0,m2<-1?S0[j0++]=this.DV+m2:m2>0&&(S0[j0++]=m2),S0.t=j0,S0.clamp()}function DB(H,S0){var j0=this.abs(),m2=H.abs(),Z5=j0.t;for(S0.t=Z5+m2.t;--Z5>=0;)S0[Z5]=0;for(Z5=0;Z5=0;)H[j0]=0;for(j0=0;j0=S0.DV&&(H[j0+S0.t]-=S0.DV,H[j0+S0.t+1]=1)}H.t>0&&(H[H.t-1]+=S0.am(j0,S0[j0],H,2*j0,0,1)),H.s=0,H.clamp()}function xB(H,S0,j0){var m2=H.abs();if(!(m2.t<=0)){var Z5=this.abs();if(Z5.t0?(m2.lShiftTo(M9,N5),Z5.lShiftTo(M9,j0)):(m2.copyTo(N5),Z5.copyTo(j0));var L9=N5.t,Z4=N5[L9-1];if(Z4!=0){var i7=Z4*(1<1?N5[L9-2]>>this.F2:0),Wi=this.FV/i7,HB=(1<=0&&(j0[j0.t++]=1,j0.subTo(N7,j0)),e.ONE.dlShiftTo(L9,N7),N7.subTo(N5,N5);N5.t=0;){var Zm=j0[--jA]==Z4?this.DM:Math.floor(j0[jA]*Wi+(j0[jA-1]+YB)*HB);if((j0[jA]+=N5.am(0,Zm,j0,xh,0,L9))0&&j0.rShiftTo(M9,j0),x3<0&&e.ZERO.subTo(j0,j0)}}}function LB(H){var S0=W0();return this.abs().divRemTo(H,null,S0),this.s<0&&S0.compareTo(e.ZERO)>0&&H.subTo(S0,S0),S0}function zA(H){this.m=H}function RB(H){return H.s<0||H.compareTo(this.m)>=0?H.mod(this.m):H}function FB(H){return H}function MB(H){H.divRemTo(this.m,null,H)}function TB(H,S0,j0){H.multiplyTo(S0,j0),this.reduce(j0)}function ZA(H,S0){H.squareTo(S0),this.reduce(S0)}zA.prototype.convert=RB,zA.prototype.revert=FB,zA.prototype.reduce=MB,zA.prototype.mulTo=TB,zA.prototype.sqrTo=ZA;function Zi(){if(this.t<1)return 0;var H=this[0];if(!(H&1))return 0;var S0=H&3;return S0=S0*(2-(H&15)*S0)&15,S0=S0*(2-(H&255)*S0)&255,S0=S0*(2-((H&65535)*S0&65535))&65535,S0=S0*(2-H*S0%this.DV)%this.DV,S0>0?this.DV-S0:-S0}function Un(H){this.m=H,this.mp=H.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(S0,S0),S0}function WA(H){var S0=W0();return H.copyTo(S0),this.reduce(S0),S0}function Pn(H){for(;H.t<=this.mt2;)H[H.t++]=0;for(var S0=0;S0>15)*this.mpl&this.um)<<15)&H.DM;for(j0=S0+this.m.t,H[j0]+=this.m.am(0,m2,H,S0,0,this.m.t);H[j0]>=H.DV;)H[j0]-=H.DV,H[++j0]++}H.clamp(),H.drShiftTo(this.m.t,H),H.compareTo(this.m)>=0&&H.subTo(this.m,H)}function NB(H,S0){H.squareTo(S0),this.reduce(S0)}function GB(H,S0,j0){H.multiplyTo(S0,j0),this.reduce(j0)}Un.prototype.convert=_h,Un.prototype.revert=WA,Un.prototype.reduce=Pn,Un.prototype.mulTo=GB,Un.prototype.sqrTo=NB;function UB(){return(this.t>0?this[0]&1:this.s)==0}function Zs(H,S0){if(H>4294967295||H<1)return e.ONE;var j0=W0(),m2=W0(),Z5=S0.convert(this),N5=zm(H)-1;for(Z5.copyTo(j0);--N5>=0;)if(S0.sqrTo(j0,m2),(H&1<0)S0.mulTo(m2,Z5,j0);else{var x3=j0;j0=m2,m2=x3}return S0.revert(j0)}function PB(H,S0){var j0;return H<256||S0.isEven()?j0=new zA(S0):j0=new Un(S0),this.exp(H,j0)}e.prototype.copyTo=I4,e.prototype.fromInt=w8,e.prototype.fromString=h8,e.prototype.clamp=z4,e.prototype.dlShiftTo=vB,e.prototype.drShiftTo=kB,e.prototype.lShiftTo=SB,e.prototype.rShiftTo=bB,e.prototype.subTo=H6,e.prototype.multiplyTo=DB,e.prototype.squareTo=_B,e.prototype.divRemTo=xB,e.prototype.invDigit=Zi,e.prototype.isEven=UB,e.prototype.exp=Zs,e.prototype.toString=Ui,e.prototype.negate=Pi,e.prototype.abs=Er,e.prototype.compareTo=z$,e.prototype.bitLength=wB,e.prototype.mod=LB,e.prototype.modPowInt=PB,e.ZERO=K9(0),e.ONE=K9(1);function On(H,S0){this.fromInt(0),S0==null&&(S0=10);for(var j0=this.chunkSize(S0),m2=Math.pow(S0,j0),Z5=!1,N5=0,x3=0,Z6=0;Z6=j0&&(this.dMultiply(m2),this.dAddOffset(x3,0),N5=0,x3=0)}N5>0&&(this.dMultiply(Math.pow(S0,N5)),this.dAddOffset(x3,0)),Z5&&e.ZERO.subTo(this,this)}function Wr(H){return Math.floor(Math.LN2*this.DB/Math.log(H))}function op(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function r5(H){this[this.t]=this.am(0,H-1,this,0,0,this.t),++this.t,this.clamp()}function OB(H,S0){if(H!=0){for(;this.t<=S0;)this[this.t++]=0;for(this[S0]+=H;this[S0]>=this.DV;)this[S0]-=this.DV,++S0>=this.t&&(this[this.t++]=0),++this[S0]}}function Ws(H){if(H==null&&(H=10),this.signum()==0||H<2||H>36)return"0";var S0=this.chunkSize(H),j0=Math.pow(H,S0),m2=K9(j0),Z5=W0(),N5=W0(),x3="";for(this.divRemTo(m2,Z5,N5);Z5.signum()>0;)x3=(j0+N5.intValue()).toString(H).substr(1)+x3,Z5.divRemTo(m2,Z5,N5);return N5.intValue().toString(H)+x3}function jr(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2+=H.s}S0.s=m2<0?-1:0,m2>0?S0[j0++]=m2:m2<-1&&(S0[j0++]=this.DV+m2),S0.t=j0,S0.clamp()}e.prototype.fromRadix=On,e.prototype.chunkSize=Wr,e.prototype.signum=op,e.prototype.dMultiply=r5,e.prototype.dAddOffset=OB,e.prototype.toRadix=Ws,e.prototype.intValue=jr,e.prototype.addTo=qB;var ai={abs:function(H,S0){var j0=new i.math.Long(H,S0),m2;j0.isNegative()?m2=j0.negate():m2=j0,_9[y8>>2]=m2.low_,_9[y8+4>>2]=m2.high_},ensureTemps:function(){ai.ensuredTemps||(ai.ensuredTemps=!0,ai.two32=new e,ai.two32.fromString("4294967296",10),ai.two64=new e,ai.two64.fromString("18446744073709551616",10),ai.temp1=new e,ai.temp2=new e)},lh2bignum:function(H,S0){var j0=new e;j0.fromString(S0.toString(),10);var m2=new e;j0.multiplyTo(ai.two32,m2);var Z5=new e;Z5.fromString(H.toString(),10);var N5=new e;return Z5.addTo(m2,N5),N5},stringify:function(H,S0,j0){var m2=new i.math.Long(H,S0).toString();if(j0&&m2[0]=="-"){ai.ensureTemps();var Z5=new e;Z5.fromString(m2,10),m2=new e,ai.two64.addTo(Z5,m2),m2=m2.toString(10)}return m2},fromString:function(H,S0,j0,m2,Z5){ai.ensureTemps();var N5=new e;N5.fromString(H,S0);var x3=new e;x3.fromString(j0,10);var Z6=new e;if(Z6.fromString(m2,10),Z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(ai.two64,M9),N5=M9}var L9=!1;N5.compareTo(x3)<0?(N5=x3,L9=!0):N5.compareTo(Z6)>0&&(N5=Z6,L9=!0);var Z4=i.math.Long.fromString(N5.toString());if(_9[y8>>2]=Z4.low_,_9[y8+4>>2]=Z4.high_,L9)throw"range error"}};return ai}();function KA(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}KA.prototype=new Error,KA.prototype.constructor=KA;var pB,Km=null,vk=!1;Ni=function i(){o.calledRun||sp(),o.calledRun||(Ni=i)},o.callMain=o.callMain=function($){K4(pt==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),K4(Om.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Ys();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(Zr(o.thisProgram),"i8",YA)];d();for(var e=0;e0||(Sh(),pt>0)||o.calledRun)return;function $(){o.calledRun||(o.calledRun=!0,!k0&&(Ys(),gB(),c&&Km!==null&&o.printErr("pre-main prep time: "+(Date.now()-Km)+" ms"),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o._main&&yB&&o.callMain(i),O$()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),$()},1)):$()}o.run=o.run=sp;function BB(i,$){if(!($&&o.noExitRuntime))throw o.noExitRuntime||(k0=!0,S1=i,yi=pB,qm(),o.onExit&&o.onExit(i)),f?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):r0&&typeof quit=="function"&&quit(i),new KA(i)}o.exit=o.exit=BB;var QB=[];function zs(i){i!==void 0?(o.print(i),o.printErr(i),i=JSON.stringify(i)):i="",k0=!0,S1=1;var $=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Gm()+$;throw QB&&QB.forEach(function(d){h=d(h,i)}),h}if(o.abort=o.abort=zs,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var yB=!0;o.noInitialRun&&(yB=!1),sp();var kk=o._encoder_init,Sk=o._encoder_clear,bk=o._encoder_analysis_buffer,Dk=o._encoder_process,_k=o._encoder_data_len,xk=o._encoder_transfer_data,wi=o.HEAPU8,J$=o.HEAPU32,V$=o.HEAPF32,K$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=kk(this.numChannels,i,h)};K$.prototype.encode=function(i){for(var $=i[0].length,h=bk(this.encoder,$)>>2,d=0;d>2);this.process($)},K$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},K$.prototype.cancel=K$.prototype.cleanup=function(){Sk(this.encoder),delete this.encoder,delete this.oggBuffers},K$.prototype.process=function(i){Dk(this.encoder,i);var $=_k(this.encoder);if($>0){var h=xk(this.encoder);this.oggBuffers.push(new Uint8Array(wi.subarray(h,h+$)))}},KC.OggVorbisEncoder=K$}};typeof window<"u"&&window===self&&KC.init();function Rv(o,r,l,c){let f=new KC.OggVorbisEncoder(l,r,c);f.encode(o);let v=f.finish(),r0=v.reduce((A0,f1)=>A0+f1.length,0),m0=new Uint8Array(r0),f0=0;for(let A0 of v)m0.set(A0,f0),f0+=A0.length;return m0}var zC=class{constructor(r,l){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",f=>{f.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async f=>{f.preventDefault(),c.classList.add("hidden");let v=f.dataTransfer.files[0];if(!v)return;let r0=v.name,m0=await v.arrayBuffer(),f0=m0.slice(0,4),A0=new TextDecoder;if(A0.decode(f0)==="RIFF"){let f1=m0.slice(8,12);if(A0.decode(f1)==="RMID"){r({buf:m0,name:r0});return}l(m0);return}r({buf:m0,name:r0})})}};document.body.classList.add("load");var Fv=!1,Hr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(r,l,c){this.localeManager=c,this.context=r,this.isExporting=!1,this.compressionFunc=Rv;let f;this.ready=new Promise(v=>f=v),this.initializeContext(r,l).then(()=>{f()})}saveBlob(r,l){let c=URL.createObjectURL(r),f=document.createElement("a");f.href=c,f.download=l,f.click(),K5(f)}async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let L0 of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(L0,"innerText",L0.getAttribute("translate-path"));for(let L0 of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(L0,"innerText",L0.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(L0,"title",L0.getAttribute("translate-path-title")+".description");let f=Fv?"synthetizer/worklet_system/worklet_processor.js":PC;Fv&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let v=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";r.audioWorklet&&await r.audioWorklet.addModule(new URL(v+f,import.meta.url)),this.soundFont=l;let r0=new URL(v+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),f0=await(await fetch(r0)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(f0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new lh(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",L0=>{this.sfError&&this.sfError(L0)}),await this.synth.isReady,this.midHandler=new LC,this.wml=new RC(this.synth),this.keyboard=new wm(this.channelColors,this.synth);let A0=document.getElementById("note_canvas");A0.width=window.innerWidth*window.devicePixelRatio,A0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new Li(this.channelColors,this.synth,A0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let f1=!1,R=()=>{if(A0.width=window.innerWidth*window.devicePixelRatio,A0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),hr){if(window.innerWidth/window.innerHeight>1){if(!f1){let L0=document.getElementById("title_wrapper"),k0=document.getElementById("settings_div");f1=!0,L0.parentElement.insertBefore(k0,L0)}}else if(f1){let L0=document.getElementById("title_wrapper"),k0=document.getElementById("settings_div");f1=!1,L0.parentElement.insertBefore(L0,k0)}}this.renderer.render(!1,!0)};R(),window.addEventListener("resize",R.bind(this)),window.addEventListener("orientationchange",R.bind(this)),hr&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new qr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new GC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ts(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Qi(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new zC(L0=>{this.play([{binary:L0.buf,altName:L0.name}]),L0.name.length>20&&(L0.name=L0.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=L0.name},L0=>{this.reloadSf(L0)}),document.addEventListener("keydown",L0=>{switch(L0.key.toLowerCase()){case e7.cinematicMode:this.seq&&this.seq.pause();let k0=window.prompt(`Cinematic mode activated! Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),k0===null)return;A0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${k0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case e7.videoMode:this.seq&&this.seq.pause();let S1=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(S1===null)return;let e2=document.createElement("video");e2.src=S1,e2.classList.add("secret_video"),A0.parentElement.appendChild(e2),e2.play(),window.video=e2,this.seq&&(e2.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),e2.play(),this.seq.currentTime=0),document.addEventListener("keydown",y1=>{y1.key===" "&&(e2.paused?e2.play():e2.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);Ee(new V3(r),4).toLowerCase()==="dls "&&mt(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{R8(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{R8(c.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){if(this.synth){if(this.seq){this.seq.loadNewSongList(r),this.seq.play(!0);return}this.seq=new bC(r,this.synth),this.seq.onError=l=>{document.getElementById("title").textContent=l},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}downloadDesfont(){let r=Ch(this.soundFont),l=r.write(),c=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${r.soundFontInfo.INAM}.sf2`)}};qr.prototype.exportSong=xv;qr.prototype._exportAudioData=rv;qr.prototype._doExportAudioData=iv;qr.prototype.exportMidi=nv;qr.prototype._exportSoundfont=_v;qr.prototype._exportRMIDI=Lv;var gD=44100;jQ(!0,!0,!0,!0);var Hr=document.getElementById("title"),Mv=document.getElementById("progress_bar"),b$=document.getElementById("midi_file_input");b$.value="";b$.focus();var Xp=document.getElementById("export_button");Xp.style.display="none";var tB=!1;window.loadedSoundfonts=[];var hD=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=hD;async function uD(o,r){let l=await fetch(`${o}`);if(!l.ok)throw Hr.innerText="Error downloading soundfont!",l;let c=l.headers.get("content-length"),f=await(await l.body).getReader(),w=!1,n0;try{n0=new Uint8Array(parseInt(c))}catch(f0){let A0="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(A0=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),mt("Warning",[{type:"text",textContent:A0}]),f0}let m0=0;do{let f0=await f.read();f0.value&&(n0.set(f0.value,m0),m0+=f0.value.length),w=f0.done;let A0=Math.round(m0/c*100);r(A0)}while(!w);return n0.buffer}async function eB(o){if(!tB){setTimeout(()=>eB(o),100);return}await manager.ready;let r;o[0].name.length>20?r=o[0].name.substring(0,21)+"...":r=o[0].name,o.length>1&&(r+=` and ${o.length-1} others`),document.getElementById("file_upload").innerText=r,document.getElementById("file_upload").title=o[0].name;let l=[];for(let c of o)l.push({binary:await c.arrayBuffer(),altName:c.name});Hr.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(l):manager.play(l),Xp.style.display="flex",Xp.onclick=window.manager.exportSong.bind(window.manager)}async function Tv(o){async function r(){if(!window.audioContextMain){Hr.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 qr(audioContextMain,soundFontParser,Nv),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Hr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),tB=!0}if(window.loadedSoundfonts.find(c=>c.name===o)){window.soundFontParser=window.loadedSoundfonts.find(c=>c.name===o).sf,await r();return}Hr.innerText="Downloading soundfont...";let l=await uD(o,c=>Mv.style.width=`${c/100*Hr.offsetWidth}px`);Hr.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=l,Mv.style.width="0",window.loadedSoundfonts.push({name:o,sf:window.soundFontParser}),r()}),Hr.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let o=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new o({sampleRate:gD}),window.soundFontParser&&(window.manager=new qr(audioContextMain,soundFontParser,Nv),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Hr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),tB=!0)}document.body.onclick=null};var jp=[],Nv=new UC(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async o=>{if(!o.ok)throw Hr.innerText="Error fetching soundfonts!",o.statusText;let r=document.getElementById("sf_selector");jp=JSON.parse(await o.text());for(let l of jp){let c=document.createElement("option");c.value=l.name;let f=l.name;f.length>29&&(f=f.substring(0,30)+"..."),c.innerText=f,r.appendChild(c)}r.onchange=()=>{r.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(r.value)}`),window.manager.seq&&window.manager.seq.pause(),Tv(r.value),window.manager.seq&&(Hr.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Tv(jp[0].name),b$.files[0]&&await eB(b$.files),b$.onchange=async()=>{b$.files[0]&&await eB(b$.files)}});function fD(o){fetch("/savesettings",{method:"POST",body:JSON.stringify(o),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=fD;window.savedSettings=new Promise(o=>{fetch("/getsettings").then(r=>r.json().then(l=>{o(l)}))});window.isLocalEdition=!0; +Note: the video will be available in console as 'video'`,"");if(S1===null)return;let e2=document.createElement("video");e2.src=S1,e2.classList.add("secret_video"),A0.parentElement.appendChild(e2),e2.play(),window.video=e2,this.seq&&(e2.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),e2.play(),this.seq.currentTime=0),document.addEventListener("keydown",y1=>{y1.key===" "&&(e2.paused?e2.play():e2.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);Ee(new V3(r),4).toLowerCase()==="dls "&&mt(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{$t(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{$t(c.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){if(this.synth){if(this.seq){this.seq.loadNewSongList(r),this.seq.play(!0);return}this.seq=new bC(r,this.synth),this.seq.onError=l=>{document.getElementById("title").textContent=l},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}downloadDesfont(){let r=Ch(this.soundFont),l=r.write(),c=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${r.soundFontInfo.INAM}.sf2`)}};Hr.prototype.exportSong=xv;Hr.prototype._exportAudioData=rv;Hr.prototype._doExportAudioData=iv;Hr.prototype.exportMidi=nv;Hr.prototype._exportSoundfont=_v;Hr.prototype._exportRMIDI=Lv;var gD=44100;jQ(!0,!0,!0,!0);var Yr=document.getElementById("title"),Mv=document.getElementById("progress_bar"),b$=document.getElementById("midi_file_input");b$.value="";b$.focus();var Xp=document.getElementById("export_button");Xp.style.display="none";var tB=!1;window.loadedSoundfonts=[];var hD=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=hD;async function uD(o,r){let l=await fetch(`${o}`);if(!l.ok)throw Yr.innerText="Error downloading soundfont!",l;let c=l.headers.get("content-length"),f=await(await l.body).getReader(),v=!1,r0;try{r0=new Uint8Array(parseInt(c))}catch(f0){let A0="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(A0=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),mt("Warning",[{type:"text",textContent:A0}]),f0}let m0=0;do{let f0=await f.read();f0.value&&(r0.set(f0.value,m0),m0+=f0.value.length),v=f0.done;let A0=Math.round(m0/c*100);r(A0)}while(!v);return r0.buffer}async function eB(o){if(!tB){setTimeout(()=>eB(o),100);return}await manager.ready;let r;o[0].name.length>20?r=o[0].name.substring(0,21)+"...":r=o[0].name,o.length>1&&(r+=` and ${o.length-1} others`),document.getElementById("file_upload").innerText=r,document.getElementById("file_upload").title=o[0].name;let l=[];for(let c of o)l.push({binary:await c.arrayBuffer(),altName:c.name});Yr.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(l):manager.play(l),Xp.style.display="flex",Xp.onclick=window.manager.exportSong.bind(window.manager)}async function Tv(o){async function r(){if(!window.audioContextMain){Yr.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 Hr(audioContextMain,soundFontParser,Nv),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Yr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),tB=!0}if(window.loadedSoundfonts.find(c=>c.name===o)){window.soundFontParser=window.loadedSoundfonts.find(c=>c.name===o).sf,await r();return}Yr.innerText="Downloading soundfont...";let l=await uD(o,c=>Mv.style.width=`${c/100*Yr.offsetWidth}px`);Yr.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=l,Mv.style.width="0",window.loadedSoundfonts.push({name:o,sf:window.soundFontParser}),r()}),Yr.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let o=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new o({sampleRate:gD}),window.soundFontParser&&(window.manager=new Hr(audioContextMain,soundFontParser,Nv),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Yr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),tB=!0)}document.body.onclick=null};var jp=[],Nv=new UC(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async o=>{if(!o.ok)throw Yr.innerText="Error fetching soundfonts!",o.statusText;let r=document.getElementById("sf_selector");jp=JSON.parse(await o.text());for(let l of jp){let c=document.createElement("option");c.value=l.name;let f=l.name;f.length>29&&(f=f.substring(0,30)+"..."),c.innerText=f,r.appendChild(c)}r.onchange=()=>{r.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(r.value)}`),window.manager.seq&&window.manager.seq.pause(),Tv(r.value),window.manager.seq&&(Yr.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Tv(jp[0].name),b$.files[0]&&await eB(b$.files),b$.onchange=async()=>{b$.files[0]&&await eB(b$.files)}});function fD(o){fetch("/savesettings",{method:"POST",body:JSON.stringify(o),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=fD;window.savedSettings=new Promise(o=>{fetch("/getsettings").then(r=>r.json().then(l=>{o(l)}))});window.isLocalEdition=!0;